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é.
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 Ensuite, la journalisation sera effectuée.
** ・ 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 **
** ① 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
** - 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.
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é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é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.
[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
[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
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