[PYTHON] Enregistrement de la valeur d'Inkbird IBS-TH1 mini avec Raspberry Pi

introduction

Cet article a le même contenu que ** Article Omron Environmental Sensor (BAG Type) **. Cet article a été réalisé sur le ** Inkbird IBS-TH1 mini ** bon marché.

Qu'est-ce que Inkbird?

Un fabricant à Shenzhen, en Chine, qui fabrique divers capteurs IoT à usage domestique. Il est intéressant de disposer de toutes les fonctions telles que l'acquisition de données avec application smartphone et API à bas prix (environ 3000 yens).

Cette fois, il est équipé d'un capteur température + humidité Inkbird IBS-TH1 mini Inkbird_mini.jpg Ensuite, la journalisation sera effectuée.

Les choses nécessaires

** ・ RaspberryPi ** (Pi3 Model B est utilisé cette fois) ** - Environnement d'exécution Python ** (Cette fois, pyenv utilise Python 3.7.6) ** ・ Inkbird IBS-TH1 mini **

procédure

** ① Vérifiez la connexion Bluetooth entre le Raspberry Pi et le capteur ** ** ② Obtenez la valeur mesurée du capteur avec Python ** ** ③ Accédez à l'API GAS de Python pour écrire des données dans la feuille de calcul ** ** ④ Exécution périodique du script **

J'en ai parlé. https://qiita.com/bon_dentetsu/items/87ed6c65640b5ba11e5c https://qiita.com/junara/items/f396c1c4c15c78cde89f

① Vérifiez la connexion Bluetooth entre le Raspberry pi et le capteur

Confirmation de la reconnaissance du capteur

** - Configuration du capteur ** Insérez la pile bouton fournie avec le capteur.

** - Recherche d'appareils Bluetooth ** Exécutez la commande suivante sur Raspberry Pi

sudo hcitool lescan
LE Scan ...
BB:DD:CC:AA:55:77 sps

Si le nom «sps» apparaît, il s'agit de l'adresse MAC du capteur d'environnement. S'il ne sort pas, vérifiez le contact USB et l'activation Bluetooth du Raspberry Pi. Selon le modèle et les paramètres, le nom peut ne pas être "sps", donc Dans ce cas, vous pouvez vérifier l'adresse MAC sur Inkbird Official App.

** ② Obtenez la valeur mesurée du capteur d'environnement avec Python **

Confirmation de reconnaissance avec bluepy

bluepy est une bibliothèque pour accéder à Bluetooth Low Energy (BLE) en Python (Définition de classe)

** ・ Installation des packages requis ** Installez ce qui suit

sudo install libglib2.0-dev

** ・ Installation de bluepy **

Installer avec pip avec la commande suivante

pip install bluepy

** ・ Autoriser bluepy ** Vous devez autoriser bluepy Sudo à scanner.

Allez dans le dossier où bluepy est installé et

cd ~.pyenv/versions/3.7.6/lib/python3.7/site-packages/bluepy

Accordez l'autorisation Sudo à bluepy-helper avec la commande suivante

sudo setcap 'cap_net_raw,cap_net_admin+eip' bluepy-helper

Création d'un script d'acquisition de valeur de capteur

Créez le script suivant pour obtenir la valeur du capteur

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

Ce capteur est connecté en mode de connexion comme la version USB d'Omron Environmental Sensor. Les données sont acquises par communication avec la classe Peripheral de bluepy.

Les données caractéristiques acquises sont ** ・ 1er et 2ème octets: température (unité 0,01 ℃) ** ** ・ 3ème-4ème octets: Humidité (unité 0,01%) ** Cependant, je ne pouvais pas le savoir même si j'avais vérifié le contenu des 5e à 7e octets, donc Je l'enregistrerai comme unknown1 ~ 3 pour savoir ce que c'est. (Nous prévoyons d'obtenir le niveau de batterie restant)

Création du script principal

Créez un script principal pour appeler le script d'acquisition de la valeur du capteur

inkbird_toSpreadSheet.py


from bluepy import btle
import inkbird_ibsth1_connect

######Acquisition de valeurs pour capteur d'environnement OMRON (type BAG)######
PERIPHERAL_MAC_ADDRESS = 'Adresse MAC obtenue en ①'
sensorValue = inkbird_ibsth1_connect.get_ibsth1_mini_data(PERIPHERAL_MAC_ADDRESS1)

#Afficher la température à titre d'essai
print(sensorValue['Temperature'])

Essayez de courir à partir de la console

python inkbird_toSpreadSheet.py
25.49

Vous avez maintenant obtenu des mesures de capteurs en Python.

③ Accédez à l'API GAS de Python pour écrire des données dans la feuille de calcul

[Article sur le capteur environnemental d'Omron](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) Veuillez vous référer

④ Exécution périodique du script

[Article sur le capteur environnemental Omron](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) Veuillez consulter

Postscript

De plus, ce produit est ** [La batterie se vide rapidement](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 /) **, il semble qu'il expirera dans environ un mois, donc [IBS-TH1](https://www.amazon.co.jp/Inkbird-Bluetooth-%E3%82%B9%E3%83%9E%E3%83%BC] % 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) pense.

(Je suis devenu un sensorman Bluetooth, mais je continuerai sans m'ennuyer! Lol)

Recommended Posts

Enregistrement de la valeur d'Inkbird IBS-TH1 mini avec Raspberry Pi
Enregistrement de la valeur d'Inkbird IBS-TH1 avec Raspberry Pi
GPGPU avec Raspberry Pi
DigitalSignage avec Raspberry Pi
[Raspberry Pi] Contrôle du moteur pas à pas avec Raspberry Pi
Utilisez vl53l0x avec RaspberryPi (python)
Commande de servomoteur avec Raspberry Pi
Communication série avec Raspberry Pi + PySerial
Configuration du système d'exploitation avec Raspberry Pi Imager
Essayez L Chika avec raspberrypi
Construire un serveur VPN avec Raspberry Pie
Essayez de déplacer 3 servos avec Raspeye
Utiliser une webcam avec Raspberry Pi
Mesurer la force du signal SIM avec Raspberry Pi
Surveillance des animaux avec Rekognition et Raspberry pi
Bonjour le monde avec Raspberry Pi + Minecraft Pi Edition
Créer un environnement Tensorflow avec Raspberry Pi [2020]
Programmation normale avec la programmation Node-RED avec Raspberry Pi 3
Capteur humain amélioré fabriqué avec Raspberry Pi
Essayez la détection d'objets avec Raspberry Pi 4 + Coral
Exécuter le servomoteur SG-90 avec Raspberry Pi
Utiliser le capteur de mouvement PIR avec Raspberry Pi
Faire une minuterie de lavage-séchage avec Raspberry Pi
Faites fonctionner l'oscilloscope avec le Raspberry Pi
Créez un compteur de voiture avec Raspberry Pi
Travailler avec le GPS en Python pour Raspberry Pi 3
Discord bot raspberry pi zéro avec python [Note]
Programmation média avec Raspeye (préparation audio)
J'ai essayé L-Chika avec Razpai 4 (édition Python)
Profitez du travail électronique avec GPIO de Raspberry Pi
MQTT Radicon Car avec Arduino et Raspberry
Allumez / éteignez votre PC avec Raspberry Pi
Sortie CSV des données d'impulsion avec Raspberry Pi (sortie CSV)
Observez le groupe de météores Futago avec RaspberryPi4
Obtenez la température et l'humidité avec DHT11 et Raspberry Pi
Application d'analyse des investissements boursiers avec tarte aux framboises
Connectez-vous à MySQL avec Python sur Raspberry Pi
Suivi GPS avec Raspeye 4B + BU-353S4 (Python)
Mesurer la température du processeur de Raspeye avec Python
Enregistrez la température et l'humidité avec systemd sur Raspberry Pi
Apprentissage automatique avec Raspberry Pi 4 et Coral USB Accelerator
Exécutez la matrice LED de manière interactive avec Raspberry Pi 3B + sur Slackbot
IoT facile pour démarrer avec Raspeye et MESH
Utilisation de la voiture 4RM FT-MC-004 d'Akizuki Denshi avec Raspberry Pi
Essayez de déboguer Python sur Raspberry Pi avec Visual Studio.
Détecter l'état de port du masque avec OpenCV et Raspberry Pi
Contrôlez les moteurs sans balais avec GPIO de Raspberry Pi Zero
Prenez la valeur du thermo-hygromètre SwitchBot avec Raspberry Pi
Mesurez la température et l'humidité avec Raspberry Pi3 et visualisez avec Ambient
Changer les valeurs du thermo-hygromètre Bot avec Raspberry Pi
Ubuntu 20.04 sur raspberry pi 4 avec OpenCV et utilisation avec python
Faire un rappel de parapluie avec Raspberry Pi Zero W
Résoudre les problèmes liés à l'installation d'OpenCV sur Raspberry Pi et à la capture
Afficher l'image de la caméra USB avec OpenCV de Python avec Raspeye
Exploitons GPIO de Raspeye avec Python CGI