[PYTHON] Enregistrement des valeurs du capteur d'environnement Omron avec Raspberry Pi (type USB)

introduction

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

Qu'est-ce qu'un capteur environnemental?

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. オムロン環境センサ.png (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.

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) ** ・ Compte Google ** (requis pour utiliser des feuilles de calcul) ** ・ Capteur d'environnement Omron (USB type 2JCIE-BU01) **

procédure

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

Détails

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

Confirmation de la reconnaissance du capteur environnemental

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

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

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éation d'un script d'acquisition de valeur de capteur

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éation du script principal

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. usb_env.png

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

[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

④ Exécution périodique du script

[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

Recommended Posts

Enregistrement des valeurs du capteur d'environnement Omron avec Raspberry Pi (type USB)
Consigner périodiquement les valeurs des capteurs d'environnement Omron avec Raspberry Pi
Prenez la valeur du thermo-hygromètre SwitchBot avec Raspberry Pi
Changer les valeurs du thermo-hygromètre Bot avec Raspberry Pi
J'ai tweeté l'éclairement de la pièce avec Raspberry Pi, Arduino et un capteur optique
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
Créer un environnement Tensorflow avec Raspberry Pi [2020]
Utiliser le capteur Grove avec Raspberry Pi
Capteur humain amélioré fabriqué avec Raspberry Pi
Utiliser le capteur de mouvement PIR avec Raspberry Pi
Enregistrement de la valeur d'Inkbird IBS-TH1 avec Raspberry Pi
Un mémo pour utiliser simplement le capteur d'éclairement TSL2561 avec Raspberry Pi 2
Acquérir la valeur du capteur de Grove Pi + avec Raspberry Pi et la stocker dans Kintone
Construction d'un environnement distribué avec la série Raspberry PI (Partie 1: Résumé de la disponibilité des clients sans disque par modèle)
Remarque: préparez l'environnement de CmdStanPy avec docker
Préparer l'environnement d'exécution de Python3 avec Docker
J'ai essayé de créer un environnement Ubuntu 20.04 LTS + ROS2 avec Raspberry Pi 4
Informer périodiquement l'état de traitement de Raspberry Pi avec python → Google Spreadsheet → LINE
Sortie CSV des données d'impulsion avec Raspberry Pi (sortie CSV)
Observez le groupe de météores Futago avec RaspberryPi4
Enregistrement de la valeur d'Inkbird IBS-TH1 mini avec Raspberry Pi
[Python] Déterminez le type d'iris avec SVM
Mesurer la température du processeur de Raspeye avec Python
Réalisez une maison super IoT en acquérant des données de capteur dans la maison avec Raspberry Pi
Je souhaite être informé de l'environnement de connexion lorsque RaspberryPi se connecte au réseau
Apprentissage automatique avec Raspberry Pi 4 et Coral USB Accelerator
L'histoire du partage de l'environnement pyenv avec plusieurs utilisateurs
Essayez d'utiliser le capteur de température (LM75B) avec Raspeye.
[Langage C] [Linux] Récupère la valeur de la variable d'environnement
Préparation de l'environnement d'exécution de PyTorch avec Docker Novembre 2019
Contrôler la mise sous / hors tension du port USB du Raspberry Pi
Afficher l'image de la caméra USB avec OpenCV de Python avec Raspeye
Exploitons GPIO de Raspeye avec Python CGI
GPGPU avec Raspberry Pi
DigitalSignage avec Raspberry Pi
Notez ce que vous voulez faire à l'avenir avec Razpai
Contrôlez librement l'affichage du tableau d'affichage RGB LED Matirix Lightning avec Raspberry Pi 3B +
Changer la valeur de paramètre de setting.py en fonction de l'environnement de développement
Unifier l'environnement de l'équipe de développement Python en commençant par Poetry
Jouez avec le module de caméra Raspberry Pi Zero WH Partie 1
J'ai essayé d'exécuter Movidius NCS avec python de Raspberry Pi3
Votre URL n'a pas répondu avec la valeur du paramètre de défi.
Production de système de contrôle de température avec tarte aux framboises et ESP32 (1)
Changer le message affiché lors de la connexion à Raspberry Pi
Construction d'un environnement de développement Cortex-M pour TOPPERS utilisant Raspeye
La vraie valeur de l'automatisation Terraform à partir d'Oracle Cloud
J'ai envoyé les données de Raspberry Pi à GCP (gratuit)
Essayez d'extraire les caractéristiques des données de capteur avec CNN
Construire un environnement distribué avec la série Raspberry PI (Partie 2: Analyse PiServer et conception de système alternatif)
Classification en temps réel de plusieurs objets dans les images de la caméra avec apprentissage en profondeur de Raspberry Pi 3 B + et PyTorch
Contrôlez le moteur avec un pilote de moteur en utilisant python sur Raspberry Pi 3!
Trouvez la valeur optimale de la fonction à l'aide d'un algorithme génétique (partie 2)
Le 14 mars est le jour du rapport de circonférence. L'histoire du calcul du ratio de circonférence avec python
J'ai appris comment la télécommande infrarouge fonctionne avec Raspberry Pi
Notifier LINE de la température corporelle du thermomètre BLE avec la tarte à la râpe # 1
Avertir LINE de la température corporelle du thermomètre BLE avec la tarte à la râpe n ° 2
Affichage graphique de la consommation électrique des ménages avec 3GPI et Raspeye