- Mi a Microsoft Azure IoT Hub?
- Azure IoT Hub létrehozása
- Az Azure IoT tesztkörének Raspberry Pi-hez való felépítéséhez szükséges alkatrészek
- Azure IoT Raspberry Pi-vel - hardver sematikus
- Raspberry Pi programozása adatok közzétételére az Azure IoT Hubon
- Adatok közzététele az Azure IoT Hub-on - tesztelés
Az Azure IoT Hub, a Microsoft felhőszámítási szolgáltatása lehetővé teszi a fejlesztők számára, hogy egyetlen platformon több milliárd IoT-eszközt csatlakoztassanak, figyeljenek és kezeljenek. Már használják a különböző IoT alkalmazásokban, mint például az otthoni automatizálási rendszerek, a biztonsági, a felügyeleti és a felügyeleti rendszerek. Az Azure IoT hub képességeinek bemutatásához egy kis áramkört építünk a Raspberry Pi, egy DHT11 hőmérséklet- és páratartalom-érzékelővel annak érdekében, hogy az érzékelő adatait feldolgozzuk vele. Végül szenzoradatokat teszünk közzé az Azure IoT szerveren az MQTT protokoll használatával. Ebben az oktatóanyagban megtudhatjuk, hogyan kell beállítani és konfigurálni az Azure-kiszolgálót, és adatokat küldeni egy Raspberry Pi használatával.
Mi a Microsoft Azure IoT Hub?
Az Azure IoT Hub egy felügyelt szolgáltatások gyűjteménye, amelyek összekapcsolhatják, figyelemmel kísérhetik és vezérelhetik az IoT-eszközöket. Ez magában foglalja az eszközök biztonságos kommunikációját is, adatmegjelenítéssel és elemzéssel, amelyek segítik az eszközgyártókat az IoT-alkalmazások felépítésében, telepítésében és kezelésében az Azure felhő segítségével . Az Azure IoT Hub Eszköz-Cd telemetriai adatai tudatják velünk a csatlakoztatott IoT-eszközök állapotát, és a Felhő-eszköz üzenetek segítségével parancsokat és értesítéseket küldhetünk a csatlakoztatott eszközökre. Ilyen lehet például egy intelligens otthoni automatizálási rendszer, amelynek segítségével különböző érzékelőadatokat gyűjthetünk, és elküldhetjük az Azure IoT Hub-hoz, hogy ezeket megjelenítsük, tároljuk és kezeljük. A kimeneti eszközöket az Azure IoT Hub felületről is vezérelhetjük.
Az IoT-alkalmazások és az eszközök kétirányú kommunikációjának központi eleme mind az eszköz-felhő, mind a felhő-eszköz kommunikációt támogatja, és több olyan üzenetküldési mintát is támogat, mint például az eszközről a felhőre történő telemetria, a fájlok feltöltése az eszközökről és a kérelem-válasz módszerek, használhatjuk az eszközönkénti hitelesítési módszert, amely lehetővé teszi, hogy minden eszköz biztonságosan csatlakozzon az IoT Hub-hoz. Most, hogy megértette az Azure IoT Hub alapjait, térjünk át a rendszer beállítására.
Azure IoT Hub létrehozása
Készen állunk a Microsoft Azure- szolgáltatások beállításához szükséges összes szükséges beállítás elvégzésére, de előtte győződjön meg arról, hogy rendelkezik-e Microsoft-fiókkal. Ha nincs ilyen, egyszerűen regisztrálhat. Ezt követően lépjen az Azure portálra a portal.azure.com használatával, és jelentkezzen be.
Miután bejelentkezett, lépjen az Azure kezdőlapjára, válassza az Erőforrás létrehozása gombot, majd keresse meg az IoT Hub elemet a Keresés a piactéren mezőben. Válassza ki a keresési eredmények közül az IoT Hub elemet, majd válassza a Létrehozás lehetőséget. Az alábbi képek jobb képet adnak a folyamatról.
Töltse ki a szükséges részleteket az IoT-központ létrehozásához.
Az Előfizetés szakaszban ki kell választania az előfizetését, hogy használni tudja azt a központ számára. Esetünkben egy próbafiókot választunk, és a „ Free Trial” lehetőséget választottuk.
Ezután az Erőforráscsoport szakaszban válassza ki az erőforráscsoportot . Ha még nincs, akkor létre kell hoznia egy újat az Új létrehozása gombra kattintva, és be kell írnia az erőforrás nevét.
A Régió szakaszban a legördülő menü segítségével kiválaszthatja a kívánt régiót.
A tárgyak internete Hub neve szakasz, meg kell, hogy e nter nevet a hub. Ennek egyedinek kell lennie. Minden szükséges kommunikáció ezzel a névvel történik.
A „Méret és méret” fül alatt válassza az „ Ingyenes szint ” lehetőséget, majd kattintson a Tovább gombra. Ezután kattintson a „Review + Create” gombra . Néhány percbe telik az IoT Hub létrehozása. Kattintson a létrehozott IoT Hub nevére. Jegyezze fel a Gazdanevet az ablakból, az alábbi képen látható módon. Ezután kattintson a Megosztott hozzáférési irányelvekre a Beállításokban. A megosztott hozzáférési irányelveket az alábbi kép kiemeli. Kattintson a házirend alatt található iothubowner lehetőségre. Jegyezze fel az elsődleges kulcsot és a kapcsolati karakterlánc-elsődleges kulcsot a későbbi hivatkozásokhoz. Új eszköz regisztrálásához az IoT Hub alatt kattintson az IoT-eszközök elemre . Az Eszközkezelő ablaktáblában kattintson a Hozzáadás gombra, ha eszközt szeretne hozzáadni a hubhoz.
Töltse ki a következő információkat az Új eszközök lapon.
- Eszközazonosító: Adja meg az eszköz azonosítóját. Az eszközazonosítóknak egyedinek kell lenniük.
- Hitelesítési típus: Válasszon ki egy szimmetrikus kulcsot.
- Automatikus kulcsgenerálás: Jelölje be ezt a jelölőnégyzetet.
- Eszköz csatlakoztatása az IoT Hub-hoz: Kattintson az Engedélyezés gombra.
Az eszköz létrehozása után megtalálhatja újonnan létrehozott eszközét az Eszközkezelő szakaszban. Kattintson az eszköz nevére. Ez megmutatja az eszköz részleteit. Jegyezze fel az eszköz elsődleges kulcsát és a kapcsolati karakterlánc elsődleges kulcsát. Ez fontos, mivel szükségünk van rá a kommunikációhoz.
Most, amikor ez megtörtént, áttérhetünk a dolgok hardveres oldalára.
Az Azure IoT tesztkörének Raspberry Pi-hez való felépítéséhez szükséges alkatrészek
Mivel ennek az áramkörnek a hardver része nagyon egyszerű, az alkatrészigény is nagyon egyszerű. A szükséges összetevők listája az alábbiakban látható.
- Raspberry Pi 3B (a Pi bármely más modelljét is használhatjuk)
- Micro SD kártya - 16 GB
- DHT11 érzékelő
- Mikro USB 5V, 2.4A tápegység
Azure IoT Raspberry Pi-vel - hardver sematikus
Az Azure IoT és Raspberry Pi projekt teljes kapcsolási rajza alább látható. Fritzing használatával épült. Kövesse az áramkört és a csatlakozásokat, hogy saját maga készítse el az áramkört.
A fenti áramkör hőmérsékleti és páratartalmi adatokat küld a Microsoft IoT Hubnak. Ebben az áramkörben egy DHT11 érzékelőt használtunk a hőmérsékleti és páratartalmi adatok összegyűjtésére, és Raspberry Pi 3B-t használunk adatfeldolgozó eszközként. A DHT11 érzékelő három csapos. A VCC és a GND csapok 5 V DC tápellátást biztosítanak az érzékelőhöz, és a DHT11 adatkimeneti tűje a Raspberry Pi GPIO4-hez csatlakozik. Ha meg akarja tanulni, hogyan kell összekapcsolni a DHT11 hőmérséklet- és páratartalom-érzékelőt a Raspberry Pi-vel, akkor ellenőrizze a témáról szóló korábbi cikkünket. Ezt az érzékelőt is felhasználtuk az IoT Raspberry Pi meteorológiai állomás építéséhez.
Raspberry Pi programozása adatok közzétételére az Azure IoT Hubon
A projekt kódolásának megkezdése előtt létre kell hoznunk egy Azure felhőhéjat (CLI) az Azure portálon. Ez sok szempontból hasznos lesz. Ehhez kattintson az Azure cloud shell gombra a portálon, az alábbiak szerint. Ezután kattintson a piros színnel jelölt tárhely létrehozása lehetőségre.
Miután végzett, akkor nyissa meg a CLI, és futtassa a következő parancsokat kell telepíteni a Azure add-on” s amelyet használni, hogy bemutassák a szenzor adatokat.
az kiterjesztés add --name azure-cli-iot-ext
Miután ez megtörtént, telepítenünk kell a Raspberry Pi függőségeket a DHT11 érzékelővel való kommunikációhoz és a kommunikációs folyamat megkönnyítéséhez az Azure IoT szolgáltatások számára. Ehhez nyisson meg egy Raspberry Pi terminált a projektben használt függő csomagok telepítéséhez.
Először le kell töltenünk a DHT könyvtárat a Raspberry Pi számára, majd kivonatoljuk a gyökérmappából, és futtatva a következő parancsot telepítenünk kell.
sudo python setup.py telepítés
Sikeres telepítés után futtassa a következő parancsokat az összes függő csomag telepítéséhez az Azure IoT Hub-on.
sudo pip3 telepítse azure-iot-device sudo pip3 telepítse azure-iot-hub sudo pip3 telepítse azure-iothub-service-client sudo pip3 telepítse azure-iothub-device-client
Miután befejeztük az összes előfeltétel telepítését, itt az ideje, hogy a kódot Pythonba írjuk. Ehhez először importálja az összes könyvtárat:
véletlenszerű importálás Adafruit_DHT importálás ideje az azure.iot.device importálásról IoTHubDeviceClient, Üzenet
Ebben a projektben a Raspberry Pi 4. tűjét használjuk a DHT11 adatok adatainak feldolgozásához, ezért az ábrán látható módon kell deklarálni.
érzékelő = Adafruit_DHT.DHT11 tű = 4
Ezután meghatározzuk a kód kapcsolati karakterláncát. Cserélje ki az eszköz-elsődleges kapcsolati karakterláncra, amelyet korábban mentettünk.
CONNECTION_STRING = "Gazdanév = sensordata.azure-devices.net; DeviceId = ZZZZZ; SharedAccessKey = ZZZZZZZZZZZZZZZZZ"
Ezután létrehozunk egy tömböt, amelyet az adatok elküldéséhez használunk az Azure IoT Hubba. Meg lehet csinálni az alábbiak szerint.
MSG_SND = '{{"hőmérséklet": {hőmérséklet}, "páratartalom": {nedvesség}}}'
Ezután meghatároztunk egy while ciklust, a while ciklusban mind a páratartalom, mind a hőmérsékleti adatokat az Adafruit_DHT.read_retry függvény segítségével dolgozzuk fel . Ezenkívül meghatározunk két speciális változót, és a kimeneti adatokat hozzárendeljük ezekhez a változókhoz.
míg True: páratartalom, hőmérséklet = Adafruit_DHT.read_retry (érzékelő, csap)
Ezután egy függvény íródik az IoT Hub összekapcsolására az általunk korábban megadott kapcsolati paraméterek segítségével.
def iothub_client_init (): ügyfél = IoTHubDeviceClient.create_from_connection_string (CONNECTION_STRING) visszatérő kliens
Végül a következő lépésben mind a hőmérséklet, mind a páratartalom adatait elküldik az Azure Hub-nak az alábbi kódban bemutatott formátum használatával. Ezenkívül egy try and catch módszert használtunk annak azonosítására, hogy van-e hiba a kódban.
def iothub_client_telemetry_sample_run (): try: client = iothub_client_init () print ("Adatok küldése az IoT Hubba, a kilépéshez nyomja meg a Ctrl-C"), míg True: msg_txt_formatted = MSG_SND.format (hőmérséklet = hőmérséklet, páratartalom = páratartalom) üzenet = Üzenet (msg_txt_formatted) print ("Üzenet küldése: {}". format (üzenet)) client.send_message (üzenet) print ("Üzenet sikeresen elküldve") time.sleep (3)
Adatok közzététele az Azure IoT Hub-on - tesztelés
Miután sikeresen megírta a kódot, fordítsa le és ellenőrizze az esetleges hibákat. Ha a kódblokk fordítása sikeres volt, akkor futtassa a kódot. A Terminál ablakban látnia kell az "Üzenet sikeresen elküldve" üzenetet. Az ablak képernyőképe az alábbiakban látható:
Most, hogy megtekinthesse az adatokat az Azure IoT Hubban, lépjen a portálra, kattintson a CLI terminálra, és futtassa a következő parancsokat a hitelesítő adatok cseréjével.
az iot hub monitor-események --hub-name XYZ --device-id XYZ
Jegyzet:
Cserélje ki az XYZ-t Hub nevére és eszközazonosítójára.
A fenti parancs futtatása után meg kell kapnia az adatokat az alábbiak szerint a képernyőn. Ez ugyanaz az adat, amelyet a Raspberry Pi-től küldtek.
Ezzel vége ennek az oktatóanyagnak, remélem, tetszett a cikk, és valami újat tanultál. Ha bármilyen kérdése van a cikkel kapcsolatban, akkor az alábbi megjegyzés részben hagyhatja el őket. Vagy használhatja Elektronikai fórumunkat, hogy gyorsabb és jobb választ kapjon.