Bangun Aplikasi IoT Low-Code dengan PLCnext Controller
Controller PLCnext mendukung berbagai cara untuk terhubung ke layanan cloud. Anda dapat menggunakan IEC Function blocks dari library IOT, membangun aplikasi .NET Anda sendiri, menulis skrip python, atau mengkompilasi konektor dalam GoLang. Jika Anda ingin menulis kode, Anda memiliki banyak opsi. Tetapi bagaimana jika, dari beberapa alasan Anda tidak ingin menulis kode? Mungkin ini proyek pertama Anda, atau mungkin sudah lama? Dalam blog ini saya akan menunjukkan cara membangun aplikasi Web IoT, tanpa menulis satu baris kode pun!
Ok, ketika saya bilang kita tidak akan menulis satu baris kode, itu mungkin sedikit berlebihan. Tentu saja kita akan perlu cara untuk memberi tahu PLCnext Controller dan layanan cloud apa yang kita inginkan. Untuk ini kita hanya akan menggunakan antarmuka grafis, jadi menurut saya saya benar secara teknis ketika saya bilang kita tidak akan menulis satu baris kode? Namun, pendekatan ini dianggap “low code”.
Pertama, biarkan saya memperkenalkan berbagai elemen atau layanan yang akan kita gunakan dalam blog ini.
Pendahuluan
PLCnext controller, Saya pikir ini tidak memerlukan pengantar lebih lanjut. Jika Anda masih tidak yakin tentang kemampuannya pastikan untuk mengunjungi PLCnext Infocenter.
Node-RED, situs web resmi Node-RED menggambarkan Node-RED sebagai:
Dalam entri Makersblog yang ditulis sebelumnya, Node-RED disebut beberapa kali. Tidak yakin cara mulai menggunakan Node-RED? Saya menyarankan membaca artikel ini.
Azure IoT Central, adalah solusi SAAS (Software As A Service) di cloud Azure untuk membangun solusi IoT tanpa kode. Kita akan membuat template perangkat dengan antarmuka yang didefinisikan dan visualisasi akan diturunkan dari template yang dibuat.
Dalam template ini kita dapat menentukan tiga “jenis variabel”. Telemetry, properties dan commands. Saya akan menggunakan berbagai jenis dalam template, saya harap perbedaan antara properties dan telemetry akan jelas setelah menggunakannya. Jika masih sedikit kabur, pastikan untuk membaca tentangnya dalam artikel yang terhubung di bagian bacaan lebih lanjut.
Untuk kesederhanaan, kita akan membatasi contoh kita pada kontroler pompa yang sangat dasar. Kita dapat mengatur pompa ke mode yang berbeda dan memberikan setpoint kepada pompa.
Membangun Aplikasi
Menyiapkan Controller
Mulai dengan memperbarui controller Anda ke firmware terbaru yang tersedia dan instal balena-engine untuk kontainer OCI. Anda dapat menemukan instruksi untuk menginstal Balena di sini. Ketika Balena Engine berhasil diinstal jalankan perintah berikut (ini akan memakan waktu).
balena-engine run -it -p 1880:1880 --name nodered --restart always pxcbe/node-red:azureiot
Buat Layanan Azure IoT Central
Masuk ke akun Azure Anda dan buat resource group. Dalam resource group ini Anda sekarang dapat membuat aplikasi Azure IoT Central baru. Pastikan untuk memeriksa berbagai Tiers sebelum memilih salah satunya.
Pergi ke layanan Azure IoT Central yang baru saja Anda buat dan jika semuanya berjalan dengan baik, Anda seharusnya diminta untuk membuat template perangkat baru. Pilih untuk membuat template custom sebagai IoT device. Jalankan langkah-langkah berikut untuk membuat template yang benar untuk latihan ini.
Membuat Template Perangkat
- Berikan nama “pump” pada Device template
- Buat Custom model
- tekan “add capability”
- Buat property “Pump status”
- Buat Telemetry “Flow Rate”
- Buat command “Change Mode”
- Buat command “Set Power”
- Simpan capability yang baru dibuat
- Pergi ke views dan pilih, generate default views (Anda dapat mengubah views nanti)
- Publish device template Anda.
(Masalah? Jangan ragu untuk mengimpor template dari repository)
Buat Perangkat Baru
Buat perangkat, berdasarkan template yang baru dibuat. Klik “connect” dan catat “ID scope”, “Device ID” dan “Primary key” untuk penggunaan nanti di node-RED.
PLCnext Engineer
Kita akan membutuhkan logika untuk mengontrol pompa kita. Saya telah menyediakan proyek PLCnext Engineer di repository yang dapat Anda gunakan. Jangan ragu untuk menambahkan pada proyek ini untuk memberikan beberapa fitur baru pada pompa kita!
Node-RED
Sementara itu kontainer Anda telah dibuat dan lingkungan node-RED Anda seharusnya berjalan. Impor flow.json dari repository. Klik node “Device” dan atur “Device ID”, “Scope ID” dan pilih “Device Provisioning service” dan salin tempel primary key Anda.
Atur OPC UA server Anda dengan mengklik node READ atau WRITE dan ubah pengaturan agar sesuai dengan controller Anda, dan selesaikan aplikasi dengan men-deploy node-node tersebut.
Menguji Aplikasi
Kita siap untuk menguji aplikasi. Anda seharusnya dapat mengontrol pompa dengan mengubah statusnya dan menetapkan setpoint baru. Aplikasi sengaja ditinggalkan sesederhana mungkin, saya mendorong Anda untuk membangun dari sini untuk mendapatkan pemahaman yang baik tentang semua pengaturan yang dapat Anda buat saat menyiapkan antarmuka Anda. Anda bahkan dapat membuat peta untuk menunjukkan di mana pompa Anda berada!
Baca Lebih Lanjut
Node-RED
https://nodered.org/docs/user-guide/editor/workspace/import-export https://nodered.org/docs/user-guide/writing-functions
Azure-IoT-Central
https://docs.microsoft.com/en-us/azure/iot-central/ https://docs.microsoft.com/en-us/azure/iot-central/core/concepts-architecture https://docs.microsoft.com/en-us/azure/iot-central/core/quick-monitor-devices