#!/usr/bin/env python
# -*- coding: utf-8 -*-
import serial
import socket
import threading
from time import sleep
import json
import subprocess
UDP_BROCAST_HOST = '192.168.1.255' # UDP广播发送地址
UDP_BROCAST_PORT = 1235 # UDP广播发送端口
RECV_PORT = 1234 # UDP接收端口
UDP_ADDR = (UDP_BROCAST_HOST, UDP_BROCAST_PORT)
# 打开串口
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=0.5)
# 门磁的地址码
door_sensor_addr = "0x5555"
# WIFI灯带的MAC地址作为设备的唯一ID
wifi_light_id = "5c:cf:7f:d5:06:d3"
# UDP 收发器
class UdpTransceiver(threading.Thread):
run = False
def __init__(self,addr,port):
threading.Thread.__init__(self)
self.socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#self.socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
self.socket.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1)
address = (addr, port)
DIY个人智能家庭网关——python篇之门磁触发后自动点亮WIFI灯带
最新推荐文章于 2021-05-11 08:21:30 发布
该博客介绍了如何通过Python脚本来实现一个功能:当门磁传感器被触发时,自动通过UDP广播向WIFI灯带发送指令,使其在10秒内从熄灭渐变到80%的亮度。文中详细展示了如何读取串口数据,解析门磁传感器地址,并构造及发送控制灯带亮度的JSON命令。
摘要由CSDN通过智能技术生成