继电器Relay:ZZR08

继电器常识:

继电器有三个接线柱:常开(NO),常闭(NC),接地(C)

如果连接的时间长,偶尔需要断电, 那么接NC 和 C, 这样继电器set on 时为断电。除此之外,继电器还可以控制按键,以及长按。

继电器接通时,该继电器的灯会亮。ZZR08有8个继电器,以一个字节表示其整体状态,以每位的位高(bit high)代表对应继电器的状态。例如:第一个继电器set on 时为00000001,set off 时该位为0;第二个set on 时为00000010(2), set off 时该位为0。以此类推.

怎样使用继电器:

1. Command “ls /dev/tty*”, you can find like this
/dev/ttyRelayCard

在接入继电器之前运行“ls /dev/tty*”, 接入之后再运行一次,多出来的就是继电器的标识。

2. Check the file /etc/udev/rules.d/ACS.rules. In this file, there have a code like

this:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60",
SYMLINK+="ttyRelayCard", MODE="0666", OWNER="buildbot"

If there don’t have this code, please add it by manual. And then re-plugin the

relay card’s USB cable.

    查看是否存在/etc/udev/rules.d/ACS.rules,如果不存在,则建立文件:touch ACS.rules,文件内容如上。

3. 查看权限:ls -l /dev/ttyRelayCard 结果crw-rw---- 1 root dialout.

    可以更改继电器权限:chmod a+rw /dev/ttyRelayCard. 这样坏处是,每次插拔继电器都要更改。

继电器的user是root, group是dialout。可以使当前用户从属于dialout用户组。查看user的用户组:groups user。更改user的附属用户组list: sudo usermod -G dialout,adm,...

4. python script

import serial
import sys, time
‘‘‘
ser = serial.Serial(
port=None,              # number of device, numbering starts at
# zero. if everything fails, the user
# can specify a device string, note
# that this isn‘t portable anymore
# if no port is specified an unconfigured
# an closed serial port object is created
baudrate=9600,          # baud rate
bytesize=EIGHTBITS,     # number of databits
parity=PARITY_NONE,     # enable parity checking
stopbits=STOPBITS_ONE,  # number of stopbits
timeout=None,           # set a timeout value, None for waiting forever
xonxoff=0,              # enable software flow control
rtscts=0,               # enable RTS/CTS flow control
interCharTimeout=None   # Inter-character timeout, None to disable
)
‘‘‘

device = sys.argv[1] # /dev/ttyRelayCard
ser = serial.Serial(device, 19200, serial.EIGHTBITS, serial.PARITY_NONE, serial.STOPBITS_TWO, None)
W = 0.05

def get_version():
    cmd = 90
    print "get the relay software version"
    ser.write(chr(cmd))
    time.sleep(W)
    a = ser.read(1)
    print ord(a)
    b = ser.read(1)
    print ord(b)
    time.sleep(1)

def set_relay_on(i):
    ‘‘‘ relay No is from 1 to 8‘‘‘
    cmd = 100 + i
    print "set relay %d on "%(i)
    ser.write(chr(cmd))
    time.sleep(W)
    ser.write(chr(91)) # get relay states
    a = ser.read(1)
    print ord(a)
    time.sleep(W)

def set_relay_off(i):
    ‘‘‘ relay No is from 1 to 8‘‘‘
    cmd = 110 + i
    print "set relay %d off"%(i)
    ser.write(chr(cmd))
    time.sleep(W)
    ser.write(chr(91))
    a = ser.read(1)
    print ord(a)
    time.sleep(W)

set_relay_off(1)
# set_relay_on(1)

附录

ZZR08 command Table

Command Action
Character DEC HEX  
  90 5A Get software version - returns 2 bytes, the first being the module
ID which is 8, followed by the software version
  91 5B Get relay states -
sends a single byte back to the controller, bit high
meaning the corresponding relay is powered
  92 5C Set relay states -
the next single byte will set all relays states, All on
= 255 (11111111) ,All off = 0
d 100 64 All relays on
e 101 65 Turn relay 1 on
f 102 66 Turn relay 2 on
g 103 67 Turn relay 3 on
h 104 68 Turn relay 4 on
i 105 69 Turn relay 5 on
j 106 6A Turn relay 6 on
k 107 6B Turn relay 7 on
l 108 6C Turn relay 8 on
n 110 6E All relays off
o 111 6F Turn relay 1 off
p 112 70 Turn relay 2 off
q 113 71 Turn relay 3 off
r 114 72 Turn relay 4 off
s 115 73 Turn relay 5 off
t 116 74 Turn relay 6 off
u 117 75 Turn relay 7 off
v 118 76 Turn relay 8 off

时间: 2024-12-10 19:52:45

继电器Relay:ZZR08的相关文章

计算机发展史_01

1. 早期相关技术: 摩尔斯码.萨缪尔摩尔斯.美国.Samuel Finley Breese Morse 1791.4.27 - 1872.4.2 布莱叶盲文.路易斯布莱叶Louis Braille.法国 2. 电子的运动形成早期微电的应用. 3. 继电器.relay 4. 二进制和十六进制是现在逻辑电路的基础.4个二进制位 = 1个十六进制位 5. 逻辑电路的基础理论:布尔发明的逻辑门 乔治.布尔.英格兰.George Boole.<思维规律研究>.合集.并集等... 6. 逻辑门:逻辑与,

[51单片机学习笔记THREE]----继电器

继电器是一种电控制器件,它是当输入量(如电压,电流,温度等)达到规定值时,使得被控量发生阶跃性变化的一种电器. 比如说:我们只需要用一个12V,0.1A的参数量去控制一个继电器,然后让继电器去充当几百万伏特,几百万安培的设备的开关. 无论在什么地方,如果想让控制者处于安全的环境中,就可以用继电器.让我们去接触安全的一边,让继电器去接触危险的一边,我们只要控制继电器的动作,继电器就会帮助我们连接我们不想亲自去碰的一些线路. 继电器的分类千千万,这里就不多说了. 最近因为好像没什么地方要用到,这里先

截取usb数据包,控制usb设备----Relay设备

在项目开发当中,我们需要一个usb转继电器的设备当开关控制无线发射设备,采购部采购时并未详细了解Relay设备的运行环境就买了一批设备,之后发现设备厂家只提供了windows库,而我们是要在linux中开发.无语中...... Relay设备虽然是无驱的,可我并不知道它的协议,怎么办呢? I have no choice ,but I have bus hound,LOL. 厂家提供了windows的管理工具,可以实现Relay的开断,因此我通过Bus Hound截取usb数据包,得到通信协议.

51单片机学习笔记【七】——蜂鸣器和继电器

一.蜂鸣器 1.蜂鸣器基础 蜂鸣器按驱动方式分为有源蜂鸣器和无源蜂鸣器,有源蜂鸣器内部带振荡器,接入一个低电平便会响:无源蜂鸣器不带振荡器,让它响要接500HZ~4.5KHZ之间的脉冲信号来驱动才会响.很实验采用的是无源蜂鸣器. 2.电路原理图 3.实验说明 本实验通过控制蜂鸣器分别在4KHZ和1KHZ频率下发声,实验接线为JP8接P1.5. 4.程序源代码 /************************************** > File Name: 蜂鸣器实验 > Author:

手机 蓝牙 控制 继电器 无线门锁 物联网 安卓源码 安卓开发 Android WIFI控制 详细注释测试稳定无bug

一.功能: 1.Android  WIFI连接与断开,保存连接IP及端口. 2.WIFI控制3个继电器 3.16进制发送指令,可以单条和多条发送,用逗号隔开. 4.16进制接收 如需特别功能可以找我定制(程序源码,定制专家 手机:18910620895 旺旺:chenhao0568  QQ:345139427). 二.源码如下: 登陆Login.java package com.example.eeeee; import java.io.InputStream; import java.io.O

驱动继电器实验

学生实验报告               课程名称:单片机原理与应用 专业班级:嵌入式14103班  __ 姓    名:_赵存档___________ 学    号:14160310317     2015--2016    学年第 1 学期     实验项目( 三 ) — 预习报告 项目 名称 驱动继电器实验 实验 目的 及 要求 目的:学会本次实验是如何进行实现的,以及对实验原理的理解. 要求:认真完成本实验的keil代码的编写,proteus电路仿真图的设计. 小组内独立完成实验项目内容

C# 调用继电器api usb_relay_device.dll

C# 调用继电器api usb_relay_device.dll 代码封装 usb_relay_device.dll 为C++编写 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; namespace USBRelayTest { public class UsbRelayDeviceHelper {

光耦继电器工作原理与参数详解

光耦继电器(Optronics Relay)属于固态继电器,一般电磁继电器靠电流通过线圈使铁芯变成有磁性的磁铁吸合衔铁,从而使相关的触点动作控制负载的通断,而光耦继电器没有触点,其工作原理与光耦有点类似,基本结构如下图的所示: 发光二极管用来向光电元件放射光线,光电元件接受光线并控制输出场效应管导通或截止.光耦继电器还有另一种可控硅整流管(SCR)输出,它的负载电流比场效应管更大,后者可达到数安培,而前者可达到几十安培. 相对于电磁继电器,光耦继电器由于没有触点引起的磨损,使用寿命是无限的,同时

基于树莓派(Raspberry Pi)平台的智能家居实现(一)----继电器模块,DHT11模块

前言:    ??其实做这个智能家居系统我还是因为学校的毕业设计,距离上篇文章发布已经过去了20多天了,之前想着只是做一个烟雾报警,然后通过Zabbix进行报警,但是通过这20多天的设计,我发现实现报警的功能其实除了邮件,还有短信.微信.甚至电话.但是因为各种原因,比如.....钱0.0,哈哈哈,因此我计划用企业微信进行一个报警,然后貌似通过普通微信进行一个简单的交互(interactive),还是不错的选择,并且做出来的效果也很棒.??最后想说的是:"基于树莓派(Raspberry Pi)平台