Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
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.
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.
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.
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.
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.
Korak 4. Dodajte Iot napravo
Kliknite Naprave na seznamu na levi v LORIOT -u, kopirajte uporabniški vmesnik naprave.
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.
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.
Po tem lahko zaženete program:
gunicorn iothub_recv: app