- Kas ir Microsoft Azure IoT centrmezgls?
- Azure IoT centra izveide
- Komponenti, kas nepieciešami, lai izveidotu mūsu testa shēmu Azure IoT ar Raspberry Pi
- Azure IoT ar Raspberry Pi - aparatūras shēma
- Raspberry Pi programmēšana datu publicēšanai Azure IoT centrmezglā
- Publicējiet datus Azure IoT centrmezglā - testēšana
Microsoft mākoņdatošanas pakalpojums Azure IoT Hub ļauj izstrādātājiem vienā platformā izveidot savienojumu, pārraudzīt un pārvaldīt miljardiem IoT ierīču. To jau izmanto dažādās IoT lietojumprogrammās, piemēram, mājas automatizācijas sistēmās, drošības, uzraudzības un uzraudzības sistēmās. Lai parādītu Azure IoT centrmezgla iespējas, mēs izveidosim nelielu ķēdi ar Raspberry Pi, DHT11 temperatūras un mitruma sensoru, lai ar to apstrādātu sensora datus. Visbeidzot, sensoru datus mēs publicēsim Azure IoT serverī, izmantojot protokolu MQTT. Šajā apmācībā mēs uzzināsim, kā iestatīt un konfigurēt Azure serveri un nosūtīt datus, izmantojot Raspberry Pi.
Kas ir Microsoft Azure IoT centrmezgls?
Azure IoT Hub ir pārvaldītu pakalpojumu kolekcija, ar kuru palīdzību var izveidot savienojumu, uzraudzīt un kontrolēt IoT ierīces. Tas ietver arī drošu saziņu ierīcēm ar datu vizualizāciju un analīzi, kas ierīču ražotājiem palīdz veidot, izvietot un pārvaldīt IoT lietojumprogrammas ar Azure mākoņa palīdzību. Azure IoT Hub ierīces - CD telemetrijas dati ļauj mums uzzināt par pievienoto IoT ierīču stāvokli, un ziņojumi no mākoņa uz ierīci ļauj mums nosūtīt komandas un paziņojumus uz pievienotajām ierīcēm. Piemērs varētu būt, piemēram, izmantojot viedās mājas automatizācijas sistēmu, mēs varam apkopot dažādus sensoru datus un nosūtīt tos uz Azure IoT Hub, lai tos vizualizētu, uzglabātu un pārvaldītu. Mēs varam arī kontrolēt izvades ierīces no Azure IoT Hub saskarnes.
Centrālais centrmezgls divvirzienu saziņai IoT lietojumprogrammām un ierīcēm atbalsta gan ierīces-mākoņa, gan mākoņa-ierīces saziņu, kā arī atbalsta vairākus ziņojumapmaiņas modeļus, piemēram, no ierīces uz mākoņa telemetriju, failu augšupielādi no ierīcēm un pieprasījuma-atbildes metodes, mēs varam izmantot katras ierīces autentifikācijas metodi, kas ļauj katrai ierīcei droši izveidot savienojumu ar IoT centrmezglu. Tagad, kad esat sapratis Azure IoT Hub pamatus, pārejiet pie sistēmas iestatīšanas.
Azure IoT centra izveide
Mēs esam gatavi veikt visus nepieciešamos iestatījumus, kas nepieciešami, lai iestatītu Microsoft Azure pakalpojumus, taču pirms tam pārliecinieties, vai jums ir Microsoft konts. Ja jums tā nav, varat vienkārši reģistrēties. Pēc tam dodieties uz Azure portālu, izmantojot portal.azure.com, un piesakieties.
Kad esat pieteicies, dodieties uz Azure mājaslapā, izvēlieties Izveidot resursu pogu, un pēc tam meklēt IoT Hub atrodas Meklēt Marketplace laukā. Meklēšanas rezultātos atlasiet IoT Hub un pēc tam atlasiet Izveidot. Zemāk redzamie attēli sniegs labāku priekšstatu par procesu.
Aizpildiet nepieciešamo informāciju, lai izveidotu IoT centru.
Sadaļā Abonēšana jums jāizvēlas abonements, lai to izmantotu savam centram. Mūsu gadījumā mēs izvēlamies izmēģinājuma kontu un esam izvēlējušies “ Bezmaksas izmēģinājums” .
Pēc tam sadaļā Resursu grupa atlasiet savu resursu grupu . Ja jums tāda nav, jums jāizveido jauns, noklikšķinot uz Izveidot jaunu un ievadot resursa nosaukumu.
Šajā reģionā sadaļā, jūs varat izmantot nolaižamo izvēlni, lai izvēlētos vēlamo reģionu.
Jo IoT Hub nosaukums sadaļas, jums ir nepieciešams e nter nosaukumu jūsu centru. Tam jābūt unikālam. Ar šo vārdu notiks visas nepieciešamās saziņas.
Cilnē “Izmērs un mērogs” atlasiet “ Bezmaksas līmenis ” un noklikšķiniet uz Tālāk. Pēc tam noklikšķiniet uz “Pārskatīt + Izveidot”. Lai izveidotu IoT centru, būs nepieciešamas dažas minūtes. Noklikšķiniet uz izveidotā IoT centra nosaukuma. Logā pierakstiet resursdatora nosaukumu, kā parādīts attēlā zemāk. Pēc tam iestatījumos noklikšķiniet uz koplietojamās piekļuves politikām. Koplietotās piekļuves politikas ir iezīmētas zemāk esošajā attēlā. Sadaļā Politika noklikšķiniet uz opcijas iothubowner. Pierakstiet primāro atslēgu un savienojuma virknes primāro atslēgu turpmākajām atsaucēm. Lai reģistrētu jaunu ierīci IoT centrā, noklikšķiniet uz IoT ierīces. Rūtī Device Explorer noklikšķiniet uz Pievienot, lai pievienotu ierīci centrmezglam.
Cilnē Jaunas ierīces aizpildiet šādu informāciju.
- Ierīces ID: ievadiet ierīces ID . Ierīču ID jābūt unikāliem.
- Autentifikācijas veids: atlasiet simetrisko atslēgu.
- Automātiski ģenerēt atslēgas: atzīmējiet šo izvēles rūtiņu.
- Pievienojiet ierīci IoT centrmezglam: noklikšķiniet uz Iespējot.
Kad ierīce ir izveidota, jaunizveidoto ierīci varat atrast sadaļā Device Explorer. Noklikšķiniet uz ierīces nosaukuma. Tajā tiks parādīta ierīces informācija. Pierakstiet ierīces primāro atslēgu un savienojuma virknes primāro atslēgu. Tas ir svarīgi, jo mums tas ir vajadzīgs saziņai.
Tagad, kad tas ir izdarīts, mēs varam pāriet uz lietu aparatūras pusi.
Komponenti, kas nepieciešami, lai izveidotu mūsu testa shēmu Azure IoT ar Raspberry Pi
Tā kā šīs shēmas aparatūras daļa ir ļoti vienkārša, arī komponentu prasības ir ļoti vienkāršas. Nepieciešamo komponentu saraksts ir parādīts zemāk.
- Raspberry Pi 3B (mēs varam izmantot arī citus Pi modeļus)
- Micro SD karte - 16 GB
- DHT11 sensors
- Mikro USB 5V, 2.4A barošanas avots
Azure IoT ar Raspberry Pi - aparatūras shēma
Pilna Azure IoT ar Raspberry Pi projekta shēma ir parādīta zemāk. Tā tika veidota, izmantojot fritzing. Izpildiet ķēdes shēmu un savienojumus, lai izveidotu ķēdi pats.
Iepriekš minētā shēma nosūta temperatūras un mitruma datus uz Microsoft IoT Hub. Šajā ķēdē mēs esam izmantojuši DHT11 sensoru, lai savāktu temperatūras un mitruma datus, un kā datu apstrādes ierīci mēs izmantojam Raspberry Pi 3B. DHT11 sensoram ir trīs tapas. VCC un GND tapas tiek izmantotas, lai nodrošinātu 5 V līdzstrāvas padevi sensoram, un DHT11 datu izvades tapa ir savienota ar Raspberry Pi GPIO4. Ja vēlaties uzzināt, kā sasaistīt DHT11 temperatūras un mitruma sensoru ar Raspberry Pi, varat pārbaudīt mūsu iepriekšējo rakstu par šo tēmu. Šo sensoru mēs esam izmantojuši arī IoT Raspberry Pi meteoroloģisko staciju būvniecībai.
Raspberry Pi programmēšana datu publicēšanai Azure IoT centrmezglā
Pirms sākat kodēt šo projektu, mums Azure portālā jāizveido Azure mākoņa čaula (CLI). Tas noderēs daudzos veidos. Lai to izdarītu, portālā noklikšķiniet uz Azure mākoņa čaulas pogas, kā parādīts zemāk. Pēc tam noklikšķiniet uz izveidot krātuvi, kas atzīmēta ar sarkanu.
Kad tas izdarīts, jūs varat atvērt CLI, un palaist šādu komandu, lai instalētu Azure pievienojumprogrammu ' s, kas tiks izmantoti, lai parādītu sensoru datus.
az paplašinājums pievienot - nosaukums azure-cli-iot-ext
Kad tas ir izdarīts, mums jāinstalē Raspberry Pi atkarības, lai sazinātos ar DHT11 sensoru un lai Azure IoT pakalpojumiem būtu viegli veikt saziņas procesu. Tam atveriet Raspberry Pi Terminal, lai instalētu projektā izmantotās paketes.
Pirmkārt, mums ir jālejupielādē Dash bibliotēka Raspberry Pi, pēc tam jāizvelk tā no saknes mapes un jāinstalē šāda komanda, lai to instalētu.
sudo python setup.py instalēt
Pēc veiksmīgas instalēšanas palaidiet šīs komandas, lai instalētu visas paketes Azure IoT Hub.
sudo pip3 instalēt azure-iot-ierīci sudo pip3 instalēt azure-iot-hub sudo pip3 instalēt azure-iothub-service-client sudo pip3 instalēt azure-iothub-device-client
Kad esam pabeiguši visu priekšnosacījumu instalēšanu, ir pienācis laiks kodu uzrakstīt Python. Lai to izdarītu, vispirms importējiet visas bibliotēkas:
importēt izlases veidā importētu Adafruit_DHT importēšanas laiku no azure.iot.device importēt IoTHubDeviceClient, ziņojumu
Šajā projektā mēs izmantojam Raspberry Pi 4. tapu, lai apstrādātu datus no DHT11 datiem, tāpēc tas jādeklarē, kā parādīts.
sensors = Adafruit_DHT. DHT11 tapa = 4
Tālāk mēs definējam koda savienojuma virkni. Nomainiet to ar savu ierīces primāro savienojuma virkni, kuru mēs saglabājām iepriekš.
CONNECTION_STRING = "HostName = sensordata.azure-devices.net; DeviceId = ZZZZZ; SharedAccessKey = ZZZZZZZZZZZZZZZZZZ"
Pēc tam mēs izveidojam masīvu, kas tiks izmantots datu nosūtīšanai uz Azure IoT Hub. To var izdarīt, kā parādīts zemāk.
MSG_SND = '{{"temperatūra": {temperatūra}, "mitrums": {mitrums}}}'
Pēc tam mēs esam definējuši while ciklu. In while ciklā gan mitruma, gan temperatūras dati tiek apstrādāti, izmantojot Adafruit_DHT.read_retry funkciju. Turklāt mēs definējam divus īpašus mainīgos un piešķiram izejas datus šiem mainīgajiem.
kamēr True: mitrums, temperatūra = Adafruit_DHT.read_retry (sensors, tapa)
Pēc tam tiek ierakstīta funkcija, lai savienotu IoT centrmezglu, izmantojot savienojuma parametrus, kurus mēs iepriekš esam definējuši.
def iothub_client_init (): klients = IoTHubDeviceClient.create_from_connection_string (CONNECTION_STRING) atgriešanās klients
Visbeidzot, nākamajā darbībā gan temperatūras, gan mitruma dati tiek nosūtīti uz Azure Hub, izmantojot formātu, kā parādīts zemāk esošajā kodā. Mēs arī izmantojām izmēģināšanas un nozvejas metodi, lai identificētu, vai kodā nav kļūdu.
def iothub_client_telemetry_sample_run (): try: client = iothub_client_init () print ("Datu sūtīšana uz IoT centrmezglu, nospiediet Ctrl-C, lai izietu"), bet True: msg_txt_formatted = MSG_SND.format (temperatūra = temperatūra, mitrums = mitrums) ziņojums = ziņojums (msg_txt_formatted) print ("Notiek ziņojuma sūtīšana: {}". format (message)) client.send_message (message) print ("Ziņojums veiksmīgi nosūtīts") time.sleep (3)
Publicējiet datus Azure IoT centrmezglā - testēšana
Pēc veiksmīgas koda uzrakstīšanas apkopojiet to un pārbaudiet, vai nav kļūdu. Ja koda bloks ir veiksmīgi sastādīts, palaidiet kodu. Termināla logā jums vajadzētu redzēt ziņojumu, kurā teikts: "Ziņojums veiksmīgi nosūtīts". Loga ekrānuzņēmums ir parādīts zemāk:
Tagad, lai skatītu datus Azure IoT centrmezglā, dodieties uz portālu un noklikšķiniet uz CLI termināla un izpildiet šādas komandas, aizstājot tajā jūsu akreditācijas datus.
az iot centrmezgla notikumi - centrālais nosaukums XYZ - ierīces ID XYZ
Piezīme:
Nomainiet XYZ ar sava centra nosaukumu un ierīces ID.
Pēc iepriekš minētās komandas palaišanas jums jāsaņem dati, kā parādīts zemāk ekrānā. Šie ir tie paši dati, kas tika nosūtīti no Raspberry Pi.
Tas iezīmē šīs apmācības beigas, es ceru, ka jums patika raksts un uzzinājāt kaut ko jaunu. Ja jums ir kādi jautājumi par rakstu, varat tos atstāt komentāru sadaļā zemāk. Vai arī varat izmantot mūsu elektronikas forumu, lai saņemtu ātrāku un labāku atbildi.