Das Tool zur Visualisierung von IoT-Daten mit dem Namen conect + schien einfach zu verwenden zu sein, daher habe ich beschlossen, es auszuprobieren.
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)
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.
Melden Sie sich bei conect + Lite an und bearbeiten Sie das Projekt auf dem Erstellungsbildschirm.
Legen Sie auf der Registerkarte Grundlegende Informationen die Verbindungsmethode (WebAPI) und den Produktnamen fest (nennen wir es rasp_dht11).
Legen Sie auf der Registerkarte Bild das Symbolbild und das Miniaturbild fest.
Stellen Sie auf der Registerkarte Sensor den Sensornamen (Temperatur, Luftfeuchtigkeit) und die Taste (Temperatur, Luftfeuchtigkeit) ein.
Legen Sie den Bildschirm der Anwendung über das vorbereitete Widget fest.
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.
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 |
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'}
Lassen Sie uns das Ausführungsergebnis auf dem Datenbildschirm von conect + überprüfen, um festzustellen, ob die Daten in der Cloud gespeichert sind.
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.
Zum Schluss richten wir die App ein.
Laden Sie die App herunter und starten Sie sie. ↓ Tippen Sie oben rechts auf dem Bildschirm auf "+" ↓ Wählen Sie das Projekt aus, das Sie anzeigen und hinzufügen möchten ↓ Verknüpfen Sie das hinzugefügte Gerät ↓ Wenn die Daten erfasst werden, werden die erfassten Daten angezeigt.
Danach wird es jedes Mal aktualisiert, wenn neue Erfassungsdaten empfangen werden (jede Stunde).
das ist alles.