[PYTHON] Protokollierung der Omron-Umgebungssensorwerte mit Raspberry Pi (USB-Typ)

Einführung

Dieser Artikel hat den gleichen Inhalt wie ** Artikel zum Omron-Umweltsensor (BAG-Typ) . Dieser Artikel wurde mit dem Omron-Umgebungssensor ( USB-Typ **) durchgeführt.

Was ist ein Umgebungssensor?

Zu den Umgebungssensoren von Omron gehören Temperatur, Luftfeuchtigkeit, Beleuchtungsstärke, Druck, Lärm usw. Es ist ein Gerät, das mehrere Sensoren kombiniert. オムロン環境センサ.png (Links: BAG Typ 2JCIE-BL01, rechts: USB Typ 2JCIE-BU01)

Dieses Mal erhalten wir die USB-Typdaten auf der rechten Seite von Raspberry Pi.

Dinge notwendig

** ・ RaspberryPi ** (diesmal wird Pi3 Modell B verwendet) ** - Python-Ausführungsumgebung ** (Dieses Mal verwendet pyenv Python 3.7.6) ** ・ Google-Konto ** (erforderlich, um Tabellenkalkulationen zu verwenden) ** ・ Omron-Umgebungssensor (USB Typ 2JCIE-BU01) **

Verfahren

** ① Überprüfen Sie die Bluetooth-Verbindung zwischen dem Raspberry Pi und dem Sensor ** ** ② Ermitteln Sie mit Python den Messwert des Umgebungssensors ** ** ③ Drücken Sie die GAS-API von Python, um Daten in die Tabelle zu schreiben ** ** ④ Regelmäßige Ausführung des Skripts **

Einzelheiten

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

Bestätigung der Erkennung des Umgebungssensors

** - Anschließen des Umgebungssensors an den USB-Anschluss ** Stecken Sie den Umgebungssensor in den USB-Anschluss und stellen Sie sicher, dass das Licht für einen Moment an ist

** - Nach Bluetooth-Geräten suchen ** Führen Sie den folgenden Befehl auf Raspberry Pi aus

sudo hcitool lescan
LE Scan ...
CC:DD:BB:AA:66:77 Rbt

Wenn Sie den Namen "Rbt" sehen, ist dies die MAC-Adresse des Umgebungssensors. Wenn es nicht herauskommt, überprüfen Sie den USB-Kontakt und die Bluetooth-Aktivierung von Raspberry Pi.

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

Der USB-Typ, der keinen Akku hat, erfordert keine Änderung des Broadcast-Modus wie der BAG-Typ, sodass die Arbeit weniger mühsam ist.

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

omron_env_usb_connect.py


from bluepy import btle
import struct

def get_env_usb_data(macaddr):
    peripheral = btle.Peripheral(macaddr, addrType=btle.ADDR_TYPE_RANDOM)
    characteristic = peripheral.readCharacteristic(0x0059)
    (seq, temp, humid, light, press, noise, eTVOC, eCO2) = struct.unpack('<Bhhhlhhh', characteristic)
    sensorValue = {
            'SensorType': 'Omron_USB_EP',
            'Temperature': temp / 100,
            'Humidity': humid / 100,
            'Light': light,
            'Pressure': press / 1000,
            'Noise': noise / 100,
            'eTVOC': eTVOC,
            'eCO2': eCO2
        }
    return sensorValue

Beim BAG-Typ im Broadcast-Modus wurden Sensordaten aus den Werbedaten erfasst, Beim USB-Typ im Verbindungsmodus werden Daten durch Kommunikation unter Verwendung der Peripherieklasse erfasst.

Hauptskript erstellen

Erstellen Sie ein Hauptskript, um das Skript zur Erfassung des Sensorwerts aufzurufen

omron_env_toSpreadSheet.py


from bluepy import btle
import omron_env_usb_connect

######Erfassung von Werten für den OMRON-Umgebungssensor (BAG-Typ)######
PERIPHERAL_MAC_ADDRESS = 'MAC-Adresse erhalten in ①'
sensorValue = omron_env_usb_connect.get_env_usb_data(PERIPHERAL_MAC_ADDRESS)

#Zeigen Sie die Temperatur als Test an
print(sensorValue['Temperature'])

Versuchen Sie, von der Konsole aus zu laufen

python omron_env_toSpreadSheet.py
26.48

Sie haben jetzt Sensormessungen in Python erhalten.

Gemäß dem Benutzerhandbuch entspricht die Einheit des erfassten Werts der folgenden Abbildung. usb_env.png

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

[Artikel vom Typ BAG](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 vom Typ BAG](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) Bitte beziehen Sie sich

Recommended Posts

Protokollierung der Omron-Umgebungssensorwerte mit Raspberry Pi (USB-Typ)
Protokollieren Sie die Omron-Umgebungssensorwerte regelmäßig mit Raspberry Pi
Nehmen Sie den Wert des SwitchBot-Thermo-Hygrometers mit Raspberry Pi
Umschalten der Bot-Thermo-Hygrometer-Werte mit Raspberry Pi
Ich habe die Beleuchtungsstärke des Raumes mit Raspberry Pi, Arduino und einem optischen Sensor getwittert
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Erstellen Sie eine Tensorflow-Umgebung mit Raspberry Pi [2020]
Verwenden Sie den Grove-Sensor mit Raspberry Pi
Verbesserter menschlicher Sensor mit Raspberry Pi
Verwenden Sie einen PIR-Bewegungssensor mit Himbeer-Pi
Protokollieren des Werts von Inkbird IBS-TH1 mit Raspberry Pi
Ein Memo zur einfachen Verwendung des Beleuchtungsstärkesensors TSL2561 mit Raspberry Pi 2
Erfassen Sie den Sensorwert von Grove Pi + mit Raspberry Pi und speichern Sie ihn in Kintone
Erstellen einer verteilten Umgebung mit der Raspberry PI-Serie (Teil 1: Zusammenfassung der Verfügbarkeit von plattenlosen Clients nach Modell)
Hinweis: Bereiten Sie die Umgebung von CmdStanPy mit Docker vor
Bereiten Sie die Ausführungsumgebung von Python3 mit Docker vor
Ich habe versucht, mit Raspberry Pi 4 eine Umgebung von Ubuntu 20.04 LTS + ROS2 zu erstellen
Benachrichtigen Sie regelmäßig den Verarbeitungsstatus von Raspberry Pi mit Python → Google Spreadsheet → LINE
CSV-Ausgabe von Impulsdaten mit Raspberry Pi (CSV-Ausgabe)
Beobachten Sie die Futago-Meteorgruppe mit Raspberry Pi4
Protokollieren des Werts von Inkbird IBS-TH1 mini mit Raspberry Pi
[Python] Bestimmen Sie den Typ der Iris mit SVM
Messen Sie die CPU-Temperatur von Raspeye mit Python
Verwirklichen Sie ein Super-IoT-Haus, indem Sie mit Raspberry Pi Sensordaten im Haus erfassen
Ich möchte über die Verbindungsumgebung benachrichtigt werden, wenn RaspberryPi eine Verbindung zum Netzwerk herstellt
Maschinelles Lernen mit Raspberry Pi 4 und Coral USB Accelerator
Die Geschichte des Teilens der Pyenv-Umgebung mit mehreren Benutzern
Versuchen Sie es mit dem Temperatursensor (LM75B) mit Raspeye.
[C-Sprache] [Linux] Ruft den Wert der Umgebungsvariablen ab
Vorbereiten der Ausführungsumgebung von PyTorch mit Docker November 2019
Steuern Sie das Ein- und Ausschalten des USB-Anschlusses des Raspberry Pi
Zeigen Sie das Bild der USB-Kamera mit OpenCV von Python mit Raspeye an
Lassen Sie uns GPIO von Raspeye mit Python CGI betreiben
GPGPU mit Raspberry Pi
DigitalSignage mit Raspberry Pi
Notieren Sie sich, was Sie in Zukunft mit Razpai machen möchten
Steuern Sie die Anzeige des RGB LED Matirix Lightning Bulletin Boards mit Raspberry Pi 3B + frei
Ändern Sie den Einstellungswert von settings.py entsprechend der Entwicklungsumgebung
Vereinheitlichen Sie die Umgebung des Python-Entwicklungsteams, beginnend mit Poetry
Spielen Sie mit dem Raspberry Pi Zero WH-Kameramodul Teil 1
Ich habe versucht, Movidius NCS mit Python von Raspberry Pi3 auszuführen
Ihre URL hat nicht mit dem Wert des Challenge-Parameters geantwortet.
Herstellung eines Temperaturregelungssystems mit Himbeerkuchen und ESP32 (1)
Ändern Sie die Meldung, die beim Anmelden bei Raspberry Pi angezeigt wird
Aufbau einer Cortex-M-Entwicklungsumgebung für TOPPERS mit Raspeye
Der wahre Wert der Terraform-Automatisierung ab Oracle Cloud
Ich habe die Daten von Raspberry Pi an GCP gesendet (kostenlos)
Versuchen Sie, Merkmale von Sensordaten mit CNN zu extrahieren
Erstellen einer verteilten Umgebung mit der Raspberry PI-Serie (Teil 2: PiServer-Analyse und alternatives Systemdesign)
Echtzeitklassifizierung mehrerer Objekte in Kamerabildern mit tiefem Erlernen von Raspberry Pi 3 B + & PyTorch
Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3!
Finden Sie den optimalen Wert der Funktion mit einem genetischen Algorithmus (Teil 2)
Der 14. März ist der Tag des Umfangsverhältnisses. Die Geschichte der Berechnung des Umfangsverhältnisses mit Python
Ich habe gelernt, wie die Infrarot-Fernbedienung mit Raspberry Pi funktioniert
Benachrichtigen Sie LINE über die Körpertemperatur vom BLE-Thermometer mit Raspeltorte Nr. 1
Benachrichtigen Sie LINE über die Körpertemperatur vom BLE-Thermometer mit Raspeltorte Nr. 2
Grafische Darstellung des Stromverbrauchs im Haushalt mit 3GPI und Raspeye