Obsah:

Viděné řešení IoTea LoRa (s Azure, aktualizace 1812): 5 kroků
Viděné řešení IoTea LoRa (s Azure, aktualizace 1812): 5 kroků

Video: Viděné řešení IoTea LoRa (s Azure, aktualizace 1812): 5 kroků

Video: Viděné řešení IoTea LoRa (s Azure, aktualizace 1812): 5 kroků
Video: Эндрю МакАфи: Как будет выглядеть работа в будущем? 2024, Listopad
Anonim
Viděné řešení IoTea LoRa (s Azure, aktualizace 1812)
Viděné řešení IoTea LoRa (s Azure, aktualizace 1812)

Microsoft Azure je cloudová služba, která poskytuje výkonnější a stabilnější výpočetní výkon. Tentokrát jsme do něj zkusili poslat naše data IoTea.

Krok 1: Věci použité v tomto projektu

Hardwarové komponenty

  • Grove - senzor oxidu uhličitého (MH -Z16)
  • Grove - digitální světelný senzor
  • Grove - prachový senzor (PPD42NS)
  • Grove-Kyslíkový senzor (ME2-O2-Ф20)
  • Čidlo vlhkosti a teploty půdy
  • LoRa LoRaWAN Gateway - souprava 868 MHz s Raspberry Pi 3
  • Grove - snímač teploty a humusu a barometru (BME280)

Softwarové aplikace a online služby

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Krok 2: Příběh

Na hoře Mengding severovýchodně od Ya’an, S' -čchuan, vede horský hřeben v zeleném moři na západ k východu. Toto je nejznámější pohled na 36letého Denga, jednoho z mála Mengdingových čajovníků své generace, s plantáží 50 m (= 3,3 ha) situovanou v 1100 m nad mořem. Deng pochází z rodiny čajovníků, ale pokračovat v rodinném odkazu není snadný úkol. "Naše čaje se pěstují ve vysoké nadmořské výšce v organickém prostředí, aby byla zajištěna jeho vynikající kvalita." Ale zároveň je hustota růstu nízká, náklady jsou vysoké a pučení je nerovnoměrné, takže je těžké čaj sklízet. Proto jsou vysokohorské čaje obvykle malou sklizní a jejich hodnoty se na trhu neprojevují. “Poslední dva roky se Deng snaží zvýšit povědomí spotřebitelů o vysokohorském čaji, aby propagoval jejich hodnotu. A když se setkal s Fanem, který hledal plantáž pro implementaci technologie Seeed IoTea, bylo dosaženo dokonalého řešení.

Krok 3: Hardwarové připojení

Při připojování hardwaru postupujte podle předchozího výukového programu.

Krok 4: Cloudová konfigurace

Krok 1. Vytvořte skupinu prostředků

Kliknutím sem se přihlásíte do Microsoft Azure. A poté zadejte skupiny prostředků do seznamu na levé straně řídicího panelu, kliknutím na Přidat přidejte skupinu prostředků.

obraz
obraz

Skupina prostředků se používá ke správě všech prostředků v projektu, po použití cloudových prostředků odstraněním skupiny prostředků odstraníte všechny prostředky, abyste se vyhnuli poplatkům. Na otevřené stránce vyplňte název skupiny prostředků (například iotea), v případě potřeby vyberte možnost Předplatné a umístění skupiny prostředků, kliknutím na Vytvořit vytvořte skupinu prostředků.

Krok 2. Vytvořte Iot Hub

Nyní můžete vytvořit cloudový prostředek, vlevo klikněte na Vytvořit zdroj, zvolte Internet věcí - Iot Hub, otevře se nová stránka.

Na kartě Základy vyberte skupinu zdrojů, kterou jste právě vytvořili, a vyplňte Iot Hub Name (například iotea), v případě potřeby zvolte Předplatné a Region a poté přejděte na kartu Velikost a scle.

obraz
obraz

Na kartě Velikost a měřítko zvolte F1: Bezplatná vrstva nebo B1: Základní vrstva v nabídce Ceny a škála úrovní, základní vrstva bude trvat 10,00 USD za měsíc. Nakonec přejděte na kartu Zkontrolovat + vytvořit, zkontrolujte zadané údaje a kliknutím na Vytvořit vytvořte Iot Hub.

obraz
obraz

Krok 3. Konfigurujte LORIOT

Zadejte právě vytvořený Iot Hub, klikněte na Zásady sdíleného přístupu - zařízení, zkopírujte stránku Primární klíč na stránce vpravo.

obraz
obraz

Otevřete nové okno (nebo záložku), přihlaste se do ovládacího panelu LORIOT, přejděte na Aplikace - SampleApp, ve skupině Ovládání - Změnit klikněte na Výstup dat. Ve skupině Změnit typ výstupu vyberte Azure Iot Hub, vyplňte název Iot Hub a primární klíč a ve spodní části klikněte na tlačítko Potvrdit změnu.

obraz
obraz

Krok 4. Přidejte Iot zařízení

Klikněte na Zařízení v seznamu vlevo v LORIOT, zkopírujte své zařízení EUI.

obraz
obraz

Zpět na Azure Iot Hub klikněte na Iot zařízení v seznamu vlevo od Iot Hub. Na otevřené stránce klikněte na Přidat, vyplňte Device EUI to Device ID.

DŮLEŽITÉ: SMAZAT VŠECHNY SEPRATORY V ZAŘÍZENÍ EUI, ať to vypadá jako 1122334455667788.

obraz
obraz

Klikněte na Uložit, vše hotovo.

Krok 5. Přijímejte zprávy D2C (zařízení do cloudu)

Při čtení zpráv D2C můžete sledovat dokumenty Microsoft.

Krok 5: Programování softwaru

Softwarové programování je rozděleno na 3 části: Node, Gateway a Web, při programování Node Part a Gateway Part postupujte podle předchozího tutoriálu. Kroky 1 až 8 části webové stránky jsou také stejné jako předchozí výukový program.

Pokud jste již nakonfigurovali Microsoft Azure, otevřete terminál, zadejte kořenovou složku vašeho webu a aktivujte virtuální prostředí:

cd ~/iotea-hb

zdrojový koš/aktivovat

nainstalujte modul Azure Event Hub prostřednictvím pip a vytvořte soubor new.py (například iothub_recv.py):

pip install azure-eventhub

klepněte na iothub_recv.py

a poté zapište následující kódy:

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

# Copyright (c) Microsoft Corporation. Všechna práva vyhrazena. # Licencováno pod licencí MIT. Informace o licenci najdete v souboru License.txt v kořenovém adresáři projektu. # ------------------------------------------------- ------------------------------------------- z azure import eventhub z azure. import eventhub EventData, EventHubClient, Offset import logger = logging.getLogger ('azure.eventhub') import db, json, time, datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (hodin = +8) date = cntime.strftime ('%Y-{}-{}'). Format (cntime.strftime ('%m'). Zfill (2), cntime.strftime ('%d'). Zfill (2)) hodina = cntime.strftime ('%H'). Zfill (2) minuta = cntime.strftime ('%M'). Zfill (2) sekunda = cntime.strftime ('%S'). Zfill (2) return [datum, hodina, 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 () print (eh_info) receive = receive.receive (timeout = 5) tisk (přijato) u položky v přijatém stavu: já 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 (data [2: 4], 16)) tlak = str (int ((data [4: 8]), 16)) co2 = str (int (data [8:12], 16)) prach = str (int (data [12:16], 16)) illumination = str (int (data [16:20], 16)) o2 = str (round (int (data [20:22], 16) / 10, 1)) earth_temp = str (int (data [22:24], 16)) earth_hum = str (int (data [24:26], 16)) napětí = str (kulaté (int (data [26:28], 16) / int ('ff', 16) * 5, 1)) error = str (int (data [28:], 16)) list = [air_temp, air_hum, pressure, co2, dust, ilumination, o2, earth_temp, earth_hum, napětí, chyba] konečně: client.stop () vrátit seznam, zatímco True: list = get_time () + get_iothub_data () db.insert (seznam) tisk (seznam)

Před spuštěním programu změňte připojovací řetězec v

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

připojovací řetězec můžete získat kliknutím na Zásady sdíleného přístupu - iotowner v Iot Hub, připojovací řetězec - primární řetězec na otevřené stránce je připojovací řetězec.

obraz
obraz

Poté můžete spustit program:

gunicorn iothub_recv: app

Doporučuje: