Датчики TUYA: различия между версиями
Материал из MajorDoMo инфо
Алексей (обсуждение | вклад) (Новая страница: «Category:Датчики Bluetooth Temp & Humidity Sensor, Model: THB2, BTH01 слева|BTH01 датчик температуры слева https://github.com/pvvx/THB2/blob/master/README.md Данная прошивка позволяет отвязать датчик от облака. Через скрипт на Python можно забирать данные. <pre> from bluepy.btle import Scanner,...») |
Алексей (обсуждение | вклад) м (Алексей переименовал страницу Категория:Датчики в Датчики TUYA) |
(нет различий)
|
Текущая версия от 20:45, 22 января 2024
Bluetooth Temp & Humidity Sensor, Model: THB2, BTH01
https://github.com/pvvx/THB2/blob/master/README.md
Данная прошивка позволяет отвязать датчик от облака.
Через скрипт на Python можно забирать данные.
from bluepy.btle import Scanner, DefaultDelegate, UUID, Peripheral import time from struct import unpack import json import requests class ScanDelegate(DefaultDelegate): def __init__(self): DefaultDelegate.__init__(self) def handleDiscovery(self, dev, isNewDev, isNewData): if isNewDev: print ("Discovered device", dev.addr) elif isNewData: print ("Received new data from", dev.addr) while True: scanner = Scanner() devices = scanner.scan(5.0) for dev in devices: print ("Device %s (%s), RSSI=%d dB" % (dev.addr, dev.addrType, dev.rssi)) CurrentDevAddr = dev.addr for (adtype, desc, value) in dev.getScanData(): if 'd2fc' in value: print (" %s = %s = %s" % (desc, value, CurrentDevAddr)) data = bytes(bytearray.fromhex(value)) xvalue = data[8:10] (temp,) = unpack("<h", xvalue) temp=str(temp / 100) xvalue = data[11:13] (humi,) = unpack("<h", xvalue) humi=str(humi / 100) bat=str(data[6]) data='&temp='+temp+'&humi='+humi+'&bat='+bat url = 'http://IP/objects/?script=TUYA'+data response=requests.get(url) print(response.url) print(response.text) print(response.status_code)
Скрипт можно запускать из самого MJDM или оформить как сервис