Cet article a le même contenu que ** Article Omron Environmental Sensor (BAG Type) . Cet article a été réalisé avec le capteur d'environnement Omron ( type USB **).
Les capteurs environnementaux d'Omron incluent la température, l'humidité, l'éclairement, la pression, le bruit, etc. C'est un appareil qui combine plusieurs capteurs. (Gauche: BAG type 2JCIE-BL01, Droite: USB type 2JCIE-BU01)
Cette fois, nous obtiendrons les données de type USB sur le côté droit de Raspberry Pi.
** ・ RaspberryPi ** (Pi3 Model B est utilisé cette fois) ** - Environnement d'exécution Python ** (Cette fois, pyenv utilise Python 3.7.6) ** ・ Compte Google ** (requis pour utiliser des feuilles de calcul) ** ・ Capteur d'environnement Omron (USB type 2JCIE-BU01) **
** ① Vérifiez la connexion Bluetooth entre le Raspberry Pi et le capteur ** ** ② Obtenez la valeur mesurée du capteur d'environnement 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 **
** - Connexion du capteur environnemental au port USB ** Branchez le capteur environnemental dans le port USB et assurez-vous que la lumière est allumée pendant un moment
** - Recherche d'appareils Bluetooth ** Exécutez la commande suivante sur Raspberry Pi
sudo hcitool lescan
LE Scan ...
CC:DD:BB:AA:66:77 Rbt
Si vous voyez le nom «Rbt», 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.
bluepy est une bibliothèque pour accéder à Bluetooth Low Energy (BLE) en Python (Définition de classe)
Le type USB, qui n'a pas de batterie, ne nécessite pas de changement de mode de diffusion comme le type BAG, donc le travail est moins gênant.
** ・ 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
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
Dans le type BAG en mode diffusion, les données du capteur ont été acquises à partir des données publicitaires, Dans le type USB en mode connexion, les données sont acquises par communication à l'aide de la classe Peripheral.
Créez un script principal pour appeler le script d'acquisition de la valeur du capteur
omron_env_toSpreadSheet.py
from bluepy import btle
import omron_env_usb_connect
######Acquisition de valeurs pour capteur d'environnement OMRON (type BAG)######
PERIPHERAL_MAC_ADDRESS = 'Adresse MAC obtenue en ①'
sensorValue = omron_env_usb_connect.get_env_usb_data(PERIPHERAL_MAC_ADDRESS)
#Afficher la température à titre d'essai
print(sensorValue['Temperature'])
Essayez de courir à partir de la console
python omron_env_toSpreadSheet.py
26.48
Vous avez maintenant obtenu des mesures de capteurs en Python.
Selon le Manuel de l'utilisateur, l'unité de la valeur acquise est indiquée dans la figure ci-dessous.
[Article de type 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) Veuillez vous référer
[Article de type 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) Veuillez consulter