Apa yang harus kita bangun IOT? IoT Anda di Amazon dalam Satu Hari

Untuk mulai berurusan dengan platform IoT (Internet of Things), saya dihentikan oleh kurangnya perangkat IoT yang akan kompatibel dengan protokol dan metode akses. Tetapi ketika saya menyadari bahwa Anda dapat menggunakan smartphone biasa sebagai perangkat, implementasi rantai kerja membutuhkan waktu satu hari.

Ambil smartphone yang akan meniru perangkat IoT dengan sensor suhu, kelembaban dan tekanan dan mengirimkan bacaan ke platform Amazon IoT. Pada platform, kami akan menetapkan aturan bahwa setelah menerima data dari perangkat kami akan memanggil layanan notifikasi, yang pada gilirannya akan mengirim email dengan data yang diterima.

Sistem seperti itu, tentu saja, membawa sedikit nilai praktis, tetapi memungkinkan Anda untuk memahami bagaimana semuanya berjalan:

gambar

Mengapa Platform IoT Amazon? Dan mengapa Anda perlu memahami cara kerja platform IoT?

M2M - IoT - IoE


Ada semakin banyak perangkat IoT di dunia, baik agen analitik dan statistik dunia berbicara tentang ini.

Kita sendiri dapat dengan jelas melihat bahwa semakin banyak sistem yang terhubung ke Internet dan dikendalikan secara otomatis atau oleh orang-orang: rumah pintar, mobil, perangkat yang dapat dipakai. Dan sekarang mereka berbicara bukan hanya tentang IoT, tetapi tentang IoE (Internet of Everything), karena perangkat yang terhubung ke platform digunakan tidak hanya dalam sistem industri, tetapi juga oleh orang-orang.

Karena itu, kita perlu memahami prinsip kerja sendiri, setidaknya untuk memahami bagaimana Anda dapat menggunakan perangkat Anda secara efektif atau apa saja batasan dan nuansa keamanan.

Mengapa amazon?


Amazon menciptakan layanan dengan mempertimbangkan tren dunia dan sebagai hasilnya, sistem "universal" diperoleh, prinsip-prinsip dasar yang digunakan oleh semua produsen. Platform cloud memiliki nilai tambah yang lebih besar - ini adalah kemampuan untuk menggunakan sistem Anda sendiri dalam beberapa jam, tanpa melibatkan layanan dan keamanan TI perusahaan)

Mengapa menggunakan smartphone dan bukan IoT Starter Kit?


Pada pemeriksaan lebih dekat, smartphone mengemulasi perangkat IoT dengan baik:

  • Memiliki Linux untuk menjalankan aplikasi;
  • Ada koneksi seluler ke Internet;
  • Dengan menggunakan perangkat lunak, Anda dapat meniru pembacaan sensor.

Yaitu bekerja dengan perangkat IoT nyata tidak akan berbeda dengan bekerja dengan smartphone, kecuali untuk menggunakan SDK tertentu untuk mendapatkan pembacaan sensor. Semua komunikasi lain akan serupa.

Biarkan saya melewati bagian ini dengan standar, analitik, dan riset pemasaran - di akhir artikel saya akan memberikan beberapa tautan yang relevan. Saya ingin melakukan sesuatu yang menarik)

Platform AWS IoT


Amazon menggambar diagram platform yang cukup jelas:

gambar

Di sini, secara umum, semuanya jelas:

  • (1) Ada perangkat yang berinteraksi dengan platform IoT menggunakan SDK.
  • (2) Perangkat mengirim pesan yang diverifikasi oleh layanan otentikasi dan otorisasi.
  • (3) Pesan tiba di Device Gateway menggunakan protokol yang berbeda dan kemudian pergi ke penangan aturan (4.1) dan disalin (4.2) ke Device Shadows.
  • (4.2) Device Shadows adalah dobel digital yang menyimpan status perangkat saat ini yang selalu tersedia untuk aplikasi. Di sisi lain, dengan tidak adanya komunikasi dengan perangkat, Shadow Perangkat mengeksekusi perintah kontrol dari aplikasi dan, ketika menghubungkan kembali, menyinkronkan keadaan saat ini dengan perangkat.
  • (4.1) Bergantung pada data yang diterima, pengendali aturan melakukan tindakan yang telah ditentukan sebelumnya (5.1), misalnya, menyimpan data dalam DB, mengirim pemberitahuan SMS atau email, memanggil API HTTP, mengirim data ke sistem analisis, dll.
  • (5.2) Aplikasi menggunakan data ini untuk mengontrol dan mengelola perangkat menggunakan AWS API (6)
  • Informasi tentang semua perangkat disimpan pada platform AWS IoT (7).

Kami mulai mengerti, skema ini sedikit rumit:

gambar

Muncul:

Pekerjaan - melakukan tindakan standar pada perangkat, misalnya, menginstal aplikasi, memperbarui firmware, menghidupkan ulang perangkat, dll.
Topik adalah inti dari protokol MQTT. Pesan dari perangkat IoT dikirim ke topik tertentu.
Peran IAM - pengguna AWS atas nama siapa aturan dijalankan dan siapa yang memiliki akses ke sumber daya AWS yang diperlukan.

Aturan terdiri dari:

  • Filter - filter pesan untuk diproses. Setel sebagai kueri SQL.
  • Aksi - tindakan yang harus dilakukan.
  • Peran - satu atau lebih peran IAM.

Sertifikat - diunggah ke perangkat IoT, dengan bantuannya otentikasi perangkat pada platform AWS terjadi. Terdiri dari:

  • Sertifikat perangkat X.509
  • Kunci pribadi
  • Sertifikat Root AWS

Kebijakan - kebijakan dilampirkan pada sertifikat yang menentukan tindakan apa yang dapat dilakukan perangkat. Kebijakan mengesahkan perangkat.
Detail layanan AWS yang menerima informasi dari platform IoT: Layanan notifikasi Analytics, DB, SNS.

Kami menghubungkan perangkat


Saya tidak akan sepenuhnya memberikan instruksi tentang cara menghubungkan perangkat IoT ke platform Amazon: Memulai dengan AWS IoT . Tetapi untuk memahami ruang lingkup tugas, saya akan membuat daftar langkah-langkah yang perlu diambil agar skema tersebut bekerja:

  • Buat perangkat my-iot-dev di platform
  • Kami mendapatkan sertifikat perangkat X.509, kunci pribadi, kunci publik
  • Dapatkan sertifikat root dari platform AWS (Root CA untuk AWS IoT)
  • Buat kebijakan my-iot-dev-policy. Untuk demo kami, kami mengizinkan semua tindakan: iot: *

gambar

  • Lampirkan kebijakan ke sertifikat
  • Lampirkan sertifikat ke perangkat
  • Akibatnya, kami menerima sertifikat dengan perangkat dan kebijakan:

gambar

  • Buat aturan. Aturan akan memanggil layanan notifikasi AWS SNS (Layanan Pemberitahuan Sederhana) untuk mengirim email. Karena itu, Anda harus terlebih dahulu membuat topik dalam AWS SNS (my-iot-dev-sns-topic):

gambar

  • Sekarang kita mengkonfigurasi apa yang akan dilakukan topik ini saat menerima data. Untuk melakukan ini, buat berlangganan ke topik (Berlangganan ke topik Amazon SNS), masukkan alamat email tujuan, tunggu surat verifikasi, konfirmasi email.

gambar

Sekarang buat aturan itu sendiri (my_iot_dev_rule), yang akan memanggil topik yang dibuat:

  • Filter: SELECT * FROM 'my / dev-topic' - filter dipicu ketika pesan apa pun dalam topik bernama 'my / dev-topic' diterima;
  • Tindakan: mengirim pesan ke topik SNS yang dibuat sebelumnya "arn: aws: sns: eu-central-1: 1219xxx34064: my-iot-dev-sns-topic";
  • Peran IAM: membuat peran my-dev-role dengan akses ke topik SNS.

gambar

  • Semua entitas logis untuk perangkat kami dibuat. Sekarang Anda dapat menguji apakah skema tersebut berfungsi secara teoritis. Untuk melakukan ini, AWS memiliki alat uji yang memungkinkan Anda untuk mengirim dan menerima pesan yang mirip dengan perangkat nyata. Kami meluncurkannya, berlangganan ke topik (topik saya / dev) dan mengirim "Hello World!" pesan:

gambar

  • Kami memeriksa bahwa pesan "Hello World!" Telah tiba dan menyimpulkan bahwa rangkaian itu bekerja.

Konfigurasi Smartphone


Waktunya telah tiba untuk mengkonfigurasi perangkat IoT, yang akan menjadi ponsel cerdas saya. Untuk melakukan ini, gunakan instruksi JavaScript AWS SDK . Untuk mengubah smartphone menjadi perangkat IoT, Anda perlu:

  • Salin ke perangkat: kunci pribadi, X.509 dan sertifikat "Rooting CA untuk AWS";
  • Instal Node.js dan manajer paket npm;
  • Instal AWS SDK;
  • Instal dan jalankan program pengujian.

Dalam kasus kami, semuanya akan sedikit lebih mudah, karena Saya meletakkan sertifikat, AWS SDK dan program pengujian di GitHub dan Anda bisa mengkloning repositori IoT-Sensor . Jika seseorang ingin menggunakan program pengujian saya, maka mereka harus meletakkan sertifikat mereka di direktori / IoT / certs dan menulis Endpoint API Rest aktual untuk perangkat di file / server / src / services / IoT-AOI-Server:

device = deviceModule({ … host: 'a2lqo1xxx4zydi-ats.iot.eu-central-1.amazonaws.com', … }) 

Endpoint API Istirahat diambil dari pengaturan perangkat:

gambar

Jika Anda ingin mencoba sesuatu yang standar, maka Anda dapat menggunakan program pengujian dari AWS SDK.

Android adalah Linux yang sama, tetapi dengan keterbatasannya, jadi untuk menjalankan aplikasi JS Anda perlu menginstal terminal khusus, misalnya, Termux .

Untuk pengembangan awal Termux, ada sejumlah artikel, misalnya: Meluncurkan aplikasi NodeJS di Android . Tetapi pada umumnya, setelah menginstal Termux, Anda hanya perlu menjalankan beberapa perintah ajaib:

 git clone https://github.com/AlexeySushkov/IoT-Sensors.git 

Instalasi server


 cd ~/IoT-Sensors/server npm install npm start 

Jika semuanya berjalan dengan baik, garis akan muncul di terminal:
Server mulai pada port: 8081

Hidup tampilannya seperti ini:

gambar

Instalasi Klien


 cd ~/IoT-Sensors/client npm install npm run serve 

Jika semuanya berjalan dengan baik, garis akan muncul di terminal:
Aplikasi yang berjalan di port: 8080

Selanjutnya, di browser ponsel cerdas, masukkan: http: // localhost: 8080

Dan aplikasi pengujian akan muncul di layar:

gambar

Tekan tombol "INIT DEV". Ini mengotentikasi dan mengotorisasi perangkat IoT pada platform AWS IoT. Jika berhasil, statusnya menjadi "Init OK".

Selanjutnya, kita memasukkan nilai sensor suhu, kelembaban dan tekanan, misalnya:
Suhu: 23
Kelembaban: 65
Tekanan: 787

Dan tekan tombol "KIRIM DATA".

gambar

Setelah itu, aplikasi menambahkan cap waktu dan mengirimkan data dalam bentuk pesan MQTT ke topik “topik saya / dev”. Platform IoT menerima pesan dan mengaktifkan aturan yang mengirim pesan ke layanan pemberitahuan AWS SNS, yang mengirim email dengan data yang diterima dalam format JSON:

 {"time":"Mon, 30 Sep 2019 13:54:52 GMT", "temperature":"23", "humidity":"65", "pressure":"787"} 

Jika pesan berhasil dikirim, maka statusnya berubah menjadi: "terbitkan OK" dan email dikirim ke email:

gambar

Platform AWS IoT memiliki sistem pemantauan yang menunjukkan jumlah koneksi dan pesan dari perangkat IoT, statistik protokol, jenis pesan, dll .:

gambar

Jadi sekarang semuanya bekerja dengan nyata!

Kesimpulan


Kami membangun IOT kecil tapi nyata menggunakan platform Amazon. Semua platform dibangun berdasarkan prinsip yang sama, jadi jika muncul pertanyaan memilih sistem IoT, kami akan siap untuk mengajukan pertanyaan berikut. Dan selanjutnya, mengetahui jawaban dari Amazon, kita dapat menyimpulkan seberapa matang platform yang ditawarkan:

Perangkat

  • Bagaimana perangkat ditambahkan ke sistem?
  • Bagaimana cara memastikan otentikasi dan otorisasi perangkat?
  • Apakah enkripsi data yang dikirim ke platform terjadi?

Platform

  • Bagaimana kunci dan sertifikat dilindungi di platform?
  • Bagaimana aturan dibuat?
  • Tindakan apa yang bisa diikuti oleh aturan?
  • Bagaimana perangkat dimonitor dan dikelola?
  • Apakah ada bayangan (dobel digital) perangkat di platform?
  • Laporan dan analisis apa yang tersedia?

Interaksi

  • Protokol apa yang digunakan untuk menghubungkan perangkat?
  • Bagaimana interaksi aplikasi dengan perangkat?
  • Bagaimana logika interaksi diuji?

Seperti yang dijanjikan, saya akan memberikan beberapa tautan yang relevan dengan standar dan analitik:

Standar IOT


Anehnya, raksasa standardisasi ( ISO / IEC , IEEE , ITU-T ) telah kehilangan minat pada IoT setelah 2016. Mereka, tentu saja, melakukan sesuatu, tetapi entah bagaimana tanpa binar). NIST juga merilis studi Networks of 'Things' , tetapi setelah 2016 tidak ada yang lebih menarik.

Institut telekomunikasi terlihat lebih baik, yang tidak mengherankan sejak itu tanpa konektivitas, IoT bukan IoT. TM-Forum, di bawah payungnya, mengumpulkan kasus dan proyek IoE & Digital Ecosystems , ETSI lebih mudah dan bergabung dengan OneM2M .

Dan sekarang kita sampai pada dua organisasi yang dibentuk relatif baru, tetapi sudah menentukan arah dunia pengembangan IoT:

OneM2M

OneM2M adalah asosiasi organisasi standardisasi, perusahaan telekomunikasi dan produsen dari berbagai negara. Mereka memiliki lusinan dokumen yang relevan dalam domain publik yang menghangatkan jiwa dengan model arsitektur dan diagram fungsional .

IIC

IIC (Industrial Internet Consortium) - sebuah organisasi untuk menstandarisasi Internet untuk berbagai hal industri - ini terutama adalah produsen perangkat lunak dan perangkat . Mereka juga merilis arsitektur referensi mereka . Secara umum, ada tempat untuk melihat dunia yang sempurna! )

Analisis IoT


Semua lembaga analitik favorit kami merilis penelitian IoT, tetapi tidak semua tersedia secara bebas. Sebagai contoh, saya akan memberikan beberapa artikel yang relevan yang menunjukkan perkiraan optimis untuk pengembangan IoT:



Itu baru permulaan!

Source: https://habr.com/ru/post/id472216/


All Articles