Cuprins:

Seeed IoTea LoRa Solution (cu Azure, Update 1812): 5 pași
Seeed IoTea LoRa Solution (cu Azure, Update 1812): 5 pași

Video: Seeed IoTea LoRa Solution (cu Azure, Update 1812): 5 pași

Video: Seeed IoTea LoRa Solution (cu Azure, Update 1812): 5 pași
Video: Seeed IoTea Lora Solution 2024, Noiembrie
Anonim
Seeed IoTea LoRa Solution (cu Azure, Update 1812)
Seeed IoTea LoRa Solution (cu Azure, Update 1812)

Microsoft Azure este un serviciu cloud care oferă o putere de calcul mai puternică și mai stabilă. De data aceasta am încercat să îi trimitem datele IoTea către acesta.

Pasul 1: Lucruri utilizate în acest proiect

Componente hardware

  • Grove - Senzor de dioxid de carbon (MH-Z16)
  • Grove - senzor digital de lumină
  • Grove - Senzor de praf (PPD42NS)
  • Grove - Senzor de oxigen (ME2-O2-Ф20)
  • Senzor de umiditate și temperatură a solului
  • LoRa LoRaWAN Gateway - Kit 868MHz cu Raspberry Pi 3
  • Grove - Senzor de temp & Humi și barometru (BME280)

Aplicații software și servicii online

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Pasul 2: Poveste

Pe muntele Mengding la nord-est de Ya’an, Sichuan, creasta montană se îndreaptă spre vest spre est, într-o mare verde. Aceasta este o priveliște familiară pentru Deng, în vârstă de 36 de ani, unul dintre puținii producători de ceai Mengding din generația sa, cu o plantație de 50mu (= 3,3 hectare) situată la 1100m deasupra nivelului mării. Deng provine dintr-o familie de producători de ceai, dar continuarea moștenirii familiei nu este o sarcină ușoară. „Ceaiurile noastre sunt cultivate la mare altitudine într-un mediu organic pentru a asigura calitatea sa excelentă. Dar, în același timp, densitatea de creștere este scăzută, costul este ridicat și înmugurirea este inegală, ceea ce face ca ceaiul să fie greu de recoltat. De aceea, ceaiurile de munte sunt în mod normal recolte mici, iar valorile lor nu se reflectă pe piață.”În ultimii doi ani, Deng a încercat să sensibilizeze consumatorii cu privire la ceaiul de munte pentru a le promova valoarea. Și când l-a întâlnit pe Fan, care căuta o plantație pentru a implementa tehnologia IoTea a lui Seeed, s-a făcut o potrivire perfectă pentru o soluție.

Pasul 3: Conexiune hardware

Vă rugăm să urmați Tutorialul anterior pentru a vă conecta hardware-ul.

Pasul 4: Configurare cloud

Pasul 1. Creați un grup de resurse

Faceți clic aici pentru a vă conecta la Microsoft Azure. Apoi, introduceți grupuri de resurse în listă în partea stângă a tabloului de bord, faceți clic pe Adăugare pentru a adăuga un grup de resurse.

Imagine
Imagine

Un grup de resurse este utilizat pentru a gestiona toate resursele din proiect, după utilizarea resurselor cloud, ștergeți grupul de resurse pentru a șterge toate resursele pentru a evita taxele. În pagina deschisă, completați numele grupului de resurse (cum ar fi iotea), alegeți Abonament și locația grupului de resurse, dacă este necesar, faceți clic pe Creați pentru a crea un grup de resurse.

Pasul 2. Creați Iot Hub

Acum puteți crea o resursă cloud, faceți clic pe Creați o resouce din stânga, alegeți Internetul obiectelor - Iot Hub, va deschide o pagină nouă.

În fila Elementele de bază, alegeți grupul de resurse pe care tocmai l-ați creat și completați Iot Hub Name (cum ar fi iotea), alegeți Abonament și regiune dacă este necesar, apoi treceți la fila Dimensiune și scle.

Imagine
Imagine

În fila Mărime și scară, alegeți F1: Nivel gratuit sau B1: Nivel de bază în combo de prețuri și nivel de scară, Nivelul de bază va dura 10,00 USD pe lună. În cele din urmă, accesați fila Revizuire + creați verificarea introducerii și faceți clic pe Creați pentru a crea un Iot Hub.

Imagine
Imagine

Pasul 3. Configurați LORIOT

Introduceți Iot Hub-ul pe care tocmai l-ați creat, faceți clic pe Politici de acces partajat - dispozitiv, copiați cheia primară în pagina din dreapta.

Imagine
Imagine

Deschideți o nouă fereastră de browser (sau filă), conectați-vă panoul de control LORIOT, accesați Aplicație - SampleApp, faceți clic pe Ieșire date în grupul de control - Modificare. În Modificare grup tip de ieșire, alegeți Azure Iot Hub, completați numele Iot Hub și cheia principală și faceți clic pe butonul Confirmare modificare din partea de jos.

Imagine
Imagine

Pasul 4. Adăugați dispozitivul Iot

Faceți clic pe Dispozitive din lista din stânga în LORIOT, copiați dispozitivul EUI.

Imagine
Imagine

Înapoi la Azure Iot Hub, faceți clic pe Iot dispozitive în lista din stânga Iot Hub. Faceți clic pe Adăugare, completați EUI dispozitiv la ID dispozitiv în pagina deschisă.

IMPORTANT: ȘTERGEȚI TOT SEPRATORUL ÎN DISPOZITIV EUI, să arate ca 1122334455667788.

Imagine
Imagine

Faceți clic pe Salvare, gata.

Pasul 5. Primiți mesaje D2C (Device to Cloud)

Puteți urmări Microsoft Docs pentru a citi Mesaje D2C.

Pasul 5: Programare software

Programarea software este împărțită în 3 părți: Nod, Gateway și Website, vă rugăm să urmați Tutorialul anterior pentru a programa Node Part și Gateway Part. Pașii de la 1 la 8 din partea site-ului web sunt, de asemenea, identici cu Tutorialul anterior.

Dacă ați configurat deja Microsoft Azure, deschideți un terminal, introduceți folderul rădăcină al site-ului dvs. web, activați mediul virtual:

cd ~ / iotea-hb

coș sursă / activați

instalați modulul Azure Event Hub prin pip și creați un fișier new.py (cum ar fi iothub_recv.py):

pip instalează azure-eventhub

atinge iothub_recv.py

și apoi scrieți coduri urmând:

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

# Drepturi de autor (c) Microsoft Corporation. Toate drepturile rezervate. # Licențiat sub licența MIT. Consultați License.txt în rădăcina proiectului pentru informații despre licență. # ------------------------------------------------- ------------------------------------------- din azure import eventhub din azure. import eventhub EventData, EventHubClient, Offset log logging import = logging.getLogger ('azure.eventhub') import db, json, time, datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (hours = +8) date = cntime.strftime ('% Y - {} - {}'). Format (cntime.strftime ('% m'). Zfill (2), cntime.strftime ('% d'). Zfill (2)) hour = cntime.strftime ('% H'). Zfill (2) minute = cntime.strftime ('% M'). Zfill (2) second = cntime.strftime ('% S'). Zfill (2)) return [date, hour, minute, second] def get_iothub_data (): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string ('', debug = True) receiver = client.add_receiver ("$ implicit", " 3 ", operation = '/ messages / events', offset = Offset (datetime.datetime.utcnow ())) try: client.run () eh_info = client.get_eventhub_info () print (eh_info) primit = receiver.receive (timeout = 5) print (primit) pentru elementul primit: eu 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 (date [2: 4], 16)) presiune = str (int ((date [4: 8]), 16)) co2 = str (int (date [8:12], 16)) praf = str (int (date [12:16], 16)) iluminare = str (int (date [16:20], 16)) o2 = str (round (int (data [20:22], 16) / 10, 1)) soil_temp = str (int (date [22:24], 16)) soil_hum = str (int (data [24:26], 16)) voltage = str (round (int (data [26:28]), 16) / int ('ff', 16) * 5, 1)) error = str (int (date [28:], 16)) list = [air_temp, air_hum, pressure, CO2, praf, iluminare, o2, soil_temp, soil_hum, tensiune, eroare] în cele din urmă: client.stop () returnează lista în timp ce True: list = get_time () + get_iothub_data () db.insert (list) print (list)

Înainte de a rula programul, modificați șirul de conexiune în

client = EventHubClient.from_iothub_connection_string ( , depanare = Adevărat)

puteți obține șirul de conexiune făcând clic pe Politici de acces partajat - iotowner în Iot Hub, cheia de șir de conexiune-primară din pagina deschisă este șirul de conexiune.

Imagine
Imagine

După aceea, puteți porni programul:

gunicorn iothub_recv: aplicație

Recomandat: