1 min read

树莓派笔记3:USB继电器重启路由器

环境:

树莓派3B+
Raspbian Stretch Lite
Python 3.5
lcus-1型USB继电器(CH340)

继电器相关:

打开:A0 01 01 A2
关闭:A0 01 00 A1

波特率:9600

接线(默认闭合):
入:COM   
出:NC

自定义USB设备符:

#修改上篇文章的文件
sudo nano /etc/udev/rules.d/70-huawei-3G-dongle.rules

粘贴以下代码,CTRL+X保存:

# add for HUAWEI E353 3G dongle
# usb_modeswitch from 12d1:14fe ==> 12d1:1506
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", ATTR{idProduct}=="14fe", MODE="0666", RUN+="/usr/sbin/usb_modeswitch -c /etc/usb_modeswitch.d/huawei.conf"

#ls /sys/class/tty/ttyUSB* -l
#修改后设备不能换端口
ACTION=="add",KERNELS=="1-1.1.3:1.0",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="my_serial0"
ACTION=="add",KERNELS=="1-1.3:1.0",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="my_modem0"

修改GAMMU配置文件:

#多个USB端口,就不能使用/dev/ttyUSB0了,改用/dev/my_modem0
sudo nano /etc/gammu-smsdrc
#/dev/ttyUSB0 改成 /dev/my_modem0

安装pip3:

sudo apt-get install python3-pip

安装serial模块:

sudo pip3 install pyserial

继电器控制脚本(python3.5+):

nano /sms/luyou_rest.py

粘贴以下代码,CTRL+X保存:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#路由器重启脚本 python3.5+

import serial
import time

ser=serial.Serial("/dev/my_serial0",9600,timeout=0.5) 
print(ser.isOpen())

#打开1秒(断开时间)
ser.write(bytes.fromhex('A0 01 01 A2'))
time.sleep(1)
ser.write(bytes.fromhex('A0 01 00 A1')) 
ser.close()

参考文章:

https://blog.csdn.net/weixin_38717571/article/details/83045040
https://blog.csdn.net/colcloud/article/details/42490867