[PYTHON] J'ai essayé de connecter Raspeye et conect + avec l'API Web

L'outil de visualisation des données IoT appelé conect + semblait facile à utiliser, j'ai donc décidé de l'essayer. IMG_0554 - コピー.PNG

Qu'est-ce que conect +

conect + est un outil de visualisation qui vous permet de créer facilement des applications affichant des données IoT et des dispositifs de contrôle. Il existe conect + Studio pour 9 980 yens par mois et conect + Lite qui peuvent être utilisés gratuitement. Cette fois, j'ai décidé de le visualiser avec free conect +. (Veuillez vérifier le lien pour la différence entre les services de conect + Studio et conect + Lite)

Constitution

cl2.PNG La configuration est celle illustrée dans la figure ci-dessus. Connectez les données de détection du DHT11 (capteur de température et d'humidité) connecté à Raspberry Pi pour connecter + Lite avec l'API Web.

Paramètres avec conect + Lite

Connectez-vous pour conect + Lite et modifiez le projet sur l'écran de création. clcreate.PNG

Paramètres des informations de base

Dans l'onglet Informations de base, définissez la méthode de connexion (WebAPI) et le nom du produit (appelons-le rasp_dht11). cl1.PNG

Dans l'onglet Image, définissez l'image de l'icône et l'image miniature. cl3.PNG

Sur l'onglet Capteur, définissez le nom du capteur (température, humidité) et la clé (température, humidité). cl4.PNG

Paramètres du widget d'application

Disposez l'écran de l'application à partir du widget préparé. widget.PNG

Paramètres de l'API Web

Lorsque vous appuyez sur le bouton de génération de clé API, la clé API est générée. La clé API est utilisée dans le script Raspberry Pi. key.PNG

Paramètres Raspberry Pi

Connexion entre DHT11 et Raspberry Pi

Tout d'abord, connectez le capteur de température / humidité DHT (DHT11) et le Raspberry Pi comme suit.

DHT11 Raspberry Pi
VCC 3.3V
GND GND
DATA GPIO4

Créer un script

Clonez la bibliothèque Python qui récupère les données du capteur DHT11 à partir de GitHub.

git clone https://github.com/szazo/DHT11_python.git

Lorsque le clonage est terminé, un dossier appelé "DHT11_python" sera créé. Obtenez les données de température et d'humidité avec l'exemple de script "dht11_example.py" dans ce dossier. Par défaut, le code PIN est 14, alors modifiez-le en 4.

dht11_example.py


import RPi.GPIO as GPIO
import dht11
import time
import datetime

# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()

# read data using pin 4
instance = dht11.DHT11(pin=4) #broche numéro 4(GPIO4)Fixé à

while True:
    result = instance.read()
    if result.is_valid():
        print("Last valid input: " + str(datetime.datetime.now()))
        print("Temperature: %d C" % result.temperature)
        print("Humidity: %d %%" % result.humidity)

    time.sleep(1)

Ajoutez un processus d'enregistrement de données pour connecter + à cet exemple de script.

dht11_cp.py


import RPi.GPIO as GPIO
import dht11
import pprint
import json
import requests
from pytz import timezone
from datetime import datetime

# json.dumps
def post_data(api_key,device_id,data_key,sensing_at,value):
    url = "https://api.conect.plus/v1/(Clé API)/data" %{'api_key':api_key}
    response = requests.post(
        url,
        json.dumps({
            'deviceUuid' : device_id,
            'key' : data_key,
            'sensingAt' : sensing_at,
            'value1' : value}),
        headers = {'Content-Type' : 'application/json'})
    pprint.pprint(response.json())

# now
def now_utc_str():
    return datetime.now(timezone('UTC')).strftime("%Y-%m-%d %H:%M:%S")

# initialize GPIO
GPIO.setwarnings(False) #Ignorer les avertissements
GPIO.setmode(GPIO.BCM) #Spécifiez GPIO par numéro de broche de rôle
GPIO.cleanup() #Réinitialiser les paramètres GPIO à la fin du script

API_KEY = '(Clé API)'
DEVICE_ID =  'SINWSSS'
DATA_KEY_TEMPERATURE = 'temperature'
DATA_KEY_HUMIDITY = 'humidity'

# read data using pin 4
instance = dht11.DHT11(pin=4) #Lire les données GPIO4

while True:
    result = instance.read()
    if result.is_valid():
        break #Quitter lorsque des données valides sont obtenues (répéter si non valide)

temp = result.temperature
hum = result.humidity
print(temp,hum)

# post data
now = now_utc_str()
post_data(API_KEY,DEVICE_ID,DATA_KEY_TEMPERATURE,now,temp)
post_data(API_KEY,DEVICE_ID,DATA_KEY_HUMIDITY,now,hum)

Exécutez dht11_cp.py, et si la réponse suivante est renvoyée, elle réussit.

$ python dht11_cp.py
23 36 
{'message': 'Success.', 'status': 'SUCCESS'}
{'message': 'Success.', 'status': 'SUCCESS'}

Confirmer sur l'écran de données de conect +

Vérifions le résultat de l'exécution sur l'écran de données de conect + pour voir si les données sont enregistrées sur le cloud. cldata.PNG

Paramètres d'exécution programmée

Utilisez la fonction cron de Raspbian pour exécuter des scripts régulièrement sans avoir à interagir avec le Raspberry Pi. Ici, exécutez dht11_cp.py une fois par heure.

Exécutez la commande suivante dans LX Terminal.

crontab -e

Lorsque "Sélectionner un éditeur" s'affiche, sélectionnez / bin / nano sur "2". Lorsque "nano" s'ouvre, déplacez le curseur vers le bas de l'écran principal et entrez la commande suivante.

00 * * * * /usr/bin/python3 /home/pi/DHT11_python/dht11_cp.py
crontab: installing new crontab

Cela enregistrera les données de température et d'humidité à 00h00 toutes les heures.

Paramètres de l'application

Enfin, configurons l'application.

Téléchargez et lancez l'application. ↓ Appuyez sur "+" en haut à droite de l'écran IMG_0549 - コピー.PNG ↓ Sélectionnez le projet que vous souhaitez afficher et ajouter IMG_0551.PNG ↓ Lier l'appareil ajouté IMG_0552.PNG IMG_0553.PNG ↓ Lorsque les données sont acquises, les données détectées sont affichées. IMG_0554.PNG

Après cela, il sera mis à jour chaque fois que de nouvelles données de détection sont reçues (toutes les heures).

c'est tout.

Recommended Posts

J'ai essayé de connecter Raspeye et conect + avec l'API Web
J'ai essayé L-Chika avec Razpai 4 (édition Python)
J'ai essayé webScraping avec python.
J'ai essayé d'exécuter Movidius NCS avec python de Raspberry Pi3
J'ai essayé la gestion du suivi avec l'API Twitter et Python (facile)
J'ai essayé de créer une caméra de surveillance à détection de mouvement avec OpenCV en utilisant une caméra WEB avec Raspberry Pi
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
J'ai créé un serveur Web avec Razpai pour regarder des anime
Surveillance des animaux avec Rekognition et Raspberry pi
J'ai créé une API Web
J'ai essayé de faire un signal avec Raspeye 4 (édition Python)
J'ai essayé le web scraping en utilisant python et sélénium
J'ai essayé de jouer en connectant PartiQL et MongoDB
J'ai essayé la différenciation jacobienne et partielle avec python
J'ai essayé la synthèse de fonctions et le curry avec python
MQTT Radicon Car avec Arduino et Raspberry
J'ai essayé de connecter AWS Lambda à d'autres services
J'ai essayé "Receipt OCR" avec l'API Google Vision
Obtenez la température et l'humidité avec DHT11 et Raspberry Pi
J'ai tweeté l'éclairement de la pièce avec Raspberry Pi, Arduino et un capteur optique
Source compilez Apache2.4 + PHP7.4 avec Raspberry Pi et construisez un serveur Web --2 introduction PHP
J'ai essayé de créer un environnement Ubuntu 20.04 LTS + ROS2 avec Raspberry Pi 4
Source compilez Apache2.4 + PHP7.4 avec Raspberry Pi et créez un serveur Web ―― 1. Introduction à Apache
J'ai essayé d'exécuter Flask sur Raspberry Pi 3 Model B + en utilisant Nginx et uWSGI
[Pour les débutants] J'ai fait un capteur humain avec Raspberry Pi et notifié LINE!
J'ai essayé de créer un bouton pour Slack avec Raspeye + Tact Switch
J'ai essayé de créer une API de reconnaissance d'image simple avec Fast API et Tensorflow
GPGPU avec Raspberry Pi
DigitalSignage avec Raspberry Pi
Enregistrez la température et l'humidité avec systemd sur Raspberry Pi
Apprentissage automatique avec Raspberry Pi 4 et Coral USB Accelerator
IoT facile pour démarrer avec Raspeye et MESH
J'ai essayé d'implémenter et d'apprendre DCGAN avec PyTorch
Détecter l'état de port du masque avec OpenCV et Raspberry Pi
J'ai essayé de lire et d'enregistrer automatiquement avec VOICEROID2
Mesurez la température et l'humidité avec Raspberry Pi3 et visualisez avec Ambient
J'ai essayé de découvrir notre obscurité avec l'API Chatwork
Ubuntu 20.04 sur raspberry pi 4 avec OpenCV et utilisation avec python
J'ai essayé d'implémenter Grad-CAM avec keras et tensorflow
Résoudre les problèmes liés à l'installation d'OpenCV sur Raspberry Pi et à la capture
J'ai essayé de frapper l'API avec le client python d'echonest
Quand j'ai essayé de faire une communication socket avec Raspberry Pi, le protocole était différent
Introduction facile au piratage domestique avec Raspberry Pi et discord.py
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
Plantes Mutter avec Raspberry Pi
J'ai essayé de publier automatiquement sur ChatWork au moment du déploiement avec Fabric et ChatWork Api
Je voulais faire fonctionner le moteur avec une tarte à la râpe, alors j'ai essayé d'utiliser la carte de commande du moteur de Waveshare
J'ai essayé Learning-to-Rank avec Elasticsearch!
Débutant Python s'ouvre et se ferme avec Raspberry Pi
J'ai essayé Google Sign-In avec Spring Boot + Spring Security REST API
J'ai essayé le clustering avec PyCaret
J'ai essayé d'obtenir les informations du Web en utilisant "Requests" et "lxml"
Créez des jeux LCD (16x2) avec Raspberry Pi et Python
J'ai parlé à Raspberry Pi