- Què és el centre de Microsoft Azure IoT?
- Creació d’un hub IoT d’Azure
- Components necessaris per construir el nostre circuit de prova per a Azure IoT amb Raspberry Pi
- Azure IoT amb Raspberry Pi: esquema de maquinari
- Programació de Raspberry Pi per publicar dades a Azure IoT Hub
- Publicar dades a Azure IoT Hub: proves
Azure IoT Hub, el servei de cloud computing de Microsoft, permet als desenvolupadors connectar-se, supervisar i gestionar milers de milions de dispositius IoT en una sola plataforma. Ja s’utilitza en diverses aplicacions d’IoT, com ara sistemes domòtics, sistemes de seguretat, vigilància i supervisió. Per demostrar les capacitats del hub IoT d' Azure, crearem un petit circuit amb el Raspberry Pi, un sensor de temperatura i humitat DHT11, per tal de processar les dades del sensor amb ell. Finalment, publicarem les dades del sensor al servidor Azure IoT mitjançant el protocol MQTT. En aquest tutorial, aprendrem a configurar i configurar un servidor Azure i enviar dades mitjançant un Raspberry Pi.
Què és el centre de Microsoft Azure IoT?
Azure IoT Hub és una col·lecció de serveis gestionats que poden connectar, supervisar i controlar dispositius IoT. També inclou una comunicació segura per a dispositius, amb visualització i analítica de dades que ajuden els fabricants de dispositius a construir, desplegar i gestionar aplicacions IoT amb l'ajut del núvol d' Azure . Les dades de telemetria de dispositiu a CD d’Azure IoT Hub ens permeten conèixer l’estat dels dispositius IoT connectats i els missatges Cloud-to-Device ens permeten enviar ordres i notificacions als dispositius connectats. Un exemple podria ser que, mitjançant un sistema domòtic intel·ligent, puguem recollir diverses dades de sensors i enviar-les a Azure IoT Hub per visualitzar-les, emmagatzemar-les i gestionar-les. També podem controlar els dispositius de sortida des de la interfície Azure IoT Hub.
El centre central de comunicació bidireccional per a aplicacions i dispositius IoT admet la comunicació de dispositius-núvol i de dispositius en núvol, també admet múltiples patrons de missatgeria, com ara un dispositiu per núvolar la telemetria, pujar fitxers des de dispositius i mètodes de sol·licitud de resposta i, finalment, podem utilitzar el mètode d’autenticació per dispositiu que permet que cada dispositiu es connecti de forma segura al centre IoT. Ara, tal com heu entès els conceptes bàsics de l'Azure IoT Hub, anem a configurar el sistema.
Creació d’un hub IoT d’Azure
Estem preparats per fer totes les configuracions necessàries per configurar els serveis de Microsoft Azure, però abans assegureu-vos que teniu un compte de Microsoft. Si no en teniu, només us podeu inscriure. Després, aneu al portal Azure mitjançant portal.azure.com i inicieu la sessió.
Un cop hàgiu iniciat la sessió, aneu a la pàgina d'inici d'Azure, seleccioneu el botó Crea un recurs i, a continuació, cerqueu IoT Hub al camp Cerca al mercat. Seleccioneu IoT Hub als resultats de la cerca i, a continuació, seleccioneu Crea. Les imatges següents us donaran una millor idea del procés.


Empleneu els detalls necessaris per crear un centre IoT.
A la secció Subscripció, heu de seleccionar la subscripció per utilitzar-la al vostre concentrador. En el nostre cas, optem per un compte de prova i hem seleccionat " Prova gratuïta" .
A continuació, a la secció Grup de recursos, seleccioneu el vostre grup de recursos . Si no en teniu, n'heu de crear un de nou fent clic a Crea nova i introduïu el nom del recurs.
A la secció de regió, podeu utilitzar el menú desplegable per seleccionar la regió que preferiu.
A la IO Hub Nom de la secció, el que necessita i nter un nom per al seu centre. Això ha de ser únic. Totes les comunicacions necessàries passaran amb aquest nom.
A la pestanya "Mida i escala", seleccioneu " Nivell gratuït " i feu clic a Següent. A continuació, feu clic a "Revisa + Crea". La creació del centre IoT trigarà uns minuts. Feu clic al nom del centre IoT que heu creat. Anoteu el nom de l' amfitrió des de la finestra tal com es mostra a la imatge següent. A continuació, feu clic a les polítiques d'accés compartit a Configuració. Les polítiques d'accés compartit es ressalten a la imatge següent. Feu clic a l' opció iothubowner a Política. Anoteu la clau primària i la cadena de connexió-clau principal per a referències futures. Ara, per registrar un dispositiu nou a IoT Hub, feu clic a Dispositius IoT. Al tauler Explorador de dispositius, feu clic a Afegeix per afegir un dispositiu al concentrador.
Empleneu la informació següent a la pestanya Dispositius nous.
- Identificador de dispositiu: introduïu l'identificador del dispositiu. Els identificadors de dispositiu han de ser únics.
- Tipus d’autenticació: seleccioneu una clau simètrica.
- Generació automàtica de claus: marqueu aquesta casella de selecció.
- Connecteu el dispositiu al centre IoT: feu clic a Activa.
Un cop creat el dispositiu, podeu trobar el dispositiu nou creat a la secció Explorador de dispositius. Feu clic al nom del dispositiu. Es mostraran els detalls del dispositiu. Anoteu la clau primària i la cadena de connexió-clau principal del dispositiu. Això és important ja que ho necessitem per a la comunicació.

Ara, quan es faci això, podem passar al costat del maquinari de les coses.
Components necessaris per construir el nostre circuit de prova per a Azure IoT amb Raspberry Pi
Com que la part de maquinari d’aquest circuit és molt senzilla, el requisit de components també és molt senzill. A continuació es mostra una llista dels components necessaris.
- Raspberry Pi 3B (també podem utilitzar qualsevol altre model de Pi)
- Targeta Micro SD de 16 GB
- Sensor DHT11
- Micro USB 5V, font d'alimentació 2.4A
Azure IoT amb Raspberry Pi: esquema de maquinari
A continuació es mostra l’ esquema de circuits complet del projecte Azure IoT amb Raspberry Pi, que es va construir amb fritzing. Seguiu l'esquema del circuit i les connexions per crear el circuit vosaltres mateixos.

El circuit anterior envia dades de temperatura i humitat al centre IoT de Microsoft. En aquest circuit, hem utilitzat un sensor DHT11 per recollir les dades de temperatura i humitat i fem servir un Raspberry Pi 3B com a dispositiu de processament de dades. El sensor DHT11 té tres pins. Els pins VCC i GND s’utilitzen per proporcionar subministrament de 5 V CC al sensor i el pin de sortida de dades de DHT11 està connectat a GPIO4 de Raspberry Pi. Si voleu aprendre a relacionar el sensor de temperatura i humitat DHT11 amb Raspberry Pi, podeu consultar el nostre article anterior sobre el tema. També hem utilitzat aquest sensor per construir l’estació meteorològica Raspberry Pi IoT.
Programació de Raspberry Pi per publicar dades a Azure IoT Hub
Abans d’iniciar la codificació d’aquest projecte, hem de crear un shell shell (CLI) d’ Azure al portal d’Azure. Això us serà útil en molts aspectes. Per a això, feu clic al botó de shell de núvol d’Azure al portal, tal com es mostra a continuació. A continuació, feu clic a l'opció de creació d'emmagatzematge, marcada en vermell.


Un cop fet això, es pot obrir la CLI i executi les ordres següents per instal·lar el Azure add-on ' s que s'utilitzaran per mostrar les dades de l'sensor.
extensió az add --name azure-cli-iot-ext
Un cop fet això, hem d’instal·lar dependències al Raspberry Pi per comunicar-nos amb el sensor DHT11 i facilitar el procés de comunicació als serveis Azure IoT. Per a això, obriu un terminal Raspberry Pi per instal·lar els paquets dependents utilitzats al projecte.
Primer, hem de descarregar la biblioteca DHT per a Raspberry Pi, després extreure-la de la carpeta arrel i executar l'ordre següent per instal·lar-la.
sudo python setup.py install
Després de la instal·lació correcta, executeu les ordres següents per instal·lar tots els paquets dependents a Azure IoT Hub.
sudo pip3 install azure-iot-device sudo pip3 install azure-iot-hub sudo pip3 install azure-iothub-service-client sudo pip3 install azure-iothub-device-client
Un cop hàgim completat la instal·lació de tots els requisits previs, és hora d'escriure el codi a Python. Per fer-ho, primer importeu totes les biblioteques:
importació aleatòria importació Adafruit_DHT temps d'importació des d'azure.iot.device importació IoTHubDeviceClient, missatge
En aquest projecte, fem servir el pin 4 del Raspberry Pi per processar les dades de les dades DHT11, de manera que s’ha de declarar tal com es mostra.
sensor = Adafruit_DHT.DHT11 pin = 4
A continuació, definim la cadena de connexió del codi. Substituïu-lo per la cadena de connexió principal del dispositiu que hem desat anteriorment.
CONNECTION_STRING = "Nom de l'amfitrió = sensordata.azure-devices.net; DeviceId = ZZZZZ; SharedAccessKey = ZZZZZZZZZZZZZZZZZZZZ"
A continuació, creem una matriu que s'utilitzarà per enviar les dades a Azure IoT Hub. Es pot fer com es mostra a continuació.
MSG_SND = '{{"temperatura": {temperatura}, "humitat": {humitat}}}'
A continuació, hem definit un bucle while, al bucle while, tant les dades d’humitat com de temperatura es processen mitjançant la funció Adafruit_DHT.read_retry . A més, definim dues variables especials i assignem les dades de sortida a aquestes variables.
mentre que True: humitat, temperatura = Adafruit_DHT.read_retry (sensor, pin)
A continuació, s’escriu una funció per connectar el centre IoT mitjançant els paràmetres de connexió que hem definit prèviament.
def iothub_client_init (): client = IoTHubDeviceClient.create_from_connection_string (connection_string) client de retorn
Finalment, al següent pas, tant les dades de temperatura com d’humitat s’envien a Azure Hub, mitjançant el format que es mostra al codi següent. A més, hem utilitzat un mètode try and catch per identificar si hi ha algun error al codi.
def iothub_client_telemetry_sample_run (): try: client = iothub_client_init () print ("Sending data to IoT Hub, press Ctrl-C to exit") mentre és True: msg_txt_formatted = MSG_SND.format (temperature = temperature, Humity = Humity) message = Missatge (msg_txt_formatted) print ("Sending message: {}". format (message)) client.send_message (message) print ("Missatge enviat correctament") time.sleep (3)
Publicar dades a Azure IoT Hub: proves
Després d’escriure correctament el codi, compileu-lo i comproveu si hi ha cap error. Si el bloc de codi es compila correctament, executeu el codi. A la finestra del terminal, hauríeu de veure el missatge que diu "Missatge enviat correctament". La captura de pantalla de la finestra es mostra a continuació:

Ara, per veure les dades a Azure IoT Hub, aneu al portal i feu clic al terminal CLI i executeu les ordres següents substituint les vostres credencials.
az iot hub monitor-events --hub-name XYZ --device-id XYZ
Nota:
Substituïu XYZ pel vostre nom de concentrador i l'identificador de dispositiu.
Després d'executar l'ordre anterior, hauríeu d'obtenir les dades tal i com es mostra a la pantalla. Es tracta de les mateixes dades que es van enviar des de Raspberry Pi.

Això marca el final d’aquest tutorial, espero que l’article us hagi agradat i hàgiu après alguna cosa nova. Si teniu cap pregunta sobre l'article, podeu deixar-les a la secció de comentaris a continuació. O bé podeu utilitzar el nostre fòrum electrònic per obtenir una resposta més ràpida i millor.
