Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Microsoft Azure je cloudová služba, ktorá poskytuje výkonnejší a stabilnejší výpočtový výkon. Tentokrát sme sa pokúsili poslať doň naše údaje IoTea.
Krok 1: Veci použité v tomto projekte
Hardvérové komponenty
- Grove - snímač oxidu uhličitého (MH -Z16)
- Grove - digitálny svetelný senzor
- Grove - snímač prachu (PPD42NS)
- Grove-snímač kyslíka (ME2-O2-Ф20)
- Senzor vlhkosti a teploty pôdy
- LoRa LoRaWAN Gateway - súprava 868 MHz s Raspberry Pi 3
- Grove - snímač teploty a vlhkosti a barometra (BME280)
Softvérové aplikácie a online služby
- Microsoft Visual Studio 2015
- Microsoft Azure
Krok 2: Príbeh
Na hore Mengding severovýchodne od Ya’an v S' -čchuane hrebeň hrebeňa prebieha západne až východne v zelenom mori. Toto je najznámejší pohľad na 36-ročného Denga, jedného z mála mengdingských čajníkov svojej generácie, s plantážou 50 m (= 3,3 ha), ktorá sa nachádza v nadmorskej výške 1 100 m. Teng pochádza z rodiny čajníkov, ale pokračovať v rodinnom dedičstve nie je ľahká úloha. „Naše čaje sa pestujú vo vysokej nadmorskej výške v organickom prostredí, aby sa zabezpečila vynikajúca kvalita. Ale zároveň je hustota rastu nízka, náklady sú vysoké a pučanie je nerovnomerné, takže zber čaju je náročný. To je dôvod, prečo sú vysokohorské čaje zvyčajne malou úrodou a ich hodnoty sa na trhu neodrážajú. “Posledné dva roky sa Deng snaží zvýšiť povedomie spotrebiteľov o vysokohorskom čaji, aby propagoval ich hodnotu. A keď sa stretol s Fanom, ktorý hľadal plantáž na implementáciu technológie IoTea spoločnosti Seeed, bolo nájdené perfektné riešenie.
Krok 3: Pripojenie hardvéru
Pripojte svoj hardvér podľa predchádzajúceho návodu.
Krok 4: Konfigurácia cloudu
Krok 1. Vytvorte skupinu zdrojov
Kliknutím sem sa prihlásite do systému Microsoft Azure. Potom zadajte skupiny zdrojov do zoznamu v ľavej časti panela, kliknutím na položku Pridať pridajte skupinu zdrojov.
Skupina zdrojov sa používa na správu všetkých zdrojov v projekte. Po použití cloudových zdrojov odstráňte skupinu zdrojov a odstráňte všetky zdroje, aby ste sa vyhli poplatkom. Na otvorenej stránke zadajte názov skupiny zdrojov (napríklad iotea), zvoľte Predplatné a v prípade potreby umiestnenie skupiny zdrojov, kliknutím na Vytvoriť vytvorte skupinu zdrojov.
Krok 2. Vytvorte Iot Hub
Teraz môžete vytvoriť cloudový zdroj, vľavo kliknite na Vytvoriť zdroj, zvoľte Internet vecí - Iot Hub, otvorí sa nová stránka.
Na karte Základy vyberte skupinu zdrojov, ktorú ste práve vytvorili, a zadajte Iot Hub Name (napr. Iotea), v prípade potreby zvoľte Predplatné a Región a potom prejdite na kartu Veľkosť a veľkosť.
Na karte Veľkosť a mierka zvoľte F1: Voľná vrstva alebo B1: Základná vrstva v časti Ceny a škála úrovní, základná vrstva bude trvať 10,00 USD mesačne. Nakoniec prepnite na kartu Skontrolovať + vytvoriť, skontrolujte zadanie a kliknutím na položku Vytvoriť vytvorte Iot Hub.
Krok 3. Konfigurujte LORIOT
Zadajte Iot Hub, ktorý práve vytvoríte, kliknite na položku Zdieľané zásady prístupu - zariadenie, skopírujte stránku Primárny kľúč na stránke vpravo.
Otvorte nové okno (alebo kartu) prehliadača, prihláste sa do ovládacieho panela LORIOT, prejdite do sekcie Aplikácia - SampleApp, kliknite na položku Výstup údajov v skupine Ovládanie - Zmeniť. V skupine Zmeniť typ výstupu vyberte Azure Iot Hub, zadajte svoj názov Iot Hub a primárny kľúč a v spodnej časti kliknite na tlačidlo Potvrdiť zmenu.
Krok 4. Pridajte zariadenie Iot
Kliknite na položku Zariadenia v zozname vľavo v aplikácii LORIOT, skopírujte svoje zariadenie EUI.
Späť na Azure Iot Hub kliknite na Iot zariadenia v zozname naľavo od Iot Hub. Na otvorenej stránke kliknite na Pridať, vyplňte Device EUI to Device ID.
DÔLEŽITÉ: VYMAZAJTE VŠETKY SEPRATORY V ZARIADENÍ EUI, nech to vyzerá ako 1122334455667788.
Kliknite na položku Uložiť, všetko hotové.
Krok 5. Prijímajte správy D2C (zariadenie do cloudu)
Na čítanie správ D2C môžete použiť aplikáciu Microsoft Docs.
Krok 5: Programovanie softvéru
Softvérové programovanie je rozdelené na 3 časti: Node, Gateway a Web, riaďte sa predchádzajúcim návodom na programovanie Node Part a Gateway Part. Kroky 1 až 8 časti webovej stránky sú tiež rovnaké ako predchádzajúci návod.
Ak ste už nakonfigurovali Microsoft Azure, otvorte terminál, zadajte koreňový priečinok svojho webu a aktivujte virtuálne prostredie:
cd ~/iotea-hb
zdrojový kôš/aktivovať
nainštalujte modul Azure Event Hub prostredníctvom pipu a vytvorte súbor new.py (napríklad iothub_recv.py):
pip install azure-eventhub
dotknite sa položky iothub_recv.py
a potom napíšte nasledujúce kódy:
# --------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. Všetky práva vyhradené. # Licencované pod licenciou MIT. Informácie o licencii nájdete na adrese License.txt v koreňovom adresári projektu. # ------------------------------------------------- ------------------------------------------- z azúrového importu eventhub z azúru. import eventhub EventData, EventHubClient, záznamník protokolovania offsetového importu = logging.getLogger ('azure.eventhub') import db, json, time, datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (hodiny = +8) date = cntime.strftime ('%Y-{}-{}'). Format (cntime.strftime ('%m'). Zfill (2), cntime.strftime ('%d'). Zfill (2)) hodina = cntime.strftime ('%H'). Zfill (2) minúta = cntime.strftime ('%M'). Zfill (2) sekunda = cntime.strftime ('%S'). Zfill (2) return [dátum, hodina, minúta, 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 () print (eh_info) receive = receiver.receive (timeout = 5) vytlačiť (prijaté) pre prijatú položku: ja 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 (údaje [2: 4], 16)) tlak = str (int ((údaje [4: 8]), 16)) co2 = str (int (údaje [8:12], 16)) prach = str (int (údaje [12:16], 16)) illumination = str (int (údaje [16:20], 16)) o2 = str (round (int (údaje [20:22], 16) / 10, 1)) earth_temp = str (int (údaje [22:24], 16)) earth_hum = str (int (údaje [24:26], 16)) napätie = str (kolo (int (údaje [26:28], 16) / int ('ff', 16) * 5, 1)) error = str (int (data [28:], 16)) list = [teplota_vzduchu, teplota_vzduchu, tlak, CO2, prach, osvetlenie, o2, teplota_zemiaka, earth_hum, napätie, chyba] konečne: client.stop () vráti zoznam, zatiaľ čo True: list = get_time () + get_iothub_data () db.insert (list) print (list)
Pred spustením programu zmeňte reťazec pripojenia v
client = EventHubClient.from_iothub_connection_string ('', debug = True)
reťazec pripojenia získate kliknutím na položku Zdieľané prístupové politiky - iotowner v Iot Hub, kľúč reťazca -primárny kľúč na otvorenej stránke je reťazcom pripojenia.
Potom môžete spustiť program:
gunicorn iothub_recv: aplikácia