Artikel ini membahas tentang bagaimana kami menerapkan sistem pemantauan dan manajemen berdasarkan platform Amazon WEB Services (AWS). Lemari komunikasi yang menyerupai “Rumah Pintar” kecil dianggap sebagai objek kontrol. Di dalam lemari seperti itu dapat dipasang peralatan komunikasi seluler atau tetap, WiFi kota, pengawasan video, kontrol pencahayaan, atau sejenisnya, serta catu daya dan perangkat pengatur suhu. Menggunakan pengontrol

Tugas
Mari pertimbangkan pembuatan sistem dua tingkat, diagram strukturalnya ditunjukkan di bawah ini.

Di tingkat bawah, pengontrol dengan sensor, aktuator, dan perangkat digital harus digunakan.
Fungsi sistem tingkat rendah dan persyaratan pengontrol
| Fungsi | Persyaratan pengontrol |
| Bertenaga listrik atau catu daya cadangan DC | Catu daya untuk 220VAC, atau 18..72VDC
(untuk lemari dengan sistem daya cadangan) |
| Komunikasi dengan sistem tingkat atas | Port Ethernet dan / atau modul 2G / LTE. Mendukung protokol: MQTT / TLS, WEB, antarmuka baris perintah (CLI), SNMP v.1-3, Syslog, Radius authorization. |
| , , | RS485, RS232, CAN, USB, Ethernet . |
| - : , , , , .
, |
- DHT , ; 0..20 , NAMUR. ;1-Wire Maxim Integrated. |
| , , ( ) | U = 230, Imax > 5A( ) |
- IoT ,
- ,
- B2B , B2C « »,
- ,
- ;
- WEB ,
- ,
- .
Saat ini, lebih dari 600 platform IoT telah dikembangkan di dunia dan jumlah ini terus bertambah . Pada saat yang sama , platform Amazon WEB Services (AWS) adalah yang paling populer di kalangan pengembang pada tahun 2019. Posisi dominan AWS telah menentukan pilihan kami atas platform ini sebagai dasar sistem ST-Eye kami. Keputusan tersebut juga dipengaruhi oleh dukungan teknis yang cepat dan ketersediaan informasi referensi dalam jumlah besar. Orang-orang dari AWS berbagi praktik terbaik dan membantu memilih teknologi yang paling efektif.
Di bawah ini adalah arsitektur dan deskripsi dari sistem ST-Eye.
Arsitektur sistem ST-Eye IoT pada platform AWS

Tingkat komunikasi dengan pengontrol
Pengontrol objek terhubung ke layanan AWS IoT-Core menggunakan TLS. Alamat server yang digunakan untuk koneksi berisi pengenal unik untuk akun tersebut. Otentikasi dilakukan dengan menggunakan protokol x509. Setiap perangkat menggunakan sertifikat uniknya sendiri. Selain sertifikatnya sendiri, pengontrol memiliki sertifikat CA untuk otentikasi server. Pembuatan dan distribusi sertifikat dilakukan melalui platform AWS. Setelah otentikasi berhasil, protokol MQTT digunakan, yang telah menjadi standar de facto di IoT... Protokol MQTT didasarkan pada interaksi klien satu sama lain sesuai dengan prinsip pub / sub. Klien mempublikasikan pesan ke saluran (topik) dan berlangganan ke topik klien lain yang sudah ada. Ini disediakan oleh layanan perantara - broker, yang menyimpan daftar topik dan daftar pelanggan untuk setiap topik yang tersedia. Layanan IoT-Core menyediakan beberapa topik standar untuk berlangganan dan penerbitan, Anda dapat membuat topik lain. Mereka akan tersedia dalam Wilayah dan akun AWS. Misalnya, pengontrol berlangganan ke topik kontrol langsung, dan aplikasi WEB menerbitkan perintah kepada mereka. Karena persyaratan sumber daya yang rendah dari MQTT, waktu respons pengontrol terhadap perintah operator minimal (dalam sistem kami - tidak lebih dari 0,5 detik saat menggunakan koneksi Ethernet kantor). IoT-Core adalah layanan terkelola, masing-masing,redundansi dan penskalaan dilakukan tanpa campur tangan pengguna.
Salah satu fungsi utama layanan IoT-Core adalah bayangan virtual image perangkat. Ini memungkinkan Anda mendapatkan status terakhir perangkat yang diketahui dan menampilkannya bahkan saat perangkat tidak tersedia melalui jaringan. Fitur ini sangat diperlukan untuk bekerja dengan perangkat GSM atau perangkat bertenaga baterai, karena mereka mungkin offline untuk waktu yang lama. Bayangan adalah objek JSON yang berisi dua bidang utama: dilaporkan dan diinginkan. Setiap bidang berisi pasangan nilai-kunci yang sesuai dengan output dan / atau parameter perangkat. Ketika parameter perangkat yang diinginkan diubah, bidang delta dibuat yang berisi perbedaan antara bidang yang diinginkan dan yang dilaporkan. Perangkat berlangganan topik $ aws / things / thingName / shadow / update / deltadan memperbarui status internalnya jika ada parameter di bidang delta. Shadow berisi tanggal dan waktu pembaruan terakhir. Dengan demikian, aplikasi tingkat atas menerima informasi tentang berapa lama pengontrol menghubungi terakhir kali.
Layanan IoT-Core juga menyediakan sistem aturan yang fleksibel untuk berinteraksi dengan layanan lain. Dalam aplikasi kami, aturan IoT-Core digunakan, misalnya, untuk mengirim notifikasi dan mengaktifkan perangkat. Pemberitahuan dikonfigurasi di workstation administrator. Notifikasi SMS yang tersedia, email, push.
Proses pembaruan perangkat lunak di perangkat IoT memiliki persyaratan yang ketat. Sumber pembaruan dan wadah dengan firmware baru harus diverifikasi keaslian dan kompatibilitasnya dengan pengontrol. Jika tidak, pengontrol dapat berubah menjadi "batu bata" setelah pembaruan. Mekanisme Job digunakan untuk menjalankan Firmware over the air (FOTA) atau konfigurasi perangkat. Pengontrol menerima sekumpulan perintah dan data tambahan melalui topik khusus, kemudian menjalankan perintah secara berurutan. Misalnya, ia mengunduh firmware dari penyimpanan cloud AWS S3 menggunakan tautan dan memverifikasi tanda tangannya.
Lapisan pemrosesan data
Subsistem IoT-Analytics digunakan untuk memproses data dari layanan IoT-Core ke AWS. Blok saluran , menggunakan aturan mirip sql, memungkinkan Anda memilih sumber data, misalnya, bidang pesan individual dari perangkat. Data mentah yang tiba melalui saluran dapat disimpan di penyimpanan internal layanan atau di S3. Komponen pipeline memungkinkan Anda melakukan praproses, memfilter data, atau melengkapinya. Misalnya, berdasarkan beberapa data, Anda dapat membuat permintaan ke database (DB) atau layanan eksternal dan menambahkan informasi dari respons. Data yang diproses sebelumnya disimpan ke database datastore . Database ini adalah jenis database deret waktu ( TSDB) dan dirancang untuk bekerja dengan data yang berasal dari sensor referensi waktu. Dengan menggunakan data ini, dimungkinkan untuk melacak perubahan di setiap parameter sistem selama seluruh periode pengamatan. Tidak seperti jenis database lainnya, TSDB menyediakan alat seperti kebijakan retensi / penghapusan data, penjadwal kueri, dan fungsi agregasi yang fleksibel.
Sampel data selanjutnya diterapkan ke record di datastore ( dataset). Mereka dapat diimplementasikan dalam bentuk kueri SQL dan dieksekusi oleh penjadwal di dalam subsistem IoT-Analytics, dan, jika diperlukan logika yang lebih kompleks, di penampung Docker. Hasil pasca-pemrosesan disimpan di penyimpanan layanan dan tersedia selama 90 hari dari aplikasi WEB dan layanan visualisasi data (Quicksight). Setelah tanggal kedaluwarsa, data ditransfer ke penyimpanan dingin di S3 menggunakan fungsi Lambda.
Tingkat visualisasi (aplikasi WEB)
Di tingkat atas sistem, portal WEB diimplementasikan, diwakili oleh beberapa workstation otomatis (AWS), khususnya, administrator, analis / manajer, dan petugas operator.
Pertimbangkan stasiun kerja operator tersebut. Jendela utamanya tampak seperti tabel, yang merangkum data pada kelompok objek.

Setiap objek dapat berada dalam salah satu dari lima status: normal, masalah / alarm, pelanggaran, mode layanan, dan tidak ada komunikasi. Setiap sel dalam tabel memungkinkan Anda menavigasi ke daftar objek yang relevan dengan informasi yang lebih detail:

Dengan mengklik perangkat yang sesuai dalam daftar, Anda dapat membuka halaman untuk pemantauan dan kontrolnya.
Aplikasi WEB menggunakan protokol TLS sebagai transportasi untuk terhubung ke AWS. Otentikasi bekerja pada algoritme Signature V4 dan menggunakan layanan mikro Cognito. Kode aplikasi di-host di penyimpanan S3. Portal menggunakan mekanisme Integrasi Berkelanjutan. Versi baru secara otomatis diuji dan, jika berhasil, diterapkan ke platform. Layanan Pohon Kacang digunakan untuk kontrol versi dan penyebaran otomatis.
Substitusi impor
Legislasi Rusia untuk aplikasi pemerintah (B2G) memiliki batasan pada penggunaan server di luar Rusia, misalnya 187-. Layanan cloud Rusia paling canggih adalah Yandex.Cloud, yang di dalamnya terdapat platform IoT. Pada awal pengerjaan sistem kami, beberapa komponen yang tersedia di AWS belum tersedia dari Yandex. Secara khusus, untuk membuat solusi lengkap, Anda memerlukan backend Anda sendiri untuk berinteraksi dengan aplikasi WEB dan broker MQTT. Di sisi lain, Yandex telah menawarkan alat analitik dan database yang kaya, alat penyebaran aplikasi, dan penyimpanan cloud (Object Storage). Layanan Datalens untuk visualisasi data (analog dengan AWS Quicksight) sudah tersedia, begitu juga database ClickHouse, yang sempurna untuk menyimpan data deret waktu.
Yandex memberikan kontribusi besar pada pengembangan Open Source di dunia, dan juga mencoba membuat produknya kompatibel dengan solusi yang ada. Jadi, misalnya, Anda dapat bekerja dengan Object Storage Yandex menggunakan utilitas aws-cli menggunakan perintah untuk AWS S3.
Memilih pengontrol objek
Pasar untuk pengontrol objek cukup besar. Jumlah opsi dan pabrikan yang dapat dipilih mencapai lusinan, dan model hingga ratusan. Sebagai aturan, saat membuat sistem kontrol, digunakan pengontrol yang sudah dapat digunakan, atau yang direkomendasikan oleh pemasok sistem tingkat atas. Keadaan ini adalah satu-satunya yang mungkin ketika menggunakan sistem tingkat atas yang dikembangkan untuk peralatan tertentu ( platform perangkat lunak khusus perangkat keras ) dan bekerja dengan pengontrol menggunakan protokol pertukaran tertutup.
Saat menggunakan sistem tingkat atas yang beroperasi pada protokol terbuka (platform Cloud IoT seperti itu), Anda dapat menghemat uang dengan memilih peralatan yang optimal untuk kebutuhan proyek. Contoh persyaratan tersebut diberikan dalam paragraf "Fungsi sistem tingkat rendah dan persyaratan pengontrol" di atas.
Untuk solusi B2G sesuai dengan PP-878, lebih baik fokus pada pengontrol Rusia. Untuk beberapa area, penggunaan peralatan yang berbasis elemen Rusia menjadi semakin penting.
Tidak semua orang terbiasa dengan opsi untuk mendesain pengontrol kustom. Itu dapat terbayar melalui penggunaan basis elemen yang murah dan implementasi jumlah blok fungsional yang diperlukan untuk proyek tertentu. Selain itu, kompleks peralatan di fasilitas tersebut akan terdiri dari jumlah minimum perangkat (terkadang hanya satu), yang berarti akan ada lebih sedikit pekerjaan perakitan, instalasi, dan commissioning.
Pengembangan pengontrol yang disesuaikan dapat terbayar karena biaya peralatan yang lebih rendah, lebih sedikit pekerjaan pemasangan dan commissioning.
Untuk tugas yang dijelaskan, kami menggunakan pengontrol GiC(Generic Internet Controller) merupakan hak milik. Ini dilengkapi dengan jumlah antarmuka jaringan yang diperlukan, port input-output, catu daya bawaan, mendukung protokol MQTT, WEB, SNMP, ModBUS dan dapat menginterogasi berbagai perangkat digital: perangkat pengukur, sistem catu daya, AC (daftarnya terus bertambah).
Kesimpulan
Di atas, kami menjelaskan bagaimana sistem manajemen kami dibuat di AWS. Teknologi cloud membuat pengembangan semacam ini lebih mudah, tetapi Anda tidak bisa mengatakan bahwa itu hanya masalah beberapa klik. Jika tugas Anda serupa dengan tugas kami, silakan hubungi kami.
Dalam platform IoT, perlu menunggu munculnya template yang telah dikonfigurasi sebelumnya untuk sistem Smart Home, AMR, NMS, ACS, dll. Ini akan semakin menyederhanakan pembuatan solusi lengkap, menurunkan ambang batas untuk memasuki bisnis ini, dan menarik audiens tambahan ke teknologi cloud.
Platform IoT menggunakan protokol pertukaran terbuka dengan pengontrol. Ini memberi pengguna kebebasan untuk memilih peralatan situs mereka. Ada kemungkinan pengembangan kustom pengontrol ( spesialisasi kami ). Menggunakan pengontrol khusus dapat mengurangi anggaran proyek.
Untuk proyek dan proyek pemerintah yang terkait dengan infrastruktur informasi kritis, lebih baik fokus pada sistem dan peralatan fasilitas Rusia, karena pasar untuk sistem semacam itu telah terbentuk dan sedang berkembang.