DIY个人智能家庭网关——python篇之门磁触发后自动点亮WIFI灯带

该博客介绍了如何通过Python脚本来实现一个功能:当门磁传感器被触发时,自动通过UDP广播向WIFI灯带发送指令,使其在10秒内从熄灭渐变到80%的亮度。文中详细展示了如何读取串口数据,解析门磁传感器地址,并构造及发送控制灯带亮度的JSON命令。
摘要由CSDN通过智能技术生成
#!/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)   
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值