Dieser Artikel hat den gleichen Inhalt wie ** Artikel zum Omron-Umweltsensor (BAG-Typ) **. Dieser Artikel wurde auf dem preisgünstigen ** Inkbird IBS-TH1 mini ** ausgeführt.
Ein Hersteller in Shenzhen, China, der verschiedene IoT-Sensoren für den Heimgebrauch herstellt. Es ist attraktiv, dass es alle Funktionen wie Datenerfassung mit Smartphone-Anwendung und API zu einem niedrigen Preis (ca. 3000 Yen) bietet.
Dieses Mal ist es mit einem Temperatur- und Feuchtigkeitssensor ausgestattet Inkbird IBS-TH1 mini Anschließend wird die Protokollierung durchgeführt.
** ・ RaspberryPi ** (diesmal wird Pi3 Modell B verwendet) ** - Python-Ausführungsumgebung ** (Dieses Mal verwendet pyenv Python 3.7.6) ** ・ Inkbird IBS-TH1 mini **
** ① Überprüfen Sie die Bluetooth-Verbindung zwischen dem Raspberry Pi und dem Sensor ** ** ② Ermitteln Sie den Messwert des Sensors mit Python ** ** ③ Drücken Sie die GAS-API von Python, um Daten in die Tabelle zu schreiben ** ** ④ Regelmäßige Ausführung des Skripts **
Ich habe darauf hingewiesen. https://qiita.com/bon_dentetsu/items/87ed6c65640b5ba11e5c https://qiita.com/junara/items/f396c1c4c15c78cde89f
** - Sensoreinrichtung ** Legen Sie die mit dem Sensor gelieferte Knopfbatterie ein.
** - Nach Bluetooth-Geräten suchen ** Führen Sie den folgenden Befehl auf Raspberry Pi aus
sudo hcitool lescan
LE Scan ...
BB:DD:CC:AA:55:77 sps
Wenn der Name "sps" angezeigt wird, ist dies die MAC-Adresse des Umgebungssensors. Wenn es nicht herauskommt, überprüfen Sie den USB-Kontakt und die Bluetooth-Aktivierung von Raspberry Pi. Abhängig vom Modell und den Einstellungen lautet der Name möglicherweise nicht "sps" In diesem Fall können Sie die MAC-Adresse unter Inkbird Official App überprüfen.
bluepy ist eine Bibliothek für den Zugriff auf Bluetooth Low Energy (BLE) in Python (Klassendefinition).
** - Installation der erforderlichen Pakete ** Installieren Sie Folgendes
sudo install libglib2.0-dev
** ・ Installation von Bluepy **
Installieren Sie mit pip mit dem folgenden Befehl
pip install bluepy
** ・ Bluepy Autorität erteilen ** Sie müssen bluepy Sudo die Berechtigung zum Scannen erteilen.
Gehen Sie zu dem Ordner, in dem bluepy installiert ist, und
cd ~.pyenv/versions/3.7.6/lib/python3.7/site-packages/bluepy
Erteilen Sie Sudo die Erlaubnis, mit dem folgenden Befehl zu helfen
sudo setcap 'cap_net_raw,cap_net_admin+eip' bluepy-helper
Erstellen Sie das folgende Skript, um den Sensorwert abzurufen
inkbird_ibsth1_connect.py
from bluepy import btle
import struct
def get_ibsth1_mini_data(macaddr):
peripheral = btle.Peripheral(macaddr)
characteristic = peripheral.readCharacteristic(0x002d)
(temp, humid, unknown1, unknown2, unknown3) = struct.unpack('<hhBBB', characteristic)
sensorValue = {
'Temperature': temp / 100,
'Humidity': humid / 100,
'unknown1': unknown1,
'unknown2': unknown2,
'unknown3': unknown3,
}
return sensorValue
Dieser Sensor wird im Verbindungsmodus wie die USB-Version des Omron Environmental Sensor angeschlossen. Daten werden durch Kommunikation mit der Peripherieklasse von Bluepy erfasst.
Die erfassten Kenndaten sind ** ・ 1. und 2. Byte: Temperatur (0,01 ℃ Einheit) ** ** ・ 3.-4. Byte: Luftfeuchtigkeit (0,01% Einheit) ** Ich konnte es jedoch nicht herausfinden, selbst wenn ich den Inhalt des 5. bis 7. Bytes überprüfte Ich werde es als unbekannt1 ~ 3 protokollieren, um herauszufinden, was es ist. (Wir planen, den verbleibenden Batteriestand zu erhalten)
Erstellen Sie ein Hauptskript, um das Skript zur Erfassung des Sensorwerts aufzurufen
inkbird_toSpreadSheet.py
from bluepy import btle
import inkbird_ibsth1_connect
######Erfassung von Werten für den OMRON-Umgebungssensor (BAG-Typ)######
PERIPHERAL_MAC_ADDRESS = 'MAC-Adresse erhalten in ①'
sensorValue = inkbird_ibsth1_connect.get_ibsth1_mini_data(PERIPHERAL_MAC_ADDRESS1)
#Zeigen Sie die Temperatur als Test an
print(sensorValue['Temperature'])
Versuchen Sie, von der Konsole aus zu laufen
python inkbird_toSpreadSheet.py
25.49
Sie haben jetzt Sensormessungen in Python erhalten.
[Artikel zum Omron-Umweltsensor](https://qiita.com/c60evaporator/items/ed2ffde4c87001111c12#python%E3%81%8B%E3%82%89gas%E3%81%AEapi%E3%82%92%E5% 8F% A9% E3% 81% 84% E3% 81% A6% E3% 82% B9% E3% 83% 97% E3% 83% AC% E3% 83% 83% E3% 83% 89% E3% 82% B7% E3% 83% BC% E3% 83% 88% E3% 81% AB% E3% 83% 87% E3% 83% BC% E3% 82% BF% E6% 9B% B8% E3% 81% 8D% E8% BE% BC% E3% 81% BF) Bitte beziehen Sie sich
[Artikel zum Omron-Umweltsensor](https://qiita.com/c60evaporator/items/ed2ffde4c87001111c12#%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83 % 88% E3% 81% AE% E5% AE% 9A% E6% 9C% 9F% E5% AE% 9F% E8% A1% 8C)
Darüber hinaus ist dieses Produkt ** [Batterie schnell leer](https://billiesmarket.net/2019/11/25/%EF%BC%91%E3%83%B6%E6%9C%88%E3% 81% A7% E9% 9B% BB% E6% B1% A0% E3% 81% 8C% E5% 88% 87% E3% 82% 8C% E3% 81% 9Finkbird-% E3% 83% 9F% E3% 83 % 8Bibs-th1-mini% E3% 80% 82% E8% B2% B7% E3% 81% 86% E3% 81% AA% E3% 82% 89% E3% 82% AA% E3% 82% B9 /) **, es scheint, dass es in ungefähr einem Monat abläuft, also [IBS-TH1](https://www.amazon.co.jp/Inkbird-Bluetooth-%E3%82%B9%E3%83%9E%E3%83%BC] mit einer kleinen Größe, aber guter Akkulaufzeit % E3% 83% 88% E3% 82% BB% E3% 83% B3% E3% 82% B5% E3% 83% BC-% E6% B8% A9% E6% B9% BF% E5% BA% A6% E3% 83% AC% E3% 82% B3% E3% 83% BC% E3% 83% 80% E3% 83% BC-IBS-TH1 / dp / B07T1W9WGN? Th = 1) Überlegen.
(Ich bin ein Bluetooth-Sensorman geworden, aber ich werde weitermachen, ohne mich zu langweilen! Lol)
Recommended Posts