Turinys:

Matytas „IoTea LoRa“sprendimas (su „Azure“, 1812 naujinimas): 5 žingsniai
Matytas „IoTea LoRa“sprendimas (su „Azure“, 1812 naujinimas): 5 žingsniai

Video: Matytas „IoTea LoRa“sprendimas (su „Azure“, 1812 naujinimas): 5 žingsniai

Video: Matytas „IoTea LoRa“sprendimas (su „Azure“, 1812 naujinimas): 5 žingsniai
Video: CS50 2015 - Week 4 2024, Birželis
Anonim
Mačiau „IoTea LoRa“sprendimą (su „Azure“, 1812 naujinimas)
Mačiau „IoTea LoRa“sprendimą (su „Azure“, 1812 naujinimas)

„Microsoft Azure“yra debesų paslauga, suteikianti galingesnę ir stabilesnę skaičiavimo galią. Šį kartą bandėme į jį siųsti savo „IoTea“duomenis.

1 žingsnis: šiame projekte naudojami dalykai

Techninės įrangos komponentai

  • „Grove“- anglies dioksido jutiklis (MH -Z16)
  • Grove - skaitmeninis šviesos jutiklis
  • Grove - dulkių jutiklis (PPD42NS)
  • Grove-deguonies jutiklis (ME2-O2-Ф20)
  • Dirvožemio drėgmės ir temperatūros jutiklis
  • „LoRa LoRaWAN Gateway“- 868 MHz rinkinys su „Raspberry Pi 3“
  • Grove - Temp & Humi & Barometer jutiklis (BME280)

Programinės įrangos programos ir internetinės paslaugos

  • „Microsoft Visual Studio 2015“
  • „Microsoft Azure“

2 žingsnis: istorija

Mengding kalne į šiaurės rytus nuo Ya'an, Sičuanas, kalnų ketera eina į vakarus į rytus žalioje jūroje. Tai labiausiai pažįstamas vaizdas 36 metų Dengui, vienam iš nedaugelio savo kartos „Mengding“arbatos gamintojų, kuriame yra 50 m (= 3,3 ha) plantacija, esanti 1100 m virš jūros lygio. Deng yra kilęs iš arbatos gamintojų šeimos, tačiau išlaikyti šeimos palikimą nėra lengva užduotis. „Mūsų arbatos yra auginamos dideliame aukštyje ekologiškoje aplinkoje, kad būtų užtikrinta puiki jos kokybė. Tačiau tuo pačiu metu augimo tankis yra mažas, kaina didelė ir pumpurai nevienodi, todėl arbatą sunku nuimti. Štai kodėl aukštų kalnų arbatos paprastai yra nedideli derliai, o jų vertybės neatsispindi rinkoje. “Pastaruosius dvejus metus„ Deng “stengėsi didinti vartotojų supratimą apie kalnų arbatą, siekdama skatinti jų vertę. Ir kai jis susitiko su Fanu, kuris ieškojo plantacijos „Seeed“„IoTea“technologijai diegti, buvo puikiai suderintas sprendimas.

3 žingsnis: aparatinės įrangos prijungimas

Norėdami prijungti aparatūrą, vadovaukitės ankstesne pamoka.

4 veiksmas: sukonfigūruokite debesį

Žingsnis 1. Sukurkite išteklių grupę

Spustelėkite čia, kad prisijungtumėte prie „Microsoft Azure“. Tada įveskite išteklių grupes sąraše, esančiame prietaisų skydelio kairėje, spustelėkite Pridėti, kad pridėtumėte išteklių grupę.

Vaizdas
Vaizdas

Išteklių grupė naudojama valdyti visus projekto išteklius, panaudojus debesies išteklius, ištrinti išteklių grupę, kad būtų ištrinti visi ištekliai, kad būtų išvengta mokesčių. Atidarytame puslapyje užpildykite išteklių grupės pavadinimą (pvz., „Iotea“), pasirinkite Prenumerata ir Išteklių grupės vieta, jei reikia, spustelėkite Sukurti, kad sukurtumėte išteklių grupę.

Žingsnis 2. Sukurkite „Iot Hub“

Dabar galite sukurti debesų išteklius, kairėje spustelėkite Sukurti išteklių, pasirinkite Daiktų internetas - „Iot Hub“, jis atidarys naują puslapį.

Skirtuke „Pagrindai“pasirinkite ką tik sukurtą išteklių grupę ir užpildykite „Iot Hub“pavadinimą (pvz., „Iotea“), jei reikia, pasirinkite Prenumerata ir regionas, tada pasukite į skirtuką „Dydis ir mastelis“.

Vaizdas
Vaizdas

Skirtuke Dydis ir skalė pasirinkite F1: nemokama pakopa arba B1: pagrindinė pakopa kainodaros ir masto pakopos derinyje, pagrindinė pakopa užims 10,00 USD per mėnesį. Galiausiai, įveskite skirtuką „Peržiūra + kūrimas“ir spustelėkite „Sukurti“, kad sukurtumėte „Iot Hub“.

Vaizdas
Vaizdas

3 žingsnis. Konfigūruokite LORIOT

Įveskite ką tik sukurtą „Iot Hub“, spustelėkite Bendrosios prieigos politika - įrenginys, nukopijuokite pirminį raktą į puslapį dešinėje.

Vaizdas
Vaizdas

Atidarykite naują naršyklės langą (arba skirtuką), prisijunkite prie „LORIOT“valdymo skydelio, eikite į „Application - SampleApp“, spustelėkite „Data output“, esantį „Control group - Change“. Grupėje Keisti išvesties tipą pasirinkite „Azure Iot Hub“, užpildykite „Iot Hub“pavadinimą ir pirminį raktą, o apačioje spustelėkite mygtuką Patvirtinti pakeitimą.

Vaizdas
Vaizdas

Žingsnis 4. Pridėkite „Iot“įrenginį

LORIOT kairėje esančiame sąraše spustelėkite Įrenginiai, nukopijuokite savo įrenginio EUI.

Vaizdas
Vaizdas

Grįžę į „Azure Iot Hub“, sąraše kairėje „Iot Hub“spustelėkite „Iot“įrenginiai. Atidarytame puslapyje spustelėkite Pridėti, užpildykite įrenginio EUI prie įrenginio ID.

SVARBU: IŠTRINKITE VISUS SEPRATORIUS ĮRENGINYJE EUI, tegul atrodo kaip 1122334455667788.

Vaizdas
Vaizdas

Spustelėkite Išsaugoti, viskas padaryta.

Žingsnis 5. Gaukite D2C („Device to Cloud“) pranešimus

Galite skaityti „D2C“pranešimus naudodami „Microsoft“dokumentus.

5 žingsnis: programinės įrangos programavimas

Programinės įrangos programavimas yra padalintas į 3 dalis: mazgą, šliuzą ir svetainę, vadovaukitės ankstesne pamoka, skirta programuoti mazgo dalį ir šliuzo dalį. Svetainės dalies 1–8 veiksmai taip pat yra tokie patys kaip ir ankstesnė pamoka.

Jei jau sukonfigūravote „Microsoft Azure“, atidarykite terminalą, įveskite savo svetainės šakninį aplanką, suaktyvinkite virtualią aplinką:

cd ~/iotea-hb

šaltinio bin/suaktyvinti

įdiekite „Azure Event Hub“modulį per pip ir sukurkite naują.py failą (pvz., iothub_recv.py):

pip įdiegti azure-eventhub

palieskite iothub_recv.py

ir tada parašykite kodus po juo:

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

# Autorių teisės (c) „Microsoft Corporation“. Visos teisės saugomos. # Licencijuota pagal MIT licenciją. Informacijos apie licenciją ieškokite License.txt projekto šaknyje. # ------------------------------------------------- ------------------------------------------- iš azure importo eventhub iš azure. eventhub imports +8) data = cntime.strftime ('%Y-{}-{}'). Formatas (cntime.strftime ('%m'). Zfill (2), cntime.strftime ('%d'). Zfill (2)) valanda = cntime.strftime ('%H'). Zfill (2) minute = cntime.strftime ('%M'). Zfill (2) second = cntime.strftime ('%S'). Zfill (2)) return [data, valanda, minutė, sekundė] def get_iothub_data (): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string ('', debug = True) imtuvas = client.add_receiver ("$ default", " 3 ", operacija = '/pranešimai/įvykiai', poslinkis = poslinkis (datetime.datetime.utcnow ())) pabandykite: client.run () eh_info = client.get_eventhub_info () print (eh_info) gavo = imtuvas.recept (timeout = 5) spausdinti (gauti) gautam elementui: aš 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 (duomenys [2: 4], 16)) slėgis = str (int ((duomenys [4: 8]), 16)) co2 = str (int (duomenys [8:12], 16)) dulkės = str (int (duomenys [12:16], 16)) apšvietimas = str (int (duomenys [16:20], 16)) o2 = str (apvalus (int (duomenys [20:22], 16) / 10, 1)) dirvožemio_tempas = str (int (duomenys [22:24], 16)) ground_hum = str (int (duomenys [24:26], 16)) įtampa = str (apvalus (int (duomenys [26:28]), 16) / int ('ff', 16) * 5, 1)) error = str (int (duomenys [28:], 16)) list = [air_temp, air_hum, pressure, co2, dulkės, apšvietimas, o2, dirvožemio temperatūra, dirvožemio_humas, įtampa, klaida] galiausiai: klientas.stop () grąžina sąrašą, o tiesa: sąrašas = get_time () + get_iothub_data () db.insert (list) print (list)

Prieš paleisdami programą, pakeiskite ryšio eilutę

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

ryšio eilutę galite gauti spustelėję Bendrinamos prieigos strategijos - „iotowner“„Iot Hub“, ryšio eilutė -pirminis raktas atidarytame puslapyje yra ryšio eilutė.

Vaizdas
Vaizdas

Po to galite paleisti programą:

gunicorn iothub_recv: app

Rekomenduojamas: