- Što je Microsoft Azure IoT Hub?
- Stvaranje Azure IoT čvorišta
- Komponente potrebne za izgradnju našeg testnog kruga za Azure IoT s Raspberry Pi
- Azure IoT s Raspberry Pi - Shema hardvera
- Programiranje Raspberry Pi za objavljivanje podataka na Azure IoT Hubu
- Objava podataka na Azure IoT Hub - testiranje
Azure IoT Hub, Microsoftova usluga računalstva u oblaku omogućuje programerima povezivanje, nadgledanje i upravljanje milijardama IoT uređaja na jednoj platformi. Već se koristi u raznim IoT aplikacijama kao što su sustavi kućne automatizacije, sustavi sigurnosti, nadzora i nadzora. Da bismo demonstrirali mogućnosti Azure IoT čvorišta, izgradit ćemo mali krug s Raspberry Pi, DHT11 senzorom temperature i vlažnosti, kako bismo njime obrađivali podatke senzora. Konačno, objavit ćemo podatke senzora na Azure IoT poslužitelju koristeći MQTT protokol. U ovom uputstvu naučit ćemo kako postaviti i konfigurirati Azure poslužitelj i slati podatke pomoću Raspberry Pi.
Što je Microsoft Azure IoT Hub?
Azure IoT Hub zbirka je upravljanih usluga koje mogu povezati, nadzirati i kontrolirati IoT uređaje. Također uključuje sigurnu komunikaciju za uređaje, s vizualizacijom podataka i analitikom koja proizvođačima uređaja pomažu u izgradnji, implementaciji i upravljanju IoT aplikacijama uz pomoć Azure oblaka. Podaci telemetrije Device-to-Cd Azure IoT Hub-a daju nam do znanja o stanju povezanih IoT uređaja, a poruke Cloud-to-Device omogućuju nam slanje naredbi i obavijesti na povezane uređaje. Primjer bi mogao biti poput toga da pomoću pametnog sustava automatizacije kuće možemo prikupiti razne podatke senzora i poslati ih na Azure IoT Hub radi vizualizacije, pohrane i upravljanja njima. Izlaznim uređajima možemo upravljati i putem sučelja Azure IoT Hub.
Središnje središte za dvosmjernu komunikaciju za IoT aplikaciju i uređaje podržava komunikaciju između oblaka uređaja i uređaja u oblaku, također podržava višestruke obrasce razmjene poruka, kao što je uređaj za telemetriju u oblaku, prijenos datoteka s uređaja i metode zahtjeva i odgovora i konačno možemo koristiti metodu provjere autentičnosti po uređaju koja omogućava svakom uređaju da se sigurno poveže s IoT Hubom. Sada, kad ste shvatili osnove Azure IoT Hub-a, prijeđimo na postavljanje sustava.
Stvaranje Azure IoT čvorišta
Spremni smo izvršiti sve potrebne postavke potrebne za postavljanje usluga Microsoft Azure, ali prije toga provjerite imate li Microsoftov račun. Ako toga nemate, jednostavno se možete prijaviti. Nakon toga idite na Azure portal koristeći portal.azure.com i prijavite se.
Nakon što se prijavite, idite na Azure početnu stranicu, odaberite gumb Stvori resurs, a zatim potražite IoT Hub u polju Pretraži tržište. Odaberite IoT Hub iz rezultata pretraživanja, a zatim odaberite Create. Slike u nastavku dat će vam bolju ideju o postupku.


Ispunite potrebne podatke za stvaranje IoT čvorišta.
U odjeljku Pretplata morate odabrati pretplatu da biste je koristili za svoje središte. U našem se slučaju odlučujemo za probni račun i odabrali smo „ Besplatno probno razdoblje“ .
Zatim u odjeljku Grupe resursa odaberite svoju grupu resursa . Ako ga nemate, trebate stvoriti novi klikom na Stvori novi i unijeti ime Resursa.
Na području odsjeku, možete koristiti padajući izbornik za odabir željenog područja.
U IOT Hub naziv dijela, morate e nter nazivom vaše hub. Ovo mora biti jedinstveno. Sve potrebne komunikacije dogodit će se s ovim imenom.
Pod karticom „Veličina i mjerilo“ odaberite „ Free Tier “ i kliknite Dalje. Zatim kliknite na "Review + Create". Trebat će nekoliko minuta za stvaranje IoT Hub-a. Kliknite naziv IoT Hub-a koji ste stvorili. Zapišite ime hosta iz prozora kao što je prikazano na donjoj slici. Zatim kliknite Postavke zajedničkog pristupa u postavkama. Pravila zajedničkog pristupa istaknuta su na donjoj slici. Kliknite opciju iothubowner pod Politika. Zabilježite primarni ključ i primarni ključ niza veze za buduće reference. Sada, da biste registrirali novi uređaj pod IoT Hub, kliknite IoT uređaji. U oknu Istraživača uređaja kliknite Dodaj da biste dodali uređaj na čvorište.
Ispunite sljedeće podatke na kartici Novi uređaji.
- ID uređaja: Unesite ID uređaja. ID-ovi uređaja moraju biti jedinstveni.
- Vrsta provjere autentičnosti: odaberite simetrični ključ.
- Automatsko generiranje tipki: Označite ovaj potvrdni okvir.
- Spojite uređaj na IoT Hub: kliknite Omogući.
Jednom kada je uređaj stvoren, svoj novostvoreni uređaj možete pronaći u odjeljku Device Explorer. Kliknite naziv uređaja. Pokazat će detalje uređaja. Zabilježite primarni ključ i primarni ključ niza veze - uređaja. Ovo je važno jer nam je potrebno za komunikaciju.

Sada, kad je to gotovo, možemo prijeći na hardversku stranu stvari.
Komponente potrebne za izgradnju našeg testnog kruga za Azure IoT s Raspberry Pi
Kako je hardverski dio ovog sklopa vrlo jednostavan, zahtjev za komponentom je vrlo jednostavan. Popis potrebnih komponenti prikazan je u nastavku.
- Raspberry Pi 3B (Možemo koristiti i bilo koje druge modele Pi)
- Micro SD kartica-16 GB
- DHT11 senzor
- Micro USB 5V, 2.4A napajanje
Azure IoT s Raspberry Pi - Shema hardvera
Kompletna shema sklopa za Azure IoT s projektom Raspberry Pi prikazana je u nastavku. Izgrađena je pomoću fritzinga. Slijedite shemu spojeva i veze kako biste sami napravili sklop.

Gornji krug šalje podatke o temperaturi i vlažnosti u Microsoft IoT Hub. U ovom smo krugu koristili senzor DHT11 za prikupljanje podataka o temperaturi i vlažnosti, a kao uređaj za obradu podataka koristimo Raspberry Pi 3B. DHT11 senzor ima tri pina. VCC i GND pinovi koriste se za napajanje senzora od 5 V istosmjerne struje, a izlazni pin podataka DHT11 povezan je s GPIO4 Raspberry Pi. Ako želite naučiti kako povezati DHT11 osjetnik temperature i vlažnosti s Raspberry Pi, možete provjeriti naš prethodni članak na tu temu. Ovaj smo senzor također koristili za izgradnju vremenske stanice IoT Raspberry Pi.
Programiranje Raspberry Pi za objavljivanje podataka na Azure IoT Hubu
Prije početka kodiranja za ovaj projekt, moramo stvoriti Azure ljusku oblaka (CLI) na Azure portalu. Ovo će vam dobro doći na mnogo načina. Za to kliknite gumb Azure shell shell na portalu kao što je prikazano u nastavku. Zatim kliknite opciju stvaranje pohrane, označenu crvenom bojom.


Jedanput ispunjavanja, možete otvoriti CLI i pokrenite sljedeće naredbe za instalaciju Azure dodatak” s koje će se koristiti za prikaz podataka senzora.
az nastavak dodaj --ime azure-cli-iot-ext
Kad to završimo, moramo instalirati ovisnosti na Raspberry Pi kako bismo komunicirali sa senzorom DHT11 i kako bismo olakšali postupak komunikacije za usluge Azure IoT. Za to otvorite Raspberry Pi terminal kako biste instalirali ovisne pakete korištene u projektu.
Prvo moramo preuzeti DHT knjižnicu za Raspberry Pi, zatim je izvući iz korijenske mape i pokrenuti sljedeću naredbu da je instaliramo.
sudo python setup.py instalirati
Nakon uspješne instalacije pokrenite sljedeće naredbe da biste instalirali sve ovisne pakete na Azure IoT Hub.
sudo pip3 instalirati azure-iot-device sudo pip3 instalirati azure-iot-hub sudo pip3 instalirati azure-iothub-service-client sudo pip3 instalirati azure-iothub-device-client
Nakon što dovršimo instalaciju svih preduvjeta, vrijeme je da napišemo kod u Python. Da biste to učinili, prvo uvezite sve knjižnice:
uvoz slučajni uvoz Adafruit_DHT vrijeme uvoza iz azure.iot.device import IoTHubDeviceClient, poruka
U ovom projektu koristimo pin 4 Raspberry Pi za obradu podataka iz podataka DHT11, tako da ih treba deklarirati kako je prikazano.
osjetnik = Adafruit_DHT.DHT11 pin = 4
Zatim definiramo niz veze koda. Zamijenite ga s primarnim nizom veze vašeg uređaja koji smo ranije spremili.
CONNECTION_STRING = "Ime hosta = sensordata.azure-devices.net; DeviceId = ZZZZZ; SharedAccessKey = ZZZZZZZZZZZZZZZZZ"
Zatim stvorimo niz koji će se koristiti za slanje podataka u Azure IoT Hub. To se može učiniti kako je prikazano u nastavku.
MSG_SND = '{{"temperatura": {temperatura}, "vlaga": {vlaga}}}'
Dalje, definirali smo while petlju, U while petlji se podaci o vlažnosti i temperaturi obrađuju pomoću funkcije Adafruit_DHT.read_retry . Nadalje, definiramo dvije posebne varijable i dodijeljujemo izlazne podatke tim varijablama.
while True: vlaga, temperatura = Adafruit_DHT.read_retry (senzor, iglica)
Dalje, napisana je funkcija za povezivanje IoT Hub-a pomoću parametara veze koje smo prethodno definirali.
def iothub_client_init (): client = IoTHubDeviceClient.create_from_connection_string (CONNECTION_STRING) return client
Konačno, u sljedećem koraku podaci o temperaturi i vlažnosti šalju se Azure Hub-u, koristeći format kako je prikazano u donjem kodu. Također, koristili smo metodu try and catch kako bismo utvrdili postoji li pogreška u kodu.
def iothub_client_telemetry_sample_run (): try: client = iothub_client_init () print ("Slanje podataka u IoT Hub, pritisnite Ctrl-C za izlaz") dok je True: msg_txt_formatted = MSG_SND.format (temperatura = temperatura, vlaga = vlaga) poruka = Poruka (msg_txt_formatted) print ("Slanje poruke: {}". format (poruka)) client.send_message (message) print ("Poruka uspješno poslana") time.sleep (3)
Objava podataka na Azure IoT Hub - testiranje
Nakon uspješnog pisanja koda, kompajlirajte ga i provjerite ima li pogrešaka. Ako je blok koda uspješno kompiliran, pokrenite kôd. U prozoru terminala trebali biste vidjeti poruku koja kaže: "Poruka je uspješno poslana". Snimak zaslona prozora prikazan je ispod:

Sada, da biste vidjeli podatke u Azure IoT Hub-u, idite na portal i kliknite CLI terminal i pokrenite sljedeće naredbe zamjenjujući svoje vjerodajnice u njemu.
az iot hub monitor-events --hub-name XYZ --device-id XYZ
Bilješka:
Zamijenite XYZ svojim imenom čvorišta i ID-om uređaja.
Nakon pokretanja gornje naredbe trebali biste dobiti podatke kao što je prikazano dolje na ekranu. To su isti podaci koji su poslani s Raspberry Pi.

Ovo je kraj ovog vodiča, nadam se da vam se svidio članak i naučili ste nešto novo. Ako imate pitanja u vezi s člankom, možete ih ostaviti u odjeljku za komentare u nastavku. Ili možete koristiti naš forum za elektroniku da biste postigli brži i bolji odgovor.
