Azure IoT Edge dan PLCnext
Azure IoT Edge memungkinkan untuk memindahkan analitik cloud dan logika biaya ke "tepi", dalam kasus kami ke perangkat PLCnext kami. Ini memiliki beberapa manfaat dalam mengurangi bandwidth dan latensi yang digunakan. Dengan Azure IoT Edge, Anda dapat mengembangkan dan menerapkan aplikasi Anda sendiri dari aplikasi cloud pusat. Di blog ini Anda akan mempelajari cara mengatur Azure IoT Edge dan beberapa prinsip dasarnya.
Pengantar
Menjelaskan semua kelebihan dari solusi Azure IoT Edge mungkin terlalu jauh untuk Makersblog, tetapi pastikan untuk membaca diri Anda sendiri sebelum melanjutkan blog ini. Di portal ini Anda menemukan semua informasi yang Anda butuhkan untuk mendapatkan ide bagus tentang apa yang kami lakukan di blog ini. Mari kita pergi dan menginstal runtime.
Pemasangan
Buat Azure IoT Hub dan buat perangkat
Sebelum kita mulai, pertama-tama kita perlu menyiapkan sesuatu di portal biru. Saya berasumsi Anda sudah menyiapkan akun Azure.
Hal pertama yang harus kita lakukan adalah membuat grup sumber daya dan memberinya nama deskriptif. Klik buat grup sumber daya baru. Jika tidak terdaftar, Anda dapat menekan tombol “+” dan mencari grup sumber daya baru.
Buat layanan IoT Hub baru. Anda dapat memiliki 1 layanan Hub IoT Gratis, Anda mungkin ingin mengubah jenisnya dari standar menjadi gratis! Jika tidak, biarkan semuanya pada pengaturan default dan lanjutkan dengan menerapkan layanan. Langkah terakhir kami adalah membuat Perangkat IoT. Buka layanan dan cari di panel kiri jendela untuk IoT Edge. Klik di atasnya dan buat perangkat IoT Edge baru. Berikan ID perangkat, semua setelan lainnya dapat dibiarkan pada nilai defaultnya.
Klik pada perangkat yang baru dibuat dan catat “Primary Connection String”, string ini akan kita perlukan pada langkah selanjutnya untuk menyediakan perangkat kita.
Memasang Waktu Proses Azure IoT Edge
Jalankan perintah di bawah ini secara berurutan, versi terbaru selalu dapat ditemukan di sini.
git clone https://github.com/pxcbe/azure-iot-edge.git
cd azure-iot-edge/install
sudo passwd root
su
chmod +x SetupEdge.sh
./SetupEdge.sh
Langkah selanjutnya adalah menyediakan perangkat kita. Hal ini dimungkinkan untuk melakukan semi atau bahkan sepenuhnya otomatis. Anda dapat menemukan informasi lebih lanjut tentang itu di sini di infoportal. Ketik perintah berikutnya di shell Anda dan rekatkan string koneksi Anda pada baris 55 dari file yaml. (tutup dengan ctrl +s ctrl +x)
nano /etc/iotedge/config.yaml
Nyalakan ulang pengontrol agar perubahan diterapkan.
reboot
Memverifikasi pemasangan
Jalankan perintah berikutnya sebagai root:
iotedge check --verbose
Jika Anda tidak mendapatkan kesalahan, kami dapat melanjutkan! Anda mendapat kesalahan? Lihat repositori GitHub, mungkin ada perbaikan yang tersedia. Jika tidak, bebas membuat masalah!
Menerapkan Modul
Hanya runtime yang tidak akan membantu kita. Mari mulai menerapkan beberapa modul! Klik pada "Set modules" dan klik pada pengaturan runtime. Di sini kita perlu mengubah "Hostport" untuk menghapus dari server NGINX yang berjalan di PLCnext. Terakhir tambahkan modul market place bernama “Simulated Temperature Sensor”. Tekan “review + create” dan terapkan modul ke perangkat PLCnext.
Pengaturannya akan terlihat seperti ini:
{
"HostConfig": {
"PortBindings": {
"443/tcp": [
{
"HostPort": "444"
}
],
"5671/tcp": [
{
"HostPort": "5671"
}
],
"8883/tcp": [
{
"HostPort": "8883"
}
]
}
}
}
Menonton pesan Telemetri
Untuk memverifikasi apakah pesan masuk. Ikuti prosedur ini untuk menginstal Azure IoT Tools di Visual Studio Code. (Anda harus masuk ke Azure, jadi pastikan bahwa jika Anda menggunakan sertifikat, sertifikat itu juga ada di mesin Anda yang sedang berkembang).
Mendapatkan data PLCberikutnya ke IoT Hub
Langkah selanjutnya adalah membawa data PLCnext Engineer kami ke cloud. Ada beberapa cara untuk melakukan ini. Anda dapat menggunakan modul Modbus dan membuat server Modbus di proyek PLCnext Anda. Anda dapat menggunakan layanan REST dan GET permintaan dengan modul khusus, kami temukan yang sesuai dengan kebutuhan Anda di Marketplace. Saya akan menjelaskan cara menyiapkan Penerbit OPC untuk membantu Anda memulai dengan memublikasikan data Anda dari Server OPC UA tertanam dari PLCnext.
PEMBARUAN:Sepertinya ada masalah dan kesalahan dengan modul Penerbit OPC, silakan coba metode lain untuk saat ini.
Penafian:Untuk blog ini kami akan menonaktifkan fitur Keamanan PLCnext, jangan gunakan ini dalam produksi!
Nonaktifkan otentikasi pengguna pada WBM perangkat PLCnext Anda sebelum melanjutkan.
Tambahkan OPCPublisher dari Marketplace dengan cara yang sama seperti yang Anda lakukan dengan “Simulated Temperature sensor”. Klik pada modul dan buka opsi pembuatan wadah. Salin tempel pengaturan berikutnya di jendela di bawah opsi pembuatan wadah.
{
"Hostname": "publisher",
"Cmd": [
"publisher",
"--pf=/appdata/publishednodes.json",
"--di=60",
"--to",
"--aa",
"--si=10",
"--ms=262144"
],
"HostConfig": {
"Binds": [
"/iiotedge:/appdata"
],
"PortBindings": {
"62222/tcp": [
{
"HostPort": "62222"
}
]
},
"ExtraHosts": [
"localhost:127.0.0.1"
]
}
}
Ubah konfigurasi berikutnya agar sesuai dengan id node Anda, buat folder /appdata dan buat file dengan nama “publishednodes.json” yang berisi konfigurasi baru Anda.
[
{
"EndpointUrl": "opc.tcp://192.168.10.10:4840",
"UseSecurity": false,
"OpcNodes": [
{
"Id": "ns=3;s=Counter",
"OpcSamplingInterval": 2000,
"OpcPublishingInterval": 5000
},
{
"Id": "ns=3;s=Sinusoid",
"OpcSamplingInterval": 2000,
"OpcPublishingInterval": 5000
}
]
}
]
Jika semuanya berjalan dengan baik, Anda akan melihat data di Azure IoT Tools untuk visual studio!
Masih mengalami masalah?
Anda dapat menggunakan perintah berikutnya untuk melihat apa yang sedang terjadi.
iotedge logs -f "namemode"
Kredit
Terima kasih khusus kepada Oliver Warneke atas karyanya yang dapat saya kembangkan dan telah meluangkan waktu untuk mempercepat saya!
Kontak
Mengalami masalah, atau Anda ingin tahu lebih banyak? Silakan hubungi [email protected].
Referensi
https://docs.microsoft.com/en-us/azure/iot-edge/about-iot-edge?view=iotedge-2018-06