Sadržaj:

Vidjeli IoTea LoRa rješenje (s Azure, ažuriranje 1812): 5 koraka
Vidjeli IoTea LoRa rješenje (s Azure, ažuriranje 1812): 5 koraka

Video: Vidjeli IoTea LoRa rješenje (s Azure, ažuriranje 1812): 5 koraka

Video: Vidjeli IoTea LoRa rješenje (s Azure, ažuriranje 1812): 5 koraka
Video: CS50 2014 - Week 9, continued 2024, Lipanj
Anonim
Vidjeli IoTea LoRa rješenje (s Azureom, ažuriranje 1812)
Vidjeli IoTea LoRa rješenje (s Azureom, ažuriranje 1812)

Microsoft Azure je usluga u oblaku koja pruža snažniju i stabilniju računalnu snagu. Ovaj put pokušali smo mu poslati svoje IoTea podatke.

Korak 1: Stvari korištene u ovom projektu

Hardverske komponente

  • Grove - Senzor ugljičnog dioksida (MH -Z16)
  • Grove - digitalni svjetlosni senzor
  • Grove - Senzor prašine (PPD42NS)
  • Grove-Senzor kisika (ME2-O2-F20)
  • Senzor vlage i temperature tla
  • LoRa LoRaWAN pristupnik - 868MHz komplet s Raspberry Pi 3
  • Grove - Senzor za temp i Humi i barometar (BME280)

Softverske aplikacije i mrežne usluge

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Korak 2: Priča

Na planini Mengding sjeveroistočno od Ya’ana, Sichuan, planinski greben ide od zapada prema istoku u zelenom moru. Ovo je najpoznatiji prizor za 36-godišnjeg Denga, jednog od rijetkih proizvođača čaja Mengding svoje generacije, s plantažom od 50mu (= 3,3 hektara) smještenom na 1100 m nadmorske visine. Deng potječe iz obitelji proizvođača čajeva, no nošenje obiteljskog naslijeđa nije lak zadatak. “Naši čajevi uzgajaju se na velikim nadmorskim visinama u organskom okruženju kako bi se osigurala njegova izvrsna kvaliteta. No, u isto vrijeme, gustoća rasta je niska, troškovi su visoki i pupoljci su neravnomjerni, što otežava berbu čaja. Zato su visokoplaninski čajevi obično male berbe i njihove se vrijednosti ne odražavaju na tržištu.”Posljednje dvije godine Deng pokušava podići svijest potrošača o planinskim čajevima kako bi promicao njihovu vrijednost. A kad je upoznao Fan, koji je tražio plantažu za implementaciju Seeedove IoTea tehnologije, napravljeno je savršeno rješenje.

Korak 3: Povezivanje hardvera

Slijedite prethodni vodič za povezivanje vašeg hardvera.

Korak 4: Konfiguriranje oblaka

Korak 1. Stvorite grupu resursa

Kliknite ovdje za prijavu u Microsoft Azure. Zatim unesite grupe resursa na popis s lijeve strane nadzorne ploče, kliknite Dodaj za dodavanje grupe resursa.

Slika
Slika

Grupa resursa koristi se za upravljanje svim resursima u projektu, nakon korištenja resursa u oblaku, izbrišite grupu resursa kako biste izbrisali sve resurse kako biste izbjegli naplatu. Na otvorenoj stranici popunite naziv grupe resursa (kao što je iotea), odaberite Pretplatu i lokaciju grupe resursa ako je potrebno, kliknite Stvori da biste stvorili grupu resursa.

Korak 2. Stvorite Iot Hub

Sada možete stvoriti resurs u oblaku, kliknite Stvori resurs s lijeve strane, odaberite Internet stvari - Iot Hub, otvorit će se nova stranica.

Na kartici Osnove odaberite Grupu resursa koju ste upravo stvorili i ispunite Iot Hub Name (kao što je iotea), odaberite Pretplatu i Regiju ako je potrebno, a zatim idite na karticu Veličina i veličina.

Slika
Slika

Na kartici Veličina i ljestvica odaberite F1: Besplatni nivo ili B1: Osnovni nivo u kombinaciji Cijene i razina ljestvice, osnovni nivo će uzeti 10,00 USD mjesečno. Na kraju, prijeđite na karticu Pregled + stvaranje, provjerite unos i kliknite Stvori da biste stvorili Iot Hub.

Slika
Slika

Korak 3. Konfigurirajte LORIOT

Unesite Iot Hub koji ste upravo stvorili, kliknite Pravila zajedničkog pristupa - uređaj, kopirajte primarni ključ u stranicu s desne strane.

Slika
Slika

Otvorite novi prozor preglednika (ili karticu), prijavite se na upravljačku ploču LORIOT, idite na Aplikacija - SampleApp, kliknite Izlaz podataka u Kontrolna grupa - Promijeni. U grupi Promjena vrste izlaza odaberite Azure Iot Hub, ispunite naziv Iot Hub -a i primarni ključ i kliknite gumb Potvrdi promjenu pri dnu.

Slika
Slika

Korak 4. Dodajte Iot uređaj

Kliknite Uređaji na popisu s lijeve strane u LORIOT -u, kopirajte svoj korisnički interfejs uređaja.

Slika
Slika

Natrag na Azure Iot Hub, kliknite Iot uređaji na popisu lijevo od Iot Hub. Pritisnite Dodaj, ispunite EUI uređaja u ID uređaja na otvorenoj stranici.

VAŽNO: IZBRIŠITE SVI SEPRATOR U UREĐAJU EUI, neka izgleda kao 1122334455667788.

Slika
Slika

Pritisnite Spremi, sve je gotovo.

Korak 5. Primite D2C (Device to Cloud) poruke

Možete čitati D2C poruke pomoću Microsoftovih dokumenata.

Korak 5: Programiranje softvera

Programiranje softvera podijeljeno je na 3 dijela: čvor, pristupnik i web mjesto. Slijedite prethodni vodič za programiranje dijela čvora i dijela pristupnika. Koraci 1 do 8 dijela web stranice također su isti kao i prethodni vodič.

Ako ste već konfigurirali Microsoft Azure, otvorite terminal, unesite korijensku mapu web stranice, aktivirajte virtualno okruženje:

cd ~/iotea-hb

izvorni spremnik/aktiviranje

instalirajte Azure Event Hub modul putem pipa i stvorite novu.py datoteku (poput iothub_recv.py):

pip install azure-eventhub

dodirnite iothub_recv.py

a zatim upišite kodove slijedeći dolje:

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

# Autorska prava (c) Microsoft Corporation. Sva prava pridržana. # Licencirano pod MIT licencom. Za informacije o licenci pogledajte License.txt u korijenu projekta. # ------------------------------------------------- ------------------------------------------- iz azurnog uvoza eventhub iz azurnog. eventhub import EventData, EventHubClient, Offset import logger = logging.getLogger ('azure.eventhub') import db, json, time, datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (sati = +8) date = cntime.strftime ('%Y-{}-{}'). Format (cntime.strftime ('%m'). Zfill (2), cntime.strftime ('%d'). Zfill (2)) sat = cntime.strftime ('%H'). Zfill (2) minuta = cntime.strftime ('%M'). Zfill (2) sekunda = cntime.strftime ('%S'). Zfill (2) return [datum, sat, minuta, sekunda] 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 () ispis (eh_info) primljen = receiver.receive (timeout = 5) ispis (primljeno) za stavku u primljenom: ja ssage = json.loads (str (item.message)) print (message) if 'data' u poruci: data = message ['data'] air_temp = str (int (data [0: 2], 16)) air_hum = str (int (podaci [2: 4], 16)) tlak = str (int ((podaci [4: 8]), 16)) co2 = str (int (podaci [8:12], 16)) prašina = str (int (podaci [12:16], 16)) osvjetljenje = str (int (podaci [16:20], 16)) o2 = str (okrugli (int (podaci [20:22], 16) / 10, 1)) tlo_temp = str (int (podaci [22:24], 16)) tlo_hum = str (int (podaci [24:26], 16)) napon = str (okrugli (int (podaci [26:28], 16) / int ('ff', 16) * 5, 1)) error = str (int (podaci [28:], 16)) list = [air_temp, air_hum, tlak, co2, prašina, osvjetljenje, o2, tlo_temp, tlo_hum, napon, pogreška] konačno: client.stop () vraća popis dok je True: list = get_time () + get_iothub_data () db.insert (list) print (list)

Prije pokretanja programa promijenite niz veze

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

svoj niz veze možete dobiti klikom na Pravila zajedničkog pristupa - iotowner u Iot Hubu, primarni ključ niza veze na otvorenoj stranici je niz veze.

Slika
Slika

Nakon toga možete pokrenuti program:

gunicorn iothub_recv: app

Preporučeni: