- Apa itu Microsoft Azure IoT Hub?
- Membuat Azure IoT Hub
- Komponen yang Diperlukan untuk Membangun Sirkuit Uji kami untuk Azure IoT dengan Raspberry Pi
- Azure IoT dengan Raspberry Pi - Skema Perangkat Keras
- Memprogram Raspberry Pi untuk Menerbitkan Data di Azure IoT Hub
- Publikasikan Data di Azure IoT Hub - Pengujian
Azure IoT Hub, layanan komputasi awan oleh Microsoft memungkinkan pengembang untuk menghubungkan, memantau, dan mengelola miliaran perangkat IoT di satu platform. Ini sudah digunakan dalam berbagai aplikasi IoT seperti sistem otomasi rumah, sistem keamanan, pengawasan, dan pemantauan. Untuk mendemonstrasikan kemampuan hub Azure IoT, kita akan membuat sirkuit kecil dengan Raspberry Pi, Suhu DHT11, dan Sensor Kelembaban, untuk memproses data sensor dengannya. Terakhir, kami akan mempublikasikan data sensor ke server Azure IoT menggunakan protokol MQTT. Dalam tutorial ini, kita akan belajar cara mengatur dan mengkonfigurasi server Azure dan mengirim data menggunakan Raspberry Pi.
Apa itu Microsoft Azure IoT Hub?
Azure IoT Hub adalah kumpulan layanan terkelola yang dapat menghubungkan, memantau, dan mengontrol perangkat IoT. Ini juga mencakup komunikasi yang aman untuk perangkat, dengan visualisasi dan analitik data yang membantu produsen perangkat untuk membangun, menyebarkan, dan mengelola aplikasi IoT dengan bantuan awan Azure . Data telemetri Device-to-Cd Azure IoT Hub memberi tahu kami tentang status perangkat IoT yang terhubung, dan pesan Cloud-to-Device memungkinkan kami mengirim perintah dan pemberitahuan ke perangkat yang terhubung. Contohnya bisa seperti, dengan menggunakan sistem otomasi rumah pintar, kami dapat mengumpulkan berbagai data sensor dan mengirimkannya ke Azure IoT Hub untuk memvisualisasikan, menyimpan, dan mengelolanya. Kami juga dapat mengontrol perangkat keluaran dari antarmuka Azure IoT Hub.
Hub pusat untuk komunikasi dua arah untuk aplikasi dan perangkat IoT mendukung komunikasi perangkat-cloud dan cloud-perangkat, juga mendukung beberapa pola perpesanan seperti perangkat ke telemetri cloud, unggahan file dari perangkat, dan metode balasan permintaan dan akhirnya, kita dapat menggunakan metode otentikasi per perangkat yang memungkinkan setiap perangkat terhubung dengan aman ke IoT Hub. Sekarang, karena Anda telah memahami dasar-dasar Azure IoT Hub, mari beralih ke penyiapan sistem.
Membuat Azure IoT Hub
Kami siap untuk melakukan semua pengaturan yang diperlukan yang diperlukan untuk menyiapkan layanan Microsoft Azure tetapi sebelum itu, pastikan Anda memiliki akun Microsoft. Jika Anda tidak memilikinya, Anda dapat langsung mendaftar. Setelah itu, buka portal Azure menggunakan portal.azure.com dan masuk.
Setelah Anda masuk, buka beranda Azure, pilih tombol Buat sumber daya, lalu cari IoT Hub di bidang Cari di Marketplace. Pilih IoT Hub dari hasil pencarian, lalu pilih Buat. Gambar di bawah ini akan memberi Anda gambaran yang lebih baik tentang prosesnya.
Isi Detail yang Diperlukan untuk Membuat IoT Hub.
Di bagian Langganan, Anda perlu memilih langganan yang akan digunakan untuk hub Anda. Dalam kasus kami, kami memilih akun Uji Coba dan kami telah memilih " Uji Coba Gratis" .
Selanjutnya, di Bagian Grup Sumber Daya, pilih grup sumber daya Anda . Jika Anda tidak memilikinya, Anda perlu membuat yang baru dengan mengklik Buat baru dan masukkan nama Sumber Daya.
Di Bagian Wilayah, Anda dapat menggunakan menu dropdown untuk memilih wilayah pilihan Anda.
Dalam IOT Hub Bagian Nama, Anda perlu e nter nama untuk hub Anda. Ini harus unik. Semua komunikasi yang diperlukan akan terjadi dengan nama ini.
Di bawah Tab "Ukuran dan Skala", pilih " Tingkat Gratis " dan Klik Berikutnya. Kemudian klik "Review + Buat". Diperlukan beberapa menit untuk membuat IoT Hub. Klik pada nama IoT Hub yang Anda buat. Catat Hostname dari jendela seperti yang ditunjukkan pada gambar di bawah. Kemudian klik pada Kebijakan akses bersama di Pengaturan. Kebijakan akses bersama disorot pada gambar di bawah. Klik pada opsi iothubowner di bawah Kebijakan. Catat kunci utama dan kunci utama sambungan string untuk referensi di masa mendatang. Sekarang, untuk Mendaftarkan Perangkat Baru di bawah IoT Hub, Klik Perangkat IoT. Di panel Device Explorer, klik Add untuk menambahkan perangkat ke hub.
Isi Informasi Berikut di Tab Perangkat Baru.
- ID Perangkat: Masukkan Id untuk perangkat. ID Perangkat harus unik.
- Jenis Otentikasi: Pilih Kunci Simetris.
- Auto Generate Keys: Pilih kotak centang ini.
- Hubungkan Perangkat ke IoT Hub: Klik Aktifkan.
Setelah perangkat dibuat, Anda dapat menemukan perangkat yang baru Anda buat di bagian Device Explorer. Klik pada nama perangkat. Ini akan menunjukkan detail perangkat. Catat kunci utama dan kunci utama sambungan string dari perangkat. Ini penting karena kami membutuhkannya untuk komunikasi.
Sekarang, setelah selesai, kita dapat beralih ke sisi perangkat keras.
Komponen yang Diperlukan untuk Membangun Sirkuit Uji kami untuk Azure IoT dengan Raspberry Pi
Karena bagian perangkat keras dari rangkaian ini sangat sederhana, persyaratan komponennya juga sangat sederhana. Daftar komponen yang diperlukan ditampilkan di bawah ini.
- Raspberry Pi 3B (Kami juga dapat menggunakan model Pi lainnya)
- Kartu Micro SD-16 GB
- Sensor DHT11
- Micro USB 5V, catu daya 2.4A
Azure IoT dengan Raspberry Pi - Skema Perangkat Keras
Diagram rangkaian lengkap untuk Azure IoT dengan proyek Raspberry Pi ditunjukkan di bawah ini, Itu dibangun menggunakan fritzing. Ikuti diagram sirkuit dan koneksi untuk membuat sirkuit sendiri.
Rangkaian di atas mengirimkan data Suhu dan Kelembaban ke Microsoft IoT Hub. Di sirkuit ini, kami telah menggunakan sensor DHT11 untuk mengumpulkan data Suhu dan Kelembaban dan kami menggunakan Raspberry Pi 3B sebagai perangkat pengolah data. Sensor DHT11 memiliki tiga pin. Pin VCC dan GND digunakan untuk memberikan suplai DC 5V ke sensor dan pin keluaran data DHT11 terhubung ke GPIO4 dari Raspberry Pi. Jika Anda ingin mempelajari cara Menghubungkan Sensor Suhu dan Kelembaban DHT11 Dengan Raspberry Pi, Anda dapat memeriksa artikel kami sebelumnya tentang topik tersebut. Kami juga menggunakan sensor ini untuk membangun Stasiun Cuaca IoT Raspberry Pi.
Memprogram Raspberry Pi untuk Menerbitkan Data di Azure IoT Hub
Sebelum memulai pengkodean untuk proyek ini, kita perlu membuat cangkang awan Azure (CLI) di portal Azure. Ini akan berguna dalam banyak hal. Untuk itu, klik tombol Azure cloud shell di portal seperti yang ditunjukkan di bawah ini. Kemudian klik pada opsi buat penyimpanan, yang ditandai dengan warna merah.
Setelah selesai, Anda dapat membuka CLI, dan jalankan perintah berikut untuk menginstal Azure add-on' s yang akan digunakan untuk menampilkan data sensor.
ekstensi az tambahkan --name azure-cli-iot-ext
Setelah selesai, kita perlu menginstal dependensi pada Raspberry Pi untuk berkomunikasi dengan sensor DHT11 dan mempermudah proses komunikasi untuk layanan Azure IoT. Untuk itu buka Terminal Raspberry Pi untuk menginstal paket dependen yang digunakan dalam proyek.
Pertama, kita perlu mengunduh pustaka DHT untuk Raspberry Pi, lalu ekstrak dari folder root dan jalankan perintah berikut untuk menginstalnya.
sudo python setup.py install
Setelah penginstalan berhasil, jalankan perintah berikut untuk menginstal semua paket dependen di Azure IoT Hub.
sudo pip3 instal azure-iot-device sudo pip3 instal azure-iot-hub sudo pip3 instal azure-iothub-service-client sudo pip3 instal azure-iothub-device-client
Setelah kami selesai menginstal semua prasyarat, saatnya menulis kode dengan Python. Untuk melakukan itu, pertama-tama impor semua perpustakaan:
impor waktu impor Adafruit_DHT impor acak dari azure.iot.device import IoTHubDeviceClient, Message
Dalam proyek ini, kami menggunakan pin 4 dari Raspberry Pi untuk memproses data dari data DHT11, sehingga perlu dideklarasikan seperti yang ditunjukkan.
sensor = Adafruit_DHT.DHT11 pin = 4
Selanjutnya, kami menentukan string koneksi kode. Gantilah dengan string koneksi utama perangkat Anda yang telah kami simpan sebelumnya.
CONNECTION_STRING = "HostName = sensordata.azure-devices.net; DeviceId = ZZZZZ; SharedAccessKey = ZZZZZZZZZZZZZZZZZZ"
Selanjutnya, kami membuat array yang akan digunakan untuk mengirim data ke Azure IoT Hub. Itu bisa dilakukan seperti yang ditunjukkan di bawah ini.
MSG_SND = '{{"temperature": {temperature}, "moisture": {kelembaban}}}'
Selanjutnya, kita telah mendefinisikan loop sementara, Dalam loop sementara, data kelembaban dan suhu diproses menggunakan fungsi Adafruit_DHT.read_retry . Selanjutnya, kami mendefinisikan dua variabel khusus dan menetapkan data keluaran ke variabel tersebut.
sementara Benar: kelembaban, suhu = Adafruit_DHT.read_retry (sensor, pin)
Selanjutnya, sebuah fungsi ditulis untuk menghubungkan IoT Hub menggunakan parameter koneksi yang telah kita tentukan sebelumnya.
def iothub_client_init (): client = IoTHubDeviceClient.create_from_connection_string (CONNECTION_STRING) klien kembali
Terakhir, di langkah berikutnya, data Suhu dan Kelembaban dikirim ke Azure Hub, menggunakan format seperti yang ditunjukkan pada kode di bawah ini. Selain itu, kami menggunakan metode coba dan tangkap untuk mengidentifikasi apakah ada kesalahan dalam kode.
def iothub_client_telemetry_sample_run (): coba: client = iothub_client_init () print ("Mengirim data ke IoT Hub, tekan Ctrl-C untuk keluar") sedangkan True: msg_txt_formatted = MSG_SND.format (temperatur = suhu, kelembapan = kelembapan) message = Pesan (msg_txt_formatted) print ("Mengirim pesan: {}". format (pesan)) client.send_message (pesan) print ("Pesan berhasil dikirim") time.sleep (3)
Publikasikan Data di Azure IoT Hub - Pengujian
Setelah berhasil menulis kode, kompilasi dan periksa apakah ada kesalahan. Jika blok kode berhasil dikompilasi, maka jalankan kode tersebut. Di jendela Terminal, Anda akan melihat pesan yang berbunyi, "Pesan berhasil dikirim". Tangkapan layar jendela ditampilkan di bawah ini:
Sekarang, untuk melihat data di Azure IoT Hub, buka portal dan klik Terminal CLI dan jalankan perintah berikut untuk mengganti kredensial Anda di dalamnya.
az iot hub monitor-events --hub-name XYZ --device-id XYZ
catatan:
Ganti XYZ dengan nama Hub dan ID Perangkat Anda.
Setelah menjalankan perintah di atas, Anda akan mendapatkan data seperti yang ditunjukkan di bawah ini di layar. Ini adalah data yang sama yang dikirim dari Raspberry Pi.
Ini menandai akhir dari tutorial ini, saya harap Anda menyukai artikel ini dan mempelajari sesuatu yang baru. Jika Anda memiliki pertanyaan tentang artikel tersebut, Anda dapat meninggalkannya di bagian komentar di bawah. Atau Anda dapat menggunakan Forum Elektronik kami untuk mendapatkan tanggapan yang lebih cepat dan lebih baik.