Kazalo:

Glejte rešitev IoTea LoRa (z Azure, posodobitev 1812): 5 korakov
Glejte rešitev IoTea LoRa (z Azure, posodobitev 1812): 5 korakov

Video: Glejte rešitev IoTea LoRa (z Azure, posodobitev 1812): 5 korakov

Video: Glejte rešitev IoTea LoRa (z Azure, posodobitev 1812): 5 korakov
Video: CS50 2015 - Week 4 2024, Junij
Anonim
Glejte rešitev IoTea LoRa (z Azure, posodobitev 1812)
Glejte rešitev IoTea LoRa (z Azure, posodobitev 1812)

Microsoft Azure je storitev v oblaku, ki zagotavlja zmogljivejšo in stabilnejšo računalniško moč. Tokrat smo mu poskušali poslati podatke IoTea.

1. korak: Stvari, uporabljene v tem projektu

Strojne komponente

  • Grove - Senzor ogljikovega dioksida (MH -Z16)
  • Grove - digitalni svetlobni senzor
  • Grove - Senzor prahu (PPD42NS)
  • Grove-Senzor kisika (ME2-O2-Ф20)
  • Senzor vlage in temperature tal
  • LoRa LoRaWAN Gateway - 868MHz komplet z Raspberry Pi 3
  • Grove - Temp & Humi & Barometer Sensor (BME280)

Programske aplikacije in spletne storitve

  • Microsoft Visual Studio 2015
  • Microsoft Azure

2. korak: Zgodba

Na gori Mengding severovzhodno od Ya’ana v Sečuanu gorski greben poteka od zahoda proti vzhodu v zelenem morju. To je najbolj znan prizor 36-letnega Denga, enega redkih proizvajalcev čaja v svoji generaciji Mengding, s plantažo 50mu (= 3,3 hektarja) na 1100 m nadmorske višine. Deng prihaja iz družine proizvajalcev čaja, vendar nadaljevanje družinske zapuščine ni lahka naloga. »Naši čaji rastejo na visokih nadmorskih višinah v ekološkem okolju, da se zagotovi njihova odlična kakovost. Toda hkrati je gostota rasti nizka, stroški visoki in brstenje neenakomerno, zato je čaj težko nabrati. Zato so gorski čaji običajno majhne letine in njihove vrednosti se ne odražajo na trgu. «Zadnji dve leti je Deng poskušal ozavestiti potrošnike o visokogorskem čaju, da bi promoviral njihovo vrednost. In ko je spoznal Fan, ki je iskal plantažo za izvajanje Seeedove tehnologije IoTea, se je odlično znašla rešitev.

3. korak: Povezava strojne opreme

Za priključitev strojne opreme sledite Prejšnji vadnici.

4. korak: Konfiguriranje v oblaku

Korak 1. Ustvarite skupino virov

Kliknite tukaj za prijavo v Microsoft Azure. Nato vnesite skupine virov na seznam na levi strani nadzorne plošče, kliknite Dodaj, da dodate skupino virov.

Slika
Slika

Skupina virov se uporablja za upravljanje vseh virov v projektu. Po uporabi virov v oblaku izbrišite skupino virov, da izbrišete vse vire, da se izognete stroškom. Na odprti strani vnesite ime skupine virov (na primer iotea), izberite Naročnina in lokacija skupine virov, če je potrebno, kliknite Ustvari, da ustvarite skupino virov.

Korak 2. Ustvarite Iot Hub

Zdaj lahko ustvarite vir v oblaku, na levi kliknite Ustvari vir, izberite Internet stvari - Iot Hub, odprlo se bo novo stran.

Na zavihku Osnove izberite skupino virov, ki ste jo pravkar ustvarili, in vnesite Iot Hub Name (na primer iotea), po potrebi izberite naročnino in regijo, nato pa se obrnite na zavihek Velikost in velikost.

Slika
Slika

Na zavihku Velikost in obseg izberite F1: Brezplačna stopnja ali B1: Osnovna stopnja v kombinaciji Cenovna in lestvica lestvice, osnovna stopnja bo stala 10,00 USD na mesec. Na koncu se obrnite na zavihek Pregled + ustvarjanje, preverite vnos in kliknite Ustvari, da ustvarite Iot Hub.

Slika
Slika

Korak 3. Konfigurirajte LORIOT

Vnesite Iot Hub, ki ga pravkar ustvarite, kliknite Politike dostopa v skupni rabi - naprava, kopirajte primarni ključ v stran na desni.

Slika
Slika

Odprite novo okno (ali zavihek) brskalnika, se prijavite na nadzorno ploščo LORIOT, pojdite na Application - SampleApp, kliknite Data output v Control group - Change. V skupini Spremeni vrsto izhodne plošče izberite Azure Iot Hub, vnesite ime in primarni ključ Iot Hub in kliknite gumb Potrdi spremembo na dnu.

Slika
Slika

Korak 4. Dodajte Iot napravo

Kliknite Naprave na seznamu na levi v LORIOT -u, kopirajte uporabniški vmesnik naprave.

Slika
Slika

Nazaj na Azure Iot Hub, kliknite Iot devices na seznamu na levi strani Iot Hub. Kliknite Dodaj, vnesite ID EU naprave v ID naprave na odprti strani.

POMEMBNO: IZBRIŠITE VSE SEPRATOR V NAPRAVI EUI, naj bo videti kot 1122334455667788.

Slika
Slika

Kliknite Shrani, vse je končano.

Korak 5. Prejemajte sporočila D2C (naprava v oblak)

Če želite brati sporočila D2C, lahko sledite Microsoftovim dokumentom.

5. korak: Programiranje programske opreme

Programiranje programske opreme je razdeljeno na tri dele: vozlišče, prehod in spletno mesto. Za programiranje dela vozlišča in dela prehoda sledite prejšnjemu vodiču. Koraki od 1 do 8 v delu spletnega mesta so prav tako enaki prejšnji vadnici.

Če ste že konfigurirali Microsoft Azure, odprite terminal, vnesite korensko mapo svojega spletnega mesta, aktivirajte virtualno okolje:

cd ~/iotea-hb

izvorni koš/aktiviraj

namestite modul Azure Event Hub prek pipa in ustvarite datoteko new.py (na primer iothub_recv.py):

pip install azure-eventhub

dotaknite se iothub_recv.py

in nato napišite kode, ki sledijo temu:

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

# Avtorske pravice (c) Microsoft Corporation. Vse pravice pridržane. # Licencirano pod licenco MIT. Za informacije o licenci si oglejte License.txt v korenu projekta. # ------------------------------------------------- ------------------------------------------- iz azurnega uvoza eventhub iz azurnega. eventhub import EventData, EventHubClient, Offset import logger logger = 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)) ura = cntime.strftime ('%H'). Zfill (2) minuta = cntime.strftime ('%M'). Zfill (2) sekunda = 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) sprejemnik = client.add_receiver ("$ default", " 3 ", operation = '/messages/events', offset = Offset (datetime.datetime.utcnow ())) poskusite: client.run () eh_info = client.get_eventhub_info () print (eh_info) prejeto = sprejemnik.prejem (časovna omejitev = 5) tiskanje (prejeto) za predmet v prejetem: jaz ssage = json.loads (str (item.message)) print (message) if 'data' v sporočilu: data = message ['data'] air_temp = str (int (data [0: 2], 16)) air_hum = str (int (podatki [2: 4], 16)) tlak = str (int ((podatki [4: 8]), 16)) co2 = str (int (podatki [8:12], 16)) prah = str (int (podatki [12:16], 16)) osvetlitev = str (int (podatki [16:20], 16)) o2 = str (okrogel (int (podatki [20:22], 16) / 10, 1)) tal_temp = str (int (podatki [22:24], 16)) 16) / int ('ff', 16) * 5, 1)) napaka = str (int (podatki [28:], 16)) seznam = [air_temp, air_hum, tlak, co2, prah, osvetlitev, o2, tla_temp, ground_hum, napetost, napaka] končno: client.stop () vrne seznam, medtem ko True: list = get_time () + get_iothub_data () db.insert (list) print (list)

Preden zaženete program, spremenite svoj niz povezave

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

svoj niz povezave dobite tako, da kliknete Politike dostopa v skupni rabi - iotowner v Iot Hubu, primarni ključ niza povezave na odprti strani je niz povezave.

Slika
Slika

Po tem lahko zaženete program:

gunicorn iothub_recv: app

Priporočena: