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

Menghubungkan MKR GSM 1400 dengan Aman ke Google Cloud IoT Core

Komponen dan persediaan

Arduino MKR GSM 1400
× 1
Kabel Micro-USB ke USB (Generik)
× 1
Baterai Lipo 3,7V
× 1
Kartu SIM mikro
× 1
Antena UF.L Seluler
× 1

Aplikasi dan layanan online

Arduino IDE
Google Cloud IoT Core

Tentang proyek ini

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

Pendahuluan

Perangkat dapat terhubung ke GCP IoT Core menggunakan HTTP atau MQTT. Tutorial ini akan memandu Anda melalui cara menghubungkan board Arduino MKR GSM 1400 dengan aman ke GCP IoT Core menggunakan klien MQTT. MQTT (Message Queuing Telemetry Transport) adalah protokol konektivitas M2M (machine-to-machine) yang menyediakan langganan pengiriman pesan dan transportasi publikasi.

Perangkat harus menggunakan JSON Web Tokens (JWTs) untuk autentikasi, informasi selengkapnya tentang JWT dapat ditemukan di RFC 7519. GCP IoT Core mendukung algoritme RSA dan Elliptic Curve untuk memverifikasi JSON Web Signatures (JWS). Informasi lebih lanjut tentang JWS dapat ditemukan di RFC 7515.

Setiap papan Arduino MKR dengan konektivitas on-board, termasuk MKR GSM 1400, dilengkapi dengan elemen crypto Microchip ATECC508A atau ATECC608A. Elemen kripto ini dapat digunakan untuk menghasilkan dan menyimpan kunci ECC (Elliptic Curve Cryptography) 256-bit dengan aman. Kami akan menggunakan kunci pribadi yang disimpan di dalam elemen kripto untuk menandatangani JWT.

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:

  • MKRGSM
  • Arduino_JSON
  • ArduinoECCX08 (versi 1.3.0 atau lebih baru)
  • ArduinoMqttClient (versi 0.1.3 atau lebih baru)
  • Contoh Penyedia Cloud Arduino (versi 1.2.0 atau lebih baru)

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

Mengonfigurasi dan Menambahkan Board ke GCP IoT Core

Seperti disebutkan di atas, GCP IoT Core memerlukan perangkat yang terhubung menggunakan protokol MQTT untuk menggunakan JWT untuk autentikasi. Kami akan menggunakan sketsa untuk membuat kunci pribadi dan publik di papan, lalu menambahkan nilai PEM dari kunci publik ke konsol GCP IoT Core.

Pribadi dan publik dapat dibuat menggunakan sketsa contoh dari perpustakaan ArduinoECCX08. Buka sketsa di Arduino IDE menggunakan File -> Contoh -> ArduinoECCX08 -> Alat -> ECCX08JWSPublicKey . 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 Anda menggunakan 5 slot kunci pribadi dengan penyedia cloud (atau server) dan kunci pribadi dapat dibuat ulang kapan saja untuk salah satu dari 5 slot kunci pribadi (0 - 4) . Saat papan dikirim dari pabrik, elemen kripto dalam keadaan tidak terkonfigurasi dan tidak terkunci.

Setelah ini, Anda akan diminta untuk menggunakan slot apa. Untuk tutorial ini kita akan menggunakan slot 0 untuk menghasilkan dan menyimpan kunci pribadi yang digunakan untuk kunci publik (slot 1 hingga 4 dapat digunakan untuk membuat dan menyimpan kunci pribadi tambahan jika diperlukan). 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 kunci publik yang dihasilkan, di tangkapan layar ini nilainya adalah:

-----MULAI KUNCI PUBLIK-----MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFl4+DXufU84AhDGib7aMwmYwUVAp9coRdC9jOdzRe2kqGWFEb+QP4V4YUK9Zy1==Psm>Kode PUB4V4YUK9Zy7Psm 

Kami akan menggunakannya di langkah selanjutnya saat menambahkan perangkat ke GCP IoT Core.

Sekarang kita memiliki kunci publik PEM, kita perlu login ke konsol GCP IoT Core dan membuat perangkat baru untuk itu.

1) Buka browser web dan buka https://cloud.google.com/ dan klik tautan "Masuk" untuk masuk dengan ID Google Anda.

2) Setelah Anda login, klik tombol "GO TO CONSOLE". Kemudian Anda akan melihat dasbor utama.

3) Klik tautan "BUAT" untuk membuat proyek baru.

4) Anda akan dimintai nama proyek, kami akan menggunakan "Tutorial MKR GCP" untuk namanya. Klik tombol "BUAT" untuk melanjutkan.

5) Setelah proyek dibuat, Anda akan disajikan tampilan dasbornya.

6) Sekarang klik ikon menu di sisi kiri atas, dan gulir ke judul "BIG DATA" dan klik tautan "IoT Core".

7) Anda akan diminta untuk mengaktifkan API, klik tombol "Aktifkan API".

8) Setelah API diaktifkan, Anda akan diminta untuk membuat registri perangkat. Klik tombol "Buat registri perangkat" untuk melanjutkan.

9) Anda kemudian akan disajikan dengan formulir. Isi "Registry ID", pilih wilayah. Pada tangkapan layar di bawah "MKR_GCP_Tutorial" dimasukkan untuk ID registri dan "us-central1" dipilih sebagai wilayah. Setelah formulir diisi, klik tombol "Buat".

10) Anda akan diberikan rincian registri.

11) Untuk menambahkan perangkat baru, klik tautan "Perangkat" pada bilah navigasi di sisi kiri.

12) Kemudian klik "+ BUAT PERANGKAT" pada judul di bagian atas halaman.

13) Masukkan nama perangkat, pada tangkapan layar di bawah "MyMKRGSM1400" digunakan. "ES256" harus dipilih sebagai "Format kunci publik". Rekatkan kunci publik PEM yang dibuat di papan sebelumnya ke dalam area teks "Nilai kunci publik". Kemudian klik tombol "Buat".

Menghubungkan Board ke GCP IoT Core

1) Buka sketsa GCP IoT Core GSM di Arduino IDE menggunakan File -> Contoh -> Contoh Penyedia Cloud Arduino -> GoogleCloudPlatformIoTCore-> GCP_IoT_Core_GSM.

2) Pada tab arduino_secrets.h, isikan pin (jika diperlukan) untuk SIM card, serta GPRS APN, username dan password untuk operator seluler yang Anda gunakan.

// Setting GSM#define SECRET_PINNUMBER ""#define SECRET_GPRS_APN "GPRS_APN" // ganti GPRS APN#tentukan SECRET_GPRS_LOGIN "login" // ganti dengan login GPRS Anda#definisikan SECRET_GPRS_PASSWORD dengan "password" // kata sandi GPRS Anda 

4) Kemudian perbarui nilai project id, cloud region, registry id, dan device id.

// Isi Google Cloud Platform Anda - Info IoT Core#define SECRET_PROJECT_ID ""#define SECRET_CLOUD_REGION ""#define SECRET_REGISTRY_ID ""#define SECRET_DEVICE_ID "" 

Nilai project id dapat ditemukan dengan mengklik bilah menu di bagian atas GCP console. Untuk langkah-langkah di atas nilainya adalah:

#define SECRET_PROJECT_ID "mkr-gcp-tutorial"#define SECRET_CLOUD_REGION "us-central1"#define SECRET_REGISTRY_ID "MKR_GCP_Tutorial"#define SECRET_DEVICE_ID "MyMKRGSM1400" 

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

Berinteraksi dengan Dewan di GCP IoT Core

Setelah papan Anda berhasil terhubung ke GCP IoT Core, kita dapat menggunakan konsol GCP IoT Core untuk berinteraksi dengannya. Sketsa mengirim pesan ke /devices/{deviceId}/state topik setiap 5 detik dan mendengarkan pesan di kedua /devices/{deviceId}/config topik dan /devices/{deviceId}/commands/# topik.

Di halaman perangkat di konsol GCP IoT Core, klik tombol "KIRIM PERINTAH".

Dialog modal akan muncul, di mana Anda dapat memasukkan pesan untuk dikirim. Pada tangkapan layar di bawah "Halo!" dimasukkan. Klik tombol "KIRIM PERINTAH" untuk mengirim pesan.

Setelah papan menerima pesan, ia akan mencetaknya di Serial Monitor.

Untuk melihat pesan yang dikirim oleh papan, klik tab "Konfigurasi &riwayat status".

Pesan akan muncul dalam format kode Base64, untuk melihat nilai klik dan entri dalam daftar dan pilih tombol radio "Teks".

Pada tangkapan layar di atas, dewan mengirimkan "halo 464488" nilai, nilai 464488 adalah hasil dari millis() berfungsi di papan tulis.

Kesimpulan

Dalam tutorial ini, kami membahas cara menggunakan board Arduino MKR GSM 1400 dengan aman dengan GCP IoT Core. JWT yang ditandatangani digunakan untuk mengautentikasi dengan GCP IoT Core menggunakan protokol MQTT dengan ATECC508A atau ATECC608A yang menyimpan kunci pribadi yang digunakan untuk menandatangani JWT. Pesan MQTT dikirim ke dan dari papan.

Ini baru permulaan, Anda dapat menggunakan GCP IoT Core dengan banyak layanan lain yang disediakan GCP!

Kode

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

Proses manufaktur

  1. ADLINK bermitra dengan Google Cloud untuk menawarkan solusi siap IoT
  2. Proyek IoT Berbasis Raspberry PI Menghubungkan Sensor DHT11
  3. Windows 10 IoT Core dan SHT15
  4. Windows 10 IoT Core untuk Raspberry Pi 3 Model B+
  5. Windows 10 IoT Core :Robot Terkendali Ucapan
  6. Debugging Inti Ganda Portenta H7
  7. Arduino - Ambil Gambar - Unggah ke Google Drive
  8. Pemantau Detak Jantung Menggunakan IoT
  9. Kolam Renang Azure IoT
  10. IoT Gateways:Panduan untuk Menghubungkan Berbagai Hal ke Cloud