Sisukord:

Nägi IoTea LoRa lahendust (koos Azure'i värskendusega 1812): 5 sammu
Nägi IoTea LoRa lahendust (koos Azure'i värskendusega 1812): 5 sammu

Video: Nägi IoTea LoRa lahendust (koos Azure'i värskendusega 1812): 5 sammu

Video: Nägi IoTea LoRa lahendust (koos Azure'i värskendusega 1812): 5 sammu
Video: 🚀 AMAZON 2.0 – VEEBIPOOD nullist 6 tunniga [Next / React / Nest / PostgreSQL / Prisma / TS] 2024, Juuni
Anonim
Nägin IoTea LoRa lahendust (koos Azure'i värskendusega 1812)
Nägin IoTea LoRa lahendust (koos Azure'i värskendusega 1812)

Microsoft Azure on pilveteenus, mis pakub võimsamat ja stabiilsemat arvutusvõimsust. Seekord proovisime oma IoTea andmeid sinna saata.

Samm: selles projektis kasutatud asjad

Riistvara komponendid

  • Grove - süsinikdioksiidi andur (MH -Z16)
  • Grove - digitaalne valgusandur
  • Grove - tolmuandur (PPD42NS)
  • Grove-hapnikuandur (ME2-O2-Ф20)
  • Mulla niiskuse ja temperatuuri andur
  • LoRa LoRaWAN Gateway - 868 MHz komplekt koos Raspberry Pi 3 -ga
  • Grove - Temp & Humi & Barometer Sensor (BME280)

Tarkvararakendused ja võrguteenused

  • Microsoft Visual Studio 2015
  • Microsoft Azure

2. samm: lugu

Sichuanis Ya’anist kirdes Mengdingi mäel kulgeb mäeharja rohelises meres läänest itta. See on kõige tuttavam vaatepilt 36-aastasele Dengile, kes on üks vähestest oma põlvkonna Mengdingi tee valmistajatest ja mille istandus 50 m (= 3,3 hektarit) asub 1100 m kõrgusel merepinnast. Deng pärineb teekeetjate perekonnast, kuid perekonna pärandi jätkamine pole lihtne ülesanne. „Meie teed kasvatatakse orgaanilises keskkonnas suurel kõrgusel, et tagada selle suurepärane kvaliteet. Kuid samal ajal on kasvutihedus madal, kulud kõrged ja tärkamine ebaühtlane, mistõttu teed on raske koristada. Seetõttu on kõrgete mägede teed tavaliselt väikesed saagid ja nende väärtused ei kajastu turul.”Viimase kahe aasta jooksul on Deng püüdnud tõsta tarbijate teadlikkust mägiteest, et edendada nende väärtust. Ja kui ta kohtus Faniga, kes otsis istandust Seeedi IoTea tehnoloogia rakendamiseks, leiti lahendus ideaalselt.

Samm: riistvaraühendus

Riistvara ühendamiseks järgige eelmist õpetust.

Samm: pilve seadistamine

Samm 1. Looge ressursirühm

Microsoft Azure'i sisselogimiseks klõpsake siin. Seejärel sisestage armatuurlaua vasakpoolsesse loendisse ressursirühmad ja klõpsake käsku Lisa, et lisada ressursirühm.

Pilt
Pilt

Ressursirühma kasutatakse kõigi projekti ressursside haldamiseks, pärast pilveressursside kasutamist kustutage ressursirühm, et tasude vältimiseks kõik ressursid kustutada. Avatud lehel täitke ressursirühma nimi (näiteks iotea), valige tellimus ja vajadusel ressursirühma asukoht, klõpsake ressursirühma loomiseks nuppu Loo.

Samm 2. Looge Iot Hub

Nüüd saate luua pilveressursi, klõpsake vasakul nuppu Loo ressurss, valige Asjade Internet - Iot Hub, see avab uue lehe.

Vahekaardil Põhitõed valige äsja loodud ressursirühm ja täitke Iot Hubi nimi (nt iotea), vajadusel valige Tellimus ja piirkond ning seejärel vahekaart Suurus ja skaleerimine.

Pilt
Pilt

Vahekaardil Suurus ja skaala valige F1: Tasuta tase või B1: Põhitase hinnakujunduses ja skaalataseme kombinatsioon, põhitasand võtab 10,00 USD kuus. Lõpuks minge vahekaardile Ülevaade + loomine ja kontrollige sisendit ning klõpsake Iot Hubi loomiseks nuppu Loo.

Pilt
Pilt

Samm 3. Seadistage LORIOT

Sisestage äsja loodud Iot Hub, klõpsake jagatud juurdepääsu poliitikat - seade, kopeerige parempoolse lehe primaarvõti.

Pilt
Pilt

Avage uus brauseriaken (või vahekaart), logige sisse oma LORIOT -i juhtpaneelile, minge jaotisse Rakendus - SampleApp, klõpsake jaotises Juhtimisrühm - Muuda. Valige rühmas Muuda väljunditüüpi Azure Iot Hub, täitke oma Iot Hubi nimi ja esmane võti ning klõpsake allosas nuppu Kinnita muutmine.

Pilt
Pilt

Samm 4. Lisage Iot -seade

Klõpsake LORIOT -i vasakpoolses loendis nuppu Seadmed, kopeerige oma seadme EUI.

Pilt
Pilt

Tagasi Azure Iot Hub'i, klõpsake Iot Hub'i vasakpoolses loendis Iot -seadmeid. Avatud lehel klõpsake nuppu Lisa, täitke seadme EUI seadme ID -ga.

TÄHTIS: KUSTUTA KÕIK SEPRATOR SEADMEST EUI, laske välja näha nagu 1122334455667788.

Pilt
Pilt

Klõpsake nuppu Salvesta, kõik on valmis.

Samm 5. Võtke vastu D2C (seade pilve) sõnumeid

D2C -sõnumite lugemiseks saate järgida Microsofti dokumente.

Samm: tarkvara programmeerimine

Tarkvara programmeerimine on jagatud kolmeks osaks: Sõlm, Lüüs ja Veebisait, palun järgige Sõlmeosa ja Lüüsiosa programmeerimise eelmist õpetust. Veebisaidi osa sammud 1–8 on samad, mis eelmine õpetus.

Kui olete juba Microsoft Azure'i konfigureerinud, avage terminal, sisestage oma veebisaidi juurkaust ja aktiveerige virtuaalne keskkond.

cd ~/iotea-hb

allikakast/aktiveeri

installige Azure Event Hub moodul pipi kaudu ja looge uus.py -fail (näiteks iothub_recv.py):

pip installige azure-eventhub

puudutage iothub_recv.py

ja kirjutage sellele järgnevad koodid:

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

# Autoriõigus (c) Microsoft Corporation. Kõik õigused kaitstud. # Litsentsitud MIT litsentsi alusel. Litsentsiteabe saamiseks vaadake projekti juurest License.txt. # ------------------------------------------------- ------------------------------------------- Azure'ist imporditud eventhubist taevasinisest. eventhub import EventData, EventHubClient, Offset import logimise logija = logging.getLogger ('azure.eventhub') import db, json, time, datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (hours = +8) date = cntime.strftime ('%Y-{}-{}'). Formaat (cntime.strftime ('%m'). Zfill (2), cntime.strftime ('%d'). Zfill (2)) tund = cntime.strftime ('%H'). Zfill (2) minut = cntime.strftime ('%M'). Zfill (2) second = cntime.strftime ('%S'). Zfill (2)) return [kuupäev, tund, minut, sekund] def get_iothub_data (): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string ('', silumine = True) vastuvõtja = client.add_receiver ("$ default", " 3 ", operation = '/messages/events', offset = Offset (datetime.datetime.utcnow ())) proovige: client.run () eh_info = client.get_eventhub_info () print (eh_info) saanud = vastuvõtja.saada (timeout = 5) trükitud (saadud) üksuse kohta: sain ssage = json.loads (str (item.message)) print (message) if 'data' in the message: data = message ['data'] air_temp = str (int (data [0: 2], 16)) air_hum = str (int (andmed [2: 4], 16)) rõhk = str (int ((andmed [4: 8]), 16)) co2 = str (int (andmed [8:12], 16)) tolm = str (int (andmed [12:16], 16)) valgustus = str (int (andmed [16:20], 16)) o2 = str (ümmargused (int (andmed [20:22], 16) / 10, 1)) pinnase_temperatuur = str (int (andmed [22:24], 16)) pinnase_hum = str (int (andmed [24:26], 16)) pinge = str (ümmargune (int (andmed [26:28]), 16) / int ('ff', 16) * 5, 1)) error = str (int (andmed [28:], 16)) list = [air_temp, air_hum, pressure, co2, tolm, valgustus, o2, mullatemperatuur, pinnase_hum, pinge, viga] lõpuks: client.stop () tagastamisloend, samas True: list = get_time () + get_iothub_data () db.insert (list) print (list)

Enne programmi käivitamist muutke ühenduse string

klient = EventHubClient.from_iothub_connection_string ('', silumine = tõene)

saate oma ühenduse stringi hankida, klõpsates jagatud juurdepääsupoliitikaid - iot Huber Iot Hubis, ühenduse stringi esmane võti avatud lehel on ühenduse string.

Pilt
Pilt

Pärast seda saate programmi käivitada:

gunicorn iothub_recv: rakendus

Soovitan: