Inhaltsverzeichnis:

Seeed IoTea LoRa-Lösung (mit Azure, Update 1812) – Gunook
Seeed IoTea LoRa-Lösung (mit Azure, Update 1812) – Gunook

Video: Seeed IoTea LoRa-Lösung (mit Azure, Update 1812) – Gunook

Video: Seeed IoTea LoRa-Lösung (mit Azure, Update 1812) – Gunook
Video: Seeed IoTea Lora Solution 2024, November
Anonim
Seeed IoTea LoRa-Lösung (mit Azure, Update 1812)
Seeed IoTea LoRa-Lösung (mit Azure, Update 1812)

Microsoft Azure ist ein Cloud-Dienst, der eine leistungsfähigere und stabilere Rechenleistung bietet. Diesmal haben wir versucht, unsere IoTea-Daten dorthin zu senden.

Schritt 1: Dinge, die in diesem Projekt verwendet werden

Hardware-Komponenten

  • Grove - Kohlendioxidsensor (MH-Z16)
  • Grove - Digitaler Lichtsensor
  • Grove - Staubsensor(PPD42NS)
  • Grove - Sauerstoffsensor (ME2-O2-Ф20)
  • Bodenfeuchte- und Temperatursensor
  • LoRa LoRaWAN Gateway - 868MHz Kit mit Raspberry Pi 3
  • Grove - Temperatur-, Humi- und Barometersensor (BME280)

Software-Apps und Online-Dienste

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Schritt 2: Geschichte

Auf dem Mengding Mountain nordöstlich von Ya’an, Sichuan, verläuft der Bergrücken von Westen nach Osten in einem grünen Meer. Dies ist ein vertrauter Anblick für den 36-jährigen Deng, einer der ganz wenigen Mengding-Teehersteller seiner Generation, mit einer Plantage von 50mu (=3,3 Hektar) auf 1100 m über dem Meeresspiegel. Deng stammt aus einer Familie von Teebereitern, aber das Familienerbe weiterzuführen ist keine leichte Aufgabe. „Unsere Tees werden in großer Höhe in einer biologischen Umgebung angebaut, um ihre hervorragende Qualität zu gewährleisten. Gleichzeitig ist die Wachstumsdichte jedoch gering, die Kosten hoch und die Knospung ist ungleichmäßig, was die Ernte des Tees erschwert. Deshalb sind Hochgebirgstees normalerweise kleine Ernten und ihre Werte spiegeln sich nicht auf dem Markt wider.“Seit zwei Jahren versucht Deng, die Verbraucher für Hochgebirgstee zu sensibilisieren, um ihren Wert zu fördern. Und als er Fan traf, der nach einer Plantage suchte, um die IoTea-Technologie von Seeed zu implementieren, war eine perfekte Lösung gefunden.

Schritt 3: Hardwareverbindung

Bitte folgen Sie dem vorherigen Tutorial, um Ihre Hardware anzuschließen.

Schritt 4: Cloud-Konfiguration

Schritt 1. Ressourcengruppe erstellen

Klicken Sie hier, um sich bei Microsoft Azure anzumelden. Geben Sie dann Ressourcengruppen in die Liste links im Dashboard ein und klicken Sie auf Hinzufügen, um eine Ressourcengruppe hinzuzufügen.

Bild
Bild

Eine Ressourcengruppe wird verwendet, um alle Ressourcen im Projekt zu verwalten. Löschen Sie nach der Verwendung von Cloud-Ressourcen die Ressourcengruppe, um alle Ressourcen zu löschen, um Gebühren zu vermeiden. Geben Sie auf der geöffneten Seite den Namen der Ressourcengruppe ein (z. B. iotea), wählen Sie bei Bedarf Abonnement und Standort der Ressourcengruppe, klicken Sie auf Erstellen, um eine Ressourcengruppe zu erstellen.

Schritt 2. Iot Hub erstellen

Jetzt können Sie eine Cloud-Ressource erstellen, klicken Sie links auf Create a resource, wählen Sie Internet of Things - Iot Hub, es wird eine neue Seite geöffnet.

Wählen Sie auf der Registerkarte Basics die soeben erstellte Ressourcengruppe aus, und geben Sie den Iot-Hub-Namen (z.

Bild
Bild

Wählen Sie auf der Registerkarte Größe und Staffelung F1: Kostenlose Stufe oder B1: Basisstufe in der Kombination aus Preis und Staffelstufe aus. Die Basisstufe kostet 10,00 USD pro Monat. Wechseln Sie schließlich zu Überprüfen + erstellen Sie die Registerkarte, die Sie eingegeben haben, und klicken Sie auf Erstellen, um einen Iot Hub zu erstellen.

Bild
Bild

Schritt 3. Konfigurieren Sie LORIOT

Geben Sie den soeben erstellten Iot Hub ein, klicken Sie auf Richtlinien für den gemeinsamen Zugriff - Gerät, kopieren Sie den Primärschlüssel in die Seite rechts.

Bild
Bild

Öffnen Sie ein neues Browserfenster (oder eine neue Registerkarte), melden Sie sich bei Ihrem LORIOT Control Panel an, gehen Sie zu Application - SampleApp, klicken Sie auf Datenausgabe in der Control-Gruppe - Change. Wählen Sie in der Gruppe Ausgabetyp ändern die Option Azure Iot Hub aus, geben Sie Ihren Iot Hub-Namen und Primärschlüssel ein, und klicken Sie unten auf die Schaltfläche Änderung bestätigen.

Bild
Bild

Schritt 4. Iot-Gerät hinzufügen

Klicken Sie in LORIOT links in der Liste auf Geräte und kopieren Sie Ihre Geräte-EUI.

Bild
Bild

Zurück zu Azure Iot Hub, klicken Sie in der Liste auf der linken Seite von Iot Hub auf Iot-Geräte. Klicken Sie auf Hinzufügen, füllen Sie auf der geöffneten Seite die Geräte-EUI mit der Geräte-ID aus.

WICHTIG: LÖSCHEN SIE ALLE SEPRATOREN IN DEVICE EUI, lassen Sie es wie 1122334455667788 aussehen.

Bild
Bild

Klicken Sie auf Speichern, fertig.

Schritt 5. D2C-Nachrichten (Device to Cloud) empfangen

Sie können Microsoft Docs folgen, um D2C-Nachrichten zu lesen.

Schritt 5: Softwareprogrammierung

Die Softwareprogrammierung ist in 3 Teile unterteilt: Node, Gateway und Website. Bitte folgen Sie dem vorherigen Tutorial, um Node Part und Gateway Part zu programmieren. Die Schritte 1 bis 8 des Website-Teils entsprechen auch denen des vorherigen Tutorials.

Wenn Sie Microsoft Azure bereits konfiguriert haben, öffnen Sie ein Terminal, geben Sie den Stammordner Ihrer Website ein, aktivieren Sie die virtuelle Umgebung:

cd ~/iotea-hb

Quell-Bin/aktivieren

Installieren Sie das Azure Event Hub-Modul über pip und erstellen Sie eine neue.py-Datei (z. B. iothub_recv.py):

pip install azure-eventhub

Berühren Sie iothub_recv.py

und schreibe dann folgende Codes dazu:

# --------------------------------------------------------------------------------------------

# Urheberrecht (c) Microsoft Corporation. Alle Rechte vorbehalten. # Lizenziert unter der MIT-Lizenz. Lizenzinformationen finden Sie unter License.txt im Projektstamm. # -------------------------------------------------- ------------------------------------------------------- from Azure importiere eventhub aus Azure. eventhub import EventData, EventHubClient, Offset import Logging logger = Logging.getLogger('azure.eventhub') import db, json, time, datetime def get_time(): cntime = datetime.datetime.now() + datetime.timedelta(hours = +8) Datum = cntime.strftime('%Y-{}-{}').format(cntime.strftime('%m').zfill(2), cntime.strftime('%d').zfill(2)) Stunde = cntime.strftime('%H').zfill(2) Minute = cntime.strftime('%M').zfill(2) Sekunde = cntime.strftime('%S').zfill(2) return [Datum, Stunde, Minute, Sekunde] def get_iothub_data(): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string('', debug=True) receiver = client.add_receiver("$default", " 3", operation='/messages/events', offset = Offset(datetime.datetime.utcnow())) try: client.run() eh_info = client.get_eventhub_info() print(eh_info) empfangen = receiver.receive(timeout =5) print(received) for item in empfangen: me ssage = json.loads(str(item.message)) print(message) if 'data' in message: data = message['data'] air_temp = str(int(data[0:2], 16)) air_hum = str(int(data[2:4], 16)) Druck = str(int((data[4:8]), 16)) co2 = str(int(data[8:12], 16)) Staub = str(int(data[12:16], 16)) Beleuchtung = str(int(data[16:20], 16)) o2 = str(round(int(data[20:22], 16) / 10, 1)) boden_temp = str(int(data[22:24], 16)) boden_hum = str(int(data[24:26], 16)) spannung = str(round(int(data[26:28], 16) / int('ff', 16) * 5, 1)) error = str(int(data[28:], 16)) list = [air_temp, air_hum, pressure, co2, dust, lighting, o2, ground_temp, ground_hum, voltage, error] schließlich: client.stop() gibt Liste zurück, während True: list = get_time() + get_iothub_data() db.insert(list) print(list)

Bevor Sie das Programm ausführen, ändern Sie Ihre Verbindungszeichenfolge in

client = EventHubClient.from_iothub_connection_string('', debug=True)

Sie können Ihre Verbindungszeichenfolge abrufen, indem Sie auf Gemeinsame Zugriffsrichtlinien - iotowner in Iot Hub klicken. Der Primärschlüssel der Verbindungszeichenfolge auf der geöffneten Seite ist die Verbindungszeichenfolge.

Bild
Bild

Danach können Sie das Programm starten:

gunicorn iothub_recv:app

Empfohlen: