- Apa itu Microsoft Azure IoT Hub?
- Membuat Hub IoT Azure
- Komponen yang Diperlukan untuk Membina Litar Uji kami untuk Azure IoT dengan Raspberry Pi
- Azure IoT dengan Raspberry Pi - Skema Perkakasan
- Memprogramkan Raspberry Pi untuk Menerbitkan Data di Azure IoT Hub
- Terbitkan Data di Azure IoT Hub - Pengujian
Azure IoT Hub, perkhidmatan pengkomputeran awan oleh Microsoft membolehkan pembangun menyambung, memantau, dan menguruskan berbilion peranti IoT pada satu platform. Ini sudah digunakan dalam berbagai aplikasi IoT seperti sistem automasi rumah, keamanan, pengawasan, dan sistem pemantauan. Untuk menunjukkan keupayaan hub Azure IoT, kami akan membina rangkaian kecil dengan Raspberry Pi, Sensor Suhu dan Kelembapan DHT11, untuk memproses data sensor dengannya. Akhirnya, kami akan menerbitkan data sensor ke pelayan Azure IoT menggunakan protokol MQTT. Dalam tutorial ini, kita akan belajar bagaimana mengatur dan mengkonfigurasi pelayan Azure dan mengirim data menggunakan Raspberry Pi.
Apa itu Microsoft Azure IoT Hub?
Azure IoT Hub adalah kumpulan perkhidmatan terurus yang dapat menghubungkan, memantau, dan mengawal peranti IoT. Ini juga termasuk komunikasi yang selamat untuk peranti, dengan visualisasi data dan analitik yang membantu pengeluar peranti untuk membangun, menyebarkan, dan mengurus aplikasi IoT dengan bantuan cloud Azure . Data telemetri Peranti-ke-Cd Azure IoT Hub memberi tahu kami mengenai keadaan peranti IoT yang disambungkan, dan mesej Cloud-to-Device membolehkan kami menghantar arahan dan pemberitahuan ke peranti yang disambungkan. Contohnya seperti, dengan menggunakan sistem automasi rumah pintar, kita dapat mengumpulkan pelbagai data sensor dan mengirimkannya ke Azure IoT Hub untuk memvisualisasikan, menyimpan dan menguruskannya. Kami juga dapat mengawal peranti output dari antara muka Azure IoT Hub.
Hab pusat untuk komunikasi dua arah untuk aplikasi IoT dan peranti menyokong komunikasi awan-peranti dan awan-peranti, ia juga menyokong pelbagai corak pesanan seperti telemetri peranti ke awan, muat naik fail dari peranti, dan kaedah balas-permintaan dan akhirnya, kita boleh menggunakan kaedah pengesahan per-peranti yang membolehkan setiap peranti menyambung dengan selamat ke Hub IoT. Sekarang, kerana anda telah memahami asas-asas Azure IoT Hub, mari beralih ke penyediaan sistem.
Membuat Hub IoT Azure
Kami siap melakukan semua persediaan yang diperlukan untuk menyediakan perkhidmatan Microsoft Azure tetapi sebelum itu, pastikan anda mempunyai akaun Microsoft. Sekiranya anda tidak memilikinya, anda boleh mendaftar. Selepas itu, pergi ke portal Azure menggunakan portal.azure.com dan log masuk.
Sebaik sahaja anda log masuk, pergi ke laman utama Azure, pilih butang Buat sumber, dan kemudian cari IoT Hub di medan Cari di Pasaran. Pilih IoT Hub dari hasil carian, dan kemudian pilih Buat. Gambar di bawah akan memberi anda idea yang lebih baik mengenai prosesnya.
Isi Maklumat yang Perlu untuk Membuat Hub IoT.
Di bahagian Langganan, anda perlu memilih langganan untuk menggunakannya untuk hab anda. Dalam kes kami, kami memilih akaun Percubaan dan kami telah memilih " Percubaan Percuma" .
Seterusnya, di Bahagian Kumpulan Sumber, pilih kumpulan sumber anda . Sekiranya anda tidak memilikinya, anda perlu membuat yang baru dengan mengklik Buat baru dan masukkan nama Sumber.
Di Bahagian Wilayah, anda boleh menggunakan menu lungsur untuk memilih wilayah pilihan anda.
Dalam IOT Hub Nama Seksyen, anda perlu e NTER nama untuk hab anda. Ini mesti unik. Semua komunikasi yang diperlukan akan berlaku dengan nama ini.
Di bawah Tab "Size and Scale", pilih " Free Tier " dan Klik Next. Kemudian klik pada "Ulasan + Buat". Perlu beberapa minit untuk membuat IoT Hub. Klik pada nama IoT Hub yang anda buat. Catat nama Host dari tetingkap seperti yang ditunjukkan dalam gambar di bawah. Kemudian klik pada Dasar akses bersama di Tetapan. Dasar akses bersama diserlahkan dalam gambar di bawah. Klik pada pilihan iothubowner di bawah Dasar. Catatkan Kunci utama dan penyambungan utama tali-utama untuk rujukan masa depan. Sekarang, untuk Mendaftarkan Peranti Baru di bawah IoT Hub, Klik pada Peranti IoT. Di panel Device Explorer, klik Add untuk menambahkan peranti ke hub.
Isi Maklumat Berikut di Tab Peranti Baru.
- ID Peranti: Masukkan Id untuk peranti. Id Peranti mesti unik.
- Jenis Pengesahan: Pilih Kekunci Simetri.
- Kekunci Hasilkan secara automatik: Pilih kotak pilihan ini.
- Sambungkan Peranti ke IoT Hub: Klik Aktifkan.
Setelah peranti dibuat, anda dapat mencari peranti yang baru anda buat di bahagian Device Explorer. Klik pada nama peranti. Ia akan menunjukkan perincian peranti. Catatkan Kunci utama dan utama Connection tali-utama peranti. Ini penting kerana kita memerlukannya untuk komunikasi.
Sekarang, setelah selesai, kita boleh beralih ke bahagian perkakasan.
Komponen yang Diperlukan untuk Membina Litar Uji kami untuk Azure IoT dengan Raspberry Pi
Oleh kerana bahagian perkakasan litar ini sangat mudah, keperluan komponen juga sangat mudah. Senarai komponen yang diperlukan ditunjukkan di bawah.
- Raspberry Pi 3B (Kami juga dapat menggunakan model Pi lain)
- Kad SD Mikro-16 GB
- Sensor DHT11
- Mikro USB 5V, 2.4A Bekalan kuasa
Azure IoT dengan Raspberry Pi - Skema Perkakasan
Gambarajah litar lengkap untuk projek Azure IoT dengan Raspberry Pi ditunjukkan di bawah, Ia dibina menggunakan fritzing. Ikuti rajah litar dan sambungan untuk membuat litar sendiri.
Litar di atas menghantar data Suhu dan Kelembapan ke Microsoft IoT Hub. Dalam rangkaian ini, kami telah menggunakan sensor DHT11 untuk mengumpulkan data Suhu dan Kelembapan dan kami menggunakan Raspberry Pi 3B sebagai alat pemprosesan data. Sensor DHT11 mempunyai tiga pin. Pin VCC dan GND digunakan untuk memberikan bekalan DC 5V ke sensor dan pin output Data DHT11 disambungkan ke GPIO4 Raspberry Pi. Sekiranya anda ingin belajar bagaimana Menghubungkan Sensor Suhu dan Kelembapan DHT11 Dengan Raspberry Pi, anda boleh menyemak artikel sebelumnya mengenai topik ini. Kami juga telah menggunakan sensor ini untuk membina Stesen Cuaca IoT Raspberry Pi.
Memprogramkan Raspberry Pi untuk Menerbitkan Data di Azure IoT Hub
Sebelum memulakan pengekodan untuk projek ini, kita perlu membuat shell awan Azure (CLI) di portal Azure. Ini akan berguna dalam pelbagai cara. Untuk itu, klik pada butang shell awan Azure di portal seperti gambar di bawah. Kemudian klik pada pilihan buat penyimpanan, ditandakan dengan warna merah.
Setelah selesai, anda boleh membuka CLI, dan menjalankan arahan berikut untuk memasang Azure add-on ' s yang akan digunakan untuk menunjukkan data sensor.
peluasan az tambah --nama azure-cli-iot-ext
Setelah selesai, kita perlu memasang pergantungan pada Raspberry Pi untuk berkomunikasi dengan sensor DHT11 dan mempermudah proses komunikasi untuk perkhidmatan Azure IoT. Untuk itu buka Terminal Raspberry Pi untuk memasang pakej bergantung yang digunakan dalam projek.
Pertama, kita perlu memuat turun pustaka DHT untuk Raspberry Pi, kemudian ekstrak dari folder root dan jalankan arahan berikut untuk memasangnya.
sudo python setup.py pasang
Selepas pemasangan berjaya, jalankan arahan berikut untuk memasang semua pakej yang bergantung pada Azure IoT Hub.
sudo pip3 pasang azure-iot-device sudo pip3 pasang azure-iot-hub sudo pip3 pasang azure-iothub-service-client sudo pip3 pasang azure-iothub-device-client
Setelah kami selesai memasang semua prasyarat, sudah tiba masanya untuk menulis kod di Python. Untuk melakukan itu, mula-mula mengimport semua perpustakaan:
mengimport rawak import Adafruit_DHT masa import dari azure.iot.device import IoTHubDeviceClient, Message
Dalam projek ini, kami menggunakan pin 4 dari Raspberry Pi untuk memproses data dari data DHT11, jadi perlu dinyatakan seperti yang ditunjukkan.
sensor = Pin Adafruit_DHT.DHT11 = 4
Seterusnya, kami menentukan rentetan sambungan kod tersebut. Gantikannya dengan rentetan sambungan utama-peranti anda yang kami simpan sebelumnya.
CONNECTION_STRING = "HostName = sensordata.azure-devices.net; DeviceId = ZZZZZ; SharedAccessKey = ZZZZZZZZZZZZZZZZZZ"
Seterusnya, kami membuat array yang akan digunakan untuk mengirim data ke Azure IoT Hub. Ia boleh dilakukan seperti gambar di bawah.
MSG_SND = '{{"suhu": {suhu}, "kelembapan": {kelembapan}}}'
Seterusnya, kami telah menentukan loop sementara, Dalam loop sementara, data kelembapan dan suhu diproses menggunakan fungsi Adafruit_DHT.read_retry Selanjutnya, kami menentukan dua pemboleh ubah khas dan memberikan data output kepada pemboleh ubah tersebut.
sementara Betul: kelembapan, suhu = Adafruit_DHT.read_retry (sensor, pin)
Seterusnya, fungsi ditulis untuk menghubungkan IoT Hub menggunakan parameter sambungan yang telah kami tentukan sebelumnya.
def iothub_client_init (): client = IoTHubDeviceClient.create_from_connection_string (CONNECTION_STRING) pelanggan kembali
Akhirnya, pada langkah seterusnya, kedua-dua data Suhu dan Kelembapan dikirim ke Azure Hub, menggunakan format seperti yang ditunjukkan dalam kod di bawah. Selain itu, kami menggunakan kaedah cubaan dan tangkap untuk mengenal pasti sama ada terdapat kesalahan dalam kod tersebut.
def iothub_client_telemetry_sample_run (): try: client = iothub_client_init () print ("Menghantar data ke IoT Hub, tekan Ctrl-C untuk keluar") sementara True: msg_txt_formatted = MSG_SND.format (suhu = suhu, kelembapan = kelembapan) mesej = Mesej msg_txt_formatted) print ("Menghantar mesej: {}". format (message)) client.send_message (message) print ("Pesan berjaya dihantar") time.sleep (3)
Terbitkan Data di Azure IoT Hub - Pengujian
Setelah berjaya menulis kod tersebut, kumpulkan dan periksa sebarang kesilapan. Sekiranya blok kod berjaya disusun, kemudian jalankan kodnya. Di tetingkap Terminal, anda akan melihat mesej yang berbunyi, "Mesej berjaya dihantar". Tangkapan skrin tetingkap ditunjukkan di bawah:
Sekarang, untuk melihat data di Azure IoT Hub, pergi ke portal dan klik pada Terminal CLI dan jalankan arahan berikut menggantikan kredensial anda di dalamnya.
az-hub monitor-peristiwa -hub-nama XYZ --device-id XYZ
Catatan:
Ganti XYZ dengan nama Hub dan id Peranti anda.
Setelah menjalankan perintah di atas, anda harus mendapatkan data seperti yang ditunjukkan di bawah di layar. Ini adalah data yang sama yang dikirimkan dari Raspberry Pi.
Ini menandakan berakhirnya tutorial ini, saya harap anda menyukai artikel ini dan mempelajari sesuatu yang baru. Sekiranya anda mempunyai pertanyaan mengenai artikel tersebut, anda boleh meninggalkannya di bahagian komen di bawah. Atau anda boleh menggunakan Forum Elektronik kami untuk mendapatkan respons yang lebih pantas dan lebih baik.