Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Menghubungkan Arduino NB 1500 dengan Aman ke Azure IoT Hub

Komponen dan persediaan

Arduino MKR NB 1500
× 1
Kabel Micro-USB ke USB (Generik)
× 1
Baterai Lipo 3,7V
× 1
Kartu SIM mikro
× 1

Aplikasi dan layanan online

Arduino IDE
Microsoft Azure

Tentang proyek ini

Catatan:Tutorial ini mungkin sudah usang, silakan buka di sini untuk versi yang lebih baru.

Pendahuluan

Azure IoT Hub memungkinkan Anda untuk "menghubungkan, memantau, dan mengelola miliaran perangkat dengan aman untuk mengembangkan aplikasi Internet of Things (IoT)".

Perangkat dapat terhubung ke Azure IoT Hub menggunakan protokol berikut:HTTPS, AMPQ, dan MQTT - Azure juga menyediakan SDK untuk banyak bahasa pemrograman untuk mengabstraksi protokol ini. Selain itu, Anda dapat terhubung ke IoT Hub melalui klien MQTT. Halaman ini memiliki informasi lebih lanjut tentang dukungan MQTT IoT Hub.

Tutorial ini akan memandu Anda melalui cara menghubungkan papan Arduino MKR NB 1500 dengan aman ke Azure IoT Hub menggunakan klien MQTT. MQTT (Message Queuing Telemetry Transport) adalah protokol konektivitas M2M (machine-to-machine) yang menyediakan langganan pengiriman pesan dan transportasi publikasi.

Perangkat dapat menggunakan token SAS atau sertifikat X.509 untuk otentikasi dengan Azure IoT Hub, informasi lebih lanjut dapat ditemukan di sini. Dalam tutorial ini, kita akan menggunakan sertifikat X.509 untuk mengotentikasi papan.

Setiap board Arduino MKR dengan konektivitas on-board, termasuk MKR NB 1500, dilengkapi dengan elemen crypto Microchip ATECC508A atau ATECC608A. Elemen kripto ini dapat digunakan untuk membuat dan menyimpan kunci ECC (Elliptic Curve Cryptography) 256-bit dengan aman.

Pengaturan Perangkat Lunak dan Perangkat Keras

Jika Anda belum menginstal Arduino IDE di komputer Anda, unduh dan instal.

Setelah terinstal, pastikan Anda telah menginstal paket "Arduino SAMD Boards" terbaru. Anda dapat memeriksa dengan membuka Arduino IDE, dan membuka Tools -> Board:"..." -> Board Manager... entri menu, dan mencari "Arduno SAMD". Pada saat penulisan 1.6.20 adalah versi terbaru.

Selanjutnya Anda perlu menginstal library Arduino yang akan digunakan, menggunakan library manager Arduino IDE. Buka Sketsa -> Sertakan Perpustakaan -> Kelola Perpustakaan... menu, cari dan instal satu per satu perpustakaan berikut:

  • MKRNB
  • ArduinoBearSSL
  • ArduinoECCX08
  • ArduinoMqttClient
  • Contoh Penyedia Cloud Arduino

Sekarang masukkan kartu SIM mikro ke dalam slot di bagian bawah papan MKR NB 1500 dan pasang baterai Lipo 3.7V ke konektor JST. Kemudian tancapkan MKR NB 1500 dengan kabel micro USB ke komputer Anda, pilih port serial di Arduino IDE menggunakan Tools -> Port "..." menu dan juga pilih Arduino MKR NB 1500 di Tools -> Board "..." menu.

Mengonfigurasi dan Menambahkan Papan ke Azure IoT Hub

Seperti disebutkan di atas, Azure IoT Hub memungkinkan perangkat yang terhubung menggunakan protokol MQTT dan menggunakan sertifikat X.509 untuk otentikasi. Kami akan menggunakan sketsa untuk menghasilkan Sertifikat X.509 yang ditandatangani sendiri di papan dan kemudian menambahkan SHA1 sertifikat ini ke portal Azure IoT Hub.

Sertifikat yang ditandatangani sendiri dapat dibuat menggunakan sketsa contoh dari perpustakaan ArduinoECCX08. Buka sketsa di Arduino IDE menggunakan File -> Contoh -> ArduinoECCX08 -> Alat -> ECCX08SelfSignedCert . Klik tombol "Unggah" untuk membuat dan mengunggah sketsa ke papan Anda, lalu buka Serial Monitor. Pastikan konfigurasi akhir baris diatur ke "Both NL &CR."

Sketsa ini akan meminta Anda untuk secara permanen mengonfigurasi elemen kripto ATECC508A ke ECC608A jika tidak dikonfigurasi dan dikunci. CATATAN:Proses penguncian ini bersifat permanen dan tidak dapat diubah, tetapi diperlukan untuk menggunakan elemen kripto - konfigurasi set sketsa memungkinkan untuk menggunakan 5 slot kunci pribadi dengan penyedia cloud (atau server) dan kunci pribadi dapat dibuat ulang kapan saja untuk semua dari yang 5 pribadi slot kunci (0 - 4) . Saat papan dikirim dari pabrik, elemen kripto dalam keadaan tidak terkonfigurasi dan tidak terkunci.

Setelah ini, Anda akan diminta untuk memasukkan informasi ke dalam sertifikat yang ditandatangani sendiri, termasuk tahun penerbitan, bulan, hari dan jam sertifikat dan periode kedaluwarsa dalam tahun. Untuk tutorial ini kita akan menggunakan slot 0 untuk menghasilkan dan menyimpan kunci pribadi yang digunakan untuk menandatangani sertifikat yang ditandatangani sendiri (slot 1 hingga 4 dapat digunakan untuk membuat dan menyimpan kunci pribadi tambahan jika diperlukan) - maka slot 8 akan digunakan untuk simpan terbitan dan tanggal kedaluwarsa sertifikat beserta tanda tangannya. Catatan: Karena kunci pribadi dibuat di dalam elemen kripto, kunci tersebut tidak pernah keluar dari perangkat dan disimpan dengan aman serta tidak dapat dibaca.

Salin nilai SHA1 yang dihasilkan (dalam tangkapan layar ini "99d6d96fa55bdf08b4040a142a8d0d934bc9d12b "). Kami akan menggunakannya di langkah selanjutnya sebagai sidik jari untuk sertifikat yang ditandatangani sendiri untuk perangkat di Azure IoT Hub.

Sekarang setelah kita memiliki sertifikat yang ditandatangani sendiri dan sidik jari SHA1 untuk mengidentifikasi papan, kita perlu masuk ke portal Azure IoT Hub dan membuat perangkat baru untuk itu.

1) Buka browser web dan buka portal.azure.com.

2) Jika Anda belum memiliki akun Azure, klik tombol "Buat!" link pada halaman untuk membuat akun. Jika tidak, masukkan alamat email Anda dan klik "Berikutnya" dan ikuti proses login.

3) Pada panel navigasi di sebelah kiri, klik "Buat sumber daya".

4) Kemudian klik "Internet of Things" dan "IoT Hub".

5) Anda akan diminta untuk memilih Subscription, Resource group, Region, dan IoT Hub Name. Pada tangkapan layar di bawah, "Uji Coba Gratis", "MKR", "AS Timur", dan "ArduinoProjectHubTutorial" digunakan sebagai input. Klik "Tinjau + Buat" untuk melanjutkan.

6) Layar konfirmasi akan muncul klik "Buat".

7) Anda harus menunggu beberapa menit hingga IoT Hub dibuat dan diterapkan.

8) Setelah penerapan selesai, tombol "Buka sumber daya" akan muncul, klik tombol tersebut.

9) Sekarang kita dapat membuat perangkat IoT baru, klik "Perangkat IoT" di bawah judul "Jelajahi".

10) Klik tombol "Tambah" untuk menambahkan perangkat baru.

11) Masukkan nama perangkat, di bawah "MyMKRNB1500" dimasukkan, lalu klik tab "X.509 Self-Signed". Tempelkan SHA1 dari monitor serial Arduino IDE untuk Sidik Jari Primer dan Sekunder. Kemudian klik tombol "Simpan" untuk membuat perangkat.

12) Sekarang Anda akan melihat entri baru di halaman Perangkat IoT.

Menghubungkan Board ke Azure IoT Hub

1) Buka sketsa Azure IoT Hub NB di Arduino IDE menggunakan File -> Contoh -> Contoh Penyedia Cloud Arduino -> AzureIoTHub-> Azure_IoT_Hub_NB.

2) Pada tab arduino_secrets.h, isikan pin (jika diperlukan) untuk kartu SIM.

// Pengaturan NB#define SECRET_PINNUMBER "" 

3) Perbarui nilai broker dengan titik akhir yang dibuat di portal Azure IoT Hub.

// Isi nama host dari broker Azure IoT Hub Anda#define SECRET_BROKER ".azure-devices.net" 

4) Perbarui nilai id perangkat, dengan nama perangkat yang Anda buat di portal Azure IoT Hub.

// Isi device id#define SECRET_DEVICE_ID "" 

5) Unggah sketsa ke papan Anda dan buka monitor serial. Board akan mencoba menyambung ke jaringan seluler dan jika berhasil coba sambungkan ke Azure IoT Hub menggunakan MQTT.

Berinteraksi dengan Dewan di Azure IoT Core

Sekarang setelah papan Anda berhasil terhubung ke Azure IoT Hub, kami dapat menggunakan portal Azure IoT Hub untuk berinteraksi dengannya. Sketsa mengirim pesan ke devices/{deviceId}/messages/events/ topik setiap 5 detik dan mendengarkan pesan di devices/{deviceId}/messages/devicebound/# topik.

Di portal Azure IoT Hub, klik baris id perangkat di tabel Perangkat IoT untuk papan Anda. Kemudian klik tombol "Pesan ke perangkat" di bilah alat.

Sekarang Anda dapat memasukkan isi pesan untuk dikirim ke perangkat, pada tangkapan layar di bawah "Halo :) " telah dimasukkan. Klik tombol "Kirim Pesan" di bilah alat untuk mengirim pesan.

Saat board menerima pesan, Serial Monitor di Arduino IDE akan menampilkannya.

Untuk melihat pesan yang dikirim oleh papan:

1) Masuk ke shell.azure.com (pilih "Bash" jika ini pertama kalinya Anda diminta).

2) Instal Ekstensi Hub IoT:

ekstensi az tambahkan --name azure-cli-iot-ext 

3) Jalankan perintah berikut, ganti dengan nama hub Anda (masukkan y jika diminta untuk pembaruan ketergantungan):

acara monitor hub iot --hub-name   

4) Anda akan melihat pesan yang dicetak ke shell:

Kesimpulan

Dalam tutorial ini, kami membahas cara aman menggunakan papan Arduino MKR NB 1500 dengan Azure IoT Hub. Sertifikat X.509 yang ditandatangani sendiri digunakan untuk mengautentikasi dengan Azure IoT Hub menggunakan protokol MQTT dengan ATECC508A atau ATECC608A yang menyimpan kunci pribadi yang terkait dengan sertifikat. Pesan MQTT dikirim ke dan dari papan.

Ini baru permulaan, Anda dapat menggunakan Azure IoT Hub dengan banyak layanan lain yang disediakan Azure!

Kode

Github
https://github.com/arduino/ArduinoCloudProviderExamples

Proses manufaktur

  1. Bagaimana IoT Menghubungkan Tempat Kerja
  2. board Arduino menargetkan IoT industri
  3. Kit pengembang mendukung Azure RTOS
  4. Proyek IoT Berbasis Raspberry PI Menghubungkan Sensor DHT11
  5. IoT di Cloud:Azure vs AWS
  6. GPS Datalogger, Analisis Spasial, dan Azure IoT Hub.
  7. Pemantau Detak Jantung Menggunakan IoT
  8. Menggunakan IoT untuk Mengontrol Lengan Robot dari Jarak Jauh
  9. Pelacak surya berbasis Internet of things (IoT)
  10. Kolam Renang Azure IoT