[PYTHON] Protokollieren des Werts von Inkbird IBS-TH1 mini mit Raspberry Pi

Einführung

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.

Was ist Inkbird?

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 Inkbird_mini.jpg Anschließend wird die Protokollierung durchgeführt.

Dinge notwendig

** ・ RaspberryPi ** (diesmal wird Pi3 Modell B verwendet) ** - Python-Ausführungsumgebung ** (Dieses Mal verwendet pyenv Python 3.7.6) ** ・ Inkbird IBS-TH1 mini **

Verfahren

** ① Ü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

① Überprüfen Sie die Bluetooth-Verbindung zwischen Raspberry pi und dem Sensor

Bestätigung der Sensorerkennung

** - 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.

** ② Ermitteln Sie mit Python den Messwert des Umgebungssensors **

Anerkennungsbestätigung mit bluepy

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 eines Skripts zur Erfassung von Sensorwerten

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)

Hauptskript erstellen

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.

③ Drücken Sie die GAS-API von Python, um Daten in die Tabelle zu schreiben

[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

④ Regelmäßige Ausführung des Skripts

[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)

Nachtrag

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

Protokollieren des Werts von Inkbird IBS-TH1 mini mit Raspberry Pi
Protokollieren des Werts von Inkbird IBS-TH1 mit Raspberry Pi
GPGPU mit Raspberry Pi
DigitalSignage mit Raspberry Pi
[Raspberry Pi] Schrittmotorsteuerung mit Raspberry Pi
Verwenden Sie vl53l0x mit RaspberryPi (Python)
Servomotorsteuerung mit Raspberry Pi
Serielle Kommunikation mit Raspberry Pi + PySerial
Betriebssystem-Setup mit Raspberry Pi Imager
Probieren Sie L Chika mit Himbeerpi
Aufbau eines VPN-Servers mit Raspberry Pie
Versuchen Sie, 3 Servos mit Raspeye zu bewegen
Verwenden einer Webkamera mit Raspberry Pi
Messen Sie die SIM-Signalstärke mit Raspberry Pi
Haustierüberwachung mit Rekognition und Raspberry pi
Hallo Welt mit Raspberry Pi + Minecraft Pi Edition
Erstellen Sie eine Tensorflow-Umgebung mit Raspberry Pi [2020]
Normal programmieren mit Node-RED-Programmierung mit Raspberry Pi 3
Verbesserter menschlicher Sensor mit Raspberry Pi
Versuchen Sie die Objekterkennung mit Raspberry Pi 4 + Coral
Den Servomotor SG-90 mit Himbeer-Pi betreiben
Verwenden Sie einen PIR-Bewegungssensor mit Himbeer-Pi
Machen Sie einen Waschtrocknungs-Timer mit Raspberry Pi
Bedienen Sie das Oszilloskop mit dem Raspberry Pi
Erstellen Sie eine Auto-Anzeige mit Himbeer-Pi
Arbeiten mit GPS in Python für Raspberry Pi 3
Discord Bot Himbeere Pi Null mit Python [Hinweis]
Medienprogrammierung mit Raspeye (Vorbereitung für Audio)
Ich habe L-Chika mit Razpai 4 (Python Edition) ausprobiert.
Genießen Sie die elektronische Arbeit mit GPIO von Raspberry Pi
MQTT Radicon Car mit Arduino und Himbeere
Schalten Sie Ihren PC mit Himbeer-Pi ein / aus
CSV-Ausgabe von Impulsdaten mit Raspberry Pi (CSV-Ausgabe)
Beobachten Sie die Futago-Meteorgruppe mit Raspberry Pi4
Holen Sie sich Temperatur und Luftfeuchtigkeit mit DHT11 und Raspberry Pi
Aktieninvestitionsanalyse-App mit Himbeerkuchen gemacht
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
GPS-Tracking mit Raspeye 4B + BU-353S4 (Python)
Messen Sie die CPU-Temperatur von Raspeye mit Python
Notieren Sie Temperatur und Luftfeuchtigkeit mit systemd auf Raspberry Pi
Maschinelles Lernen mit Raspberry Pi 4 und Coral USB Accelerator
Führen Sie die LED-Matrix interaktiv mit Raspberry Pi 3B + auf Slackbot aus
Einfaches IoT, um mit Raspeye und MESH zu beginnen
Mit Akizuki Denshis 4WD Auto FT-MC-004 mit Raspberry Pi
Versuchen Sie, Python auf Raspberry Pi mit Visual Studio zu debuggen.
Ermitteln Sie den Tragezustand der Maske mit OpenCV und Raspberry Pi
Steuern Sie bürstenlose Motoren mit GPIO von Raspberry Pi Zero
Nehmen Sie den Wert des SwitchBot-Thermo-Hygrometers mit Raspberry Pi
Messen Sie Temperatur und Luftfeuchtigkeit mit Raspberry Pi3 und visualisieren Sie mit Ambient
Umschalten der Bot-Thermo-Hygrometer-Werte mit Raspberry Pi
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Machen Sie eine Regenschirmerinnerung mit Raspberry Pi Zero W.
Fehlerbehebung bei der Installation von OpenCV auf Raspberry Pi und der Erfassung
Zeigen Sie das Bild der USB-Kamera mit OpenCV von Python mit Raspeye an
Lassen Sie uns GPIO von Raspeye mit Python CGI betreiben