Ejemplo n.º 1
0
import requests
import json
import os
import subprocess
import time
from socketio_client import SocketIO, LoggingNamespace

socketIO = SocketIO('localhost', 8000, LoggingNamespace)
reg = "TS:(\d+).*Drop:.*RX:(\d+).*TX:(\d+).*RSSI:(-*\d+.\d+).*CRC	Data:.*light: (\d+) temp: (\d+.\d*) humidity: (\d+)"
cmd = "gstdbuf -o0 ./pip_sense.v2 l l | gstdbuf -o0 grep TX:03408"

p = subprocess.Popen(cmd, bufsize=1, stdout=subprocess.PIPE, shell=True)
for line in iter(p.stdout.readline, ""):
    line = line.decode("utf-8")
    print(line)
    payload = []
    if line.startswith("TS"):
        data = {}
        match = re.search(reg, line).groups()
        data["ts"] = match[0]
        data["rx"] = match[1]
        data["tx"] = match[2]
        data["rssi"] = match[3]
        data["light"] = match[4]
        data["temp"] = match[5]
        data["hum"] = match[6]
        socketIO.emit('update', json.dumps(data))

p.stdout.close()
p.wait()