DIY個人知能ホームゲートウェイ——python編のUSBシリアルポートを読み取り、ゲート磁気警報情報を取得する


433 MワイヤレスデコーダのUSBシリアルポートをルータのUSBポートに挿入すると、デフォルトではttyUSB 0シリアルポートデバイスが現れ、pythonはシリアルポートデータコードを以下のように読み取る.
#!/usr/bin/env python
# -*- coding: utf-8 -*- 
import serial  
from time import sleep  
  
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=0.5)   
  
print ser.port  
print ser.baudrate  
  
def recv(serial):    
  while True:    
    data =serial.read(64)    
    if data == '':    
      continue  
    else:  
      break  
    sleep(0.02)   
  return data   
  
while True:    
  data =recv(ser)   
  if data != '':   
    print data  

運転後、433 M無線ゲート磁気をトリガし、出力結果は以下の通りである.
root@OpenWrt:/tmp# ./serialread.py 
/dev/ttyUSB0
9600
{"type":"trigger", "addr":"0x5555","data":"0xc0"}