[PYTHON] Ich habe versucht, Raspeye und conect + mit der Web-API zu verbinden

Das Tool zur Visualisierung von IoT-Daten mit dem Namen conect + schien einfach zu verwenden zu sein, daher habe ich beschlossen, es auszuprobieren. IMG_0554 - コピー.PNG

Was ist conect +

conect + ist ein Visualisierungstool, mit dem Sie auf einfache Weise Anwendungen erstellen können, die IoT-Daten anzeigen und Geräte steuern. Es gibt conect + Studio für 9.980 Yen pro Monat und conect + Lite, die kostenlos verwendet werden können. Dieses Mal habe ich beschlossen, es mit free conect + zu visualisieren. (Bitte überprüfen Sie den Link für den Unterschied zwischen den Diensten von conect + Studio und conect + Lite)

Verfassung

cl2.PNG Die Konfiguration ist wie in der obigen Abbildung gezeigt. Verbinden Sie die Erfassungsdaten des an Raspberry Pi angeschlossenen DHT11 (Temperatur- und Feuchtigkeitssensor), um + Lite mit der Web-API zu verbinden.

Einstellungen mit conect + Lite

Melden Sie sich bei conect + Lite an und bearbeiten Sie das Projekt auf dem Erstellungsbildschirm. clcreate.PNG

Grundlegende Informationseinstellungen

Legen Sie auf der Registerkarte Grundlegende Informationen die Verbindungsmethode (WebAPI) und den Produktnamen fest (nennen wir es rasp_dht11). cl1.PNG

Legen Sie auf der Registerkarte Bild das Symbolbild und das Miniaturbild fest. cl3.PNG

Stellen Sie auf der Registerkarte Sensor den Sensornamen (Temperatur, Luftfeuchtigkeit) und die Taste (Temperatur, Luftfeuchtigkeit) ein. cl4.PNG

App-Widget-Einstellungen

Legen Sie den Bildschirm der Anwendung über das vorbereitete Widget fest. widget.PNG

Web-API-Einstellungen

Wenn Sie auf die Schaltfläche zur Generierung des API-Schlüssels klicken, wird der API-Schlüssel generiert. Der API-Schlüssel wird im Raspberry Pi-Skript verwendet. key.PNG

Himbeer-Pi-Einstellungen

Verbindung zwischen DHT11 und Raspberry Pi

Schließen Sie zuerst den DHT-Temperatur- / Feuchtigkeitssensor (DHT11) und den Raspberry Pi wie folgt an.

DHT11 Raspberry Pi
VCC 3.3V
GND GND
DATA GPIO4

Ein Skript erstellen

Klonen Sie die Python-Bibliothek, die DHT11-Sensordaten von GitHub abruft.

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

Nach Abschluss des Klonens wird ein Ordner mit dem Namen "DHT11_python" erstellt. Rufen Sie die Temperatur- und Feuchtigkeitsdaten mit dem Beispielskript "dht11_example.py" in diesem Ordner ab. Standardmäßig ist die PIN-Nummer 14, ändern Sie sie also auf 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) #Pin Nummer 4(GPIO4)Behoben zu

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)

Fügen Sie diesem Beispielskript einen Datenspeicherungsprozess hinzu, um + zu verbinden.

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/(API-Schlüssel)/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) #Warnungen ignorieren
GPIO.setmode(GPIO.BCM) #Geben Sie GPIO anhand der Rollen-Pin-Nummer an
GPIO.cleanup() #Setzen Sie die GPIO-Einstellungen am Ende des Skripts zurück

API_KEY = '(API-Schlüssel)'
DEVICE_ID =  'SINWSSS'
DATA_KEY_TEMPERATURE = 'temperature'
DATA_KEY_HUMIDITY = 'humidity'

# read data using pin 4
instance = dht11.DHT11(pin=4) #Lesen Sie die GPIO4-Daten

while True:
    result = instance.read()
    if result.is_valid():
        break #Beenden, wenn gültige Daten erhalten werden (wiederholen, wenn ungültig)

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)

Führen Sie dht11_cp.py aus. Wenn die folgende Antwort zurückgegeben wird, ist sie erfolgreich.

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

Bestätigen Sie auf dem Datenbildschirm von conect +

Lassen Sie uns das Ausführungsergebnis auf dem Datenbildschirm von conect + überprüfen, um festzustellen, ob die Daten in der Cloud gespeichert sind. cldata.PNG

Geplante Ausführungseinstellungen

Verwenden Sie die Cron-Funktion von Raspbian, um regelmäßig Skripte auszuführen, ohne mit dem Raspberry Pi interagieren zu müssen. Führen Sie hier einmal pro Stunde dht11_cp.py aus.

Führen Sie den folgenden Befehl in LX Terminal aus.

crontab -e

Wenn "Editor auswählen" angezeigt wird, wählen Sie / bin / nano von "2". Wenn "nano" geöffnet wird, bewegen Sie den Cursor nach unten und geben Sie den folgenden Befehl ein.

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

Dadurch werden die Temperatur- und Feuchtigkeitsdaten stündlich um 00:00 Uhr gespeichert.

App Einstellungen

Zum Schluss richten wir die App ein.

Laden Sie die App herunter und starten Sie sie. ↓ Tippen Sie oben rechts auf dem Bildschirm auf "+" IMG_0549 - コピー.PNG ↓ Wählen Sie das Projekt aus, das Sie anzeigen und hinzufügen möchten IMG_0551.PNG ↓ Verknüpfen Sie das hinzugefügte Gerät IMG_0552.PNG IMG_0553.PNG ↓ Wenn die Daten erfasst werden, werden die erfassten Daten angezeigt. IMG_0554.PNG

Danach wird es jedes Mal aktualisiert, wenn neue Erfassungsdaten empfangen werden (jede Stunde).

das ist alles.

Recommended Posts

Ich habe versucht, Raspeye und conect + mit der Web-API zu verbinden
Ich habe L-Chika mit Razpai 4 (Python Edition) ausprobiert.
Ich habe versucht, WebScraping mit Python.
Ich habe versucht, Movidius NCS mit Python von Raspberry Pi3 auszuführen
Ich habe versucht, Follow Management mit Twitter API und Python (einfach)
Ich habe versucht, mit OpenCV eine Bewegungserkennungsüberwachungskamera mit einer WEB-Kamera mit Raspberry Pi herzustellen
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich habe mit Razpai einen Webserver erstellt, um Anime zu schauen
Haustierüberwachung mit Rekognition und Raspberry pi
Ich habe eine Web-API erstellt
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Ich habe versucht, Web-Scraping mit Python und Selen
Ich habe versucht, mit PartiQL und MongoDB verbunden zu spielen
Ich habe Jacobian und teilweise Differenzierung mit Python versucht
Ich habe Funktionssynthese und Curry mit Python versucht
MQTT Radicon Car mit Arduino und Himbeere
Ich habe versucht, AWS Lambda mit anderen Diensten zu verbinden
Ich habe "Receipt OCR" mit der Google Vision API ausprobiert
Holen Sie sich Temperatur und Luftfeuchtigkeit mit DHT11 und Raspberry Pi
Ich habe die Beleuchtungsstärke des Raumes mit Raspberry Pi, Arduino und einem optischen Sensor getwittert
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver --2 PHP Einführung
Ich habe versucht, mit Raspberry Pi 4 eine Umgebung von Ubuntu 20.04 LTS + ROS2 zu erstellen
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver. 1. Apache-Einführung
Ich habe versucht, Flask auf Raspberry Pi 3 Model B + mit Nginx und uWSGI auszuführen
[Für Anfänger] Ich habe mit Raspberry Pi einen menschlichen Sensor erstellt und LINE benachrichtigt!
Ich habe versucht, mit Raspeye + Tact Switch eine Schaltfläche für Slack zu erstellen
Ich habe versucht, eine einfache Bilderkennungs-API mit Fast API und Tensorflow zu erstellen
GPGPU mit Raspberry Pi
DigitalSignage mit Raspberry Pi
Notieren Sie Temperatur und Luftfeuchtigkeit mit systemd auf Raspberry Pi
Maschinelles Lernen mit Raspberry Pi 4 und Coral USB Accelerator
Einfaches IoT, um mit Raspeye und MESH zu beginnen
Ich habe versucht, DCGAN mit PyTorch zu implementieren und zu lernen
Ermitteln Sie den Tragezustand der Maske mit OpenCV und Raspberry Pi
Ich habe versucht, mit VOICEROID2 automatisch zu lesen und zu speichern
Messen Sie Temperatur und Luftfeuchtigkeit mit Raspberry Pi3 und visualisieren Sie mit Ambient
Ich habe versucht, unsere Dunkelheit mit der Chatwork-API aufzudecken
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Ich habe versucht, Grad-CAM mit Keras und Tensorflow zu implementieren
Fehlerbehebung bei der Installation von OpenCV auf Raspberry Pi und der Erfassung
Ich habe versucht, die API mit dem Python-Client von echonest zu erreichen
Als ich versuchte, eine Socket-Kommunikation mit Raspberry Pi durchzuführen, war das Protokoll anders
Einfache Einführung in Home Hack mit Raspberry Pi und discord.py
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Mutter pflanzt mit Raspberry Pi
Ich habe versucht, zum Zeitpunkt der Bereitstellung mit Fabric und ChatWork Api automatisch in ChatWork zu posten
Ich wollte den Motor mit einer Raspeltorte laufen lassen, also habe ich versucht, das Motor Driver Board von Waveshare zu verwenden
Ich habe versucht, mit Elasticsearch Ranking zu lernen!
Python-Anfänger öffnet und schließt die ineinandergreifende Kamera mit Raspberry Pi
Ich habe versucht, mich mit Spring Boot + Spring Security REST API anzumelden
Ich habe versucht, mit PyCaret zu clustern
Ich habe versucht, die Informationen des Webs mit "Requests" und "lxml" abzurufen.
Erstellen Sie LCD-Spiele (16x2) mit Raspberry Pi und Python
Ich habe mit Raspberry Pi gesprochen