Ada banyak solusi IoT SCADA untuk pabrik dan kebutuhan manufaktur lainnya. Namun, ada beberapa kasus (dan cukup banyak), ketika Anda perlu mengembangkan sistem SCADA Anda sendiri untuk memenuhi kebutuhan spesifik proyek Anda.
Artikel asli -
pustaka dashboard IoT: memvisualisasikan SCADA dengan cepat [Pustaka IoT gratis]Kami sering menggunakan kerangka kerja Qt yang luar biasa untuk mengimplementasikan solusi IoT yang kompleks. Untuk banyak proyek seperti SCADA dan SCADA, kami menemukan perlunya alat cepat untuk mengembangkan dasbor perangkat. Itu sebabnya kami mengembangkan perpustakaan Qt tidak resmi super ringan. Perpustakaan adalah open source, dapat disesuaikan, dan bebas untuk digunakan di bawah lisensi MIT. Kami juga berbagi satu set kecil widget yang dikembangkan.
Nikmati dan gunakan Qt;)
README : Perpustakaan ini dibuat untuk proyek desktop, seluler, dan tertanam yang dikembangkan di Qt. Untuk menggunakannya, Anda harus tahu Qt / C ++ dan QML.
Memperkenalkan QSimpleScada
Biarkan kami memperkenalkan Anda ke perpustakaan yang bagus untuk proyek IoT Anda. Kami menciptakan QSimpleScada untuk mempercepat dan menyederhanakan memvisualisasikan data apa pun, sehingga kami (dan Anda) dapat berkonsentrasi pada pengembangan algoritma otomasi yang mengguncang.
Itu terutama diciptakan untuk mempercepat dan, akibatnya, mengurangi
biaya solusi IoT.Apa itu QSimpleScada?
Ini adalah perpustakaan yang sepenuhnya menangani koneksi dan pengeditan widget. Menggunakan QSimpleScada, Anda dapat dengan mudah membuat visualisasi data IoT menggunakan mouse dan sedikit kode. Setelah Anda puas dengan tata letak, simpan file .xml yang dihasilkan dan gunakan dalam proyek Anda.
Perpustakaan dibuat dengan Qt / C ++ dan widget dasar didasarkan pada C ++. Ada antarmuka untuk QML, sehingga Anda dapat secara independen membuat widget individual di QML (seperti saat membuat UI QML klasik) dan mengunggahnya ke aplikasi Anda saat bepergian.
Mengapa saya membutuhkannya?
Ya, Anda lakukan jika Anda adalah pengembang Qt atau perusahaan dan:
- Tetapkan tenggat waktu yang ketat dan evaluasi data yang rumit di proyek Anda
- Perlu sering membuat prototipe proyek IoT seluler / tertanam / desktop
- Butuh alat satu atap untuk beragam proyek Qt
- Tidak ingin / punya waktu / sumber daya untuk mengembangkan dasbor dari awal
Jika tak satu pun di atas adalah tentang Anda, maka Anda tidak.
Mengapa membuat IOT dashboard?
Yah, ini mungkin terdengar agak berlebihan, jadi silakan lewati bagian ini jika pertanyaan ini jelas bagi Anda. Kalau tidak, ada beberapa alasan untuk memvisualisasikan info yang Anda dapatkan dari Internet of Things.
Ini adalah komponen HMI (Human-Machine Interface) dasar untuk secara harfiah sistem IoT atau kontrol. Jauh lebih baik daripada pendekatan tekstual jika Anda ingin pengguna melihat data yang relevan saat bepergian. Itu berlaku baik untuk proyek SCADA klasik dan SCADA.
Misalnya, pada UBreez kami, kami menggunakan QSimpleScada untuk memvisualisasikan pembacaan udara. Bandingkan tampilan untuk Anda sendiri. Jadi, apa yang terlihat lebih rapi dan jernih bahkan ketika terdiri dari banyak widget sensor?

Dengan menggunakan dasbor, Anda dapat langsung menyoroti penyimpangan dari standar, menentukan di mana terjadi kegagalan fungsi, melacak lokasi langsung, melihat tren dan info berharga lainnya. Ini menghemat waktu pengguna dalam memahami data yang dikumpulkan oleh sistem SCADA Anda, dan mereka dapat merespons dan memutuskan bagaimana bertindak lebih cepat.
Menggunakan QSimpleScada
Berikut adalah langkah-langkah untuk mengintegrasikan QSimpleScada versi 0.9.x dalam proyek Anda:
Langkah 1: Instal
Melalui manajer paket:Jika Anda sedang membangun solusi cerdas menggunakan Qt, kemungkinan besar Anda menggunakan manajer paket qpm sehingga tidak diperlukan obrolan lebih lanjut. Jika Anda belum (belum), unduh dari sini
https://www.qpm.ioUntuk menginstal melalui qpm, jalankan:
qpm
install com.indeema.qsimplescada
Dan tambahkan:
include (../vendor/vendor.pri)
Ke * .pro file proyek Anda.
Sebagai bonus, cobalah widget kami yang telah ditetapkan:
qpm
install com.indeema.eeiot
Dari github:Untuk mengkloning repo, buka:
https://github.com/IndeemaSoftware/QSimpleScadaUntuk juga menambahkan widget yang sudah dikonfigurasikan, klon:
https://github.com/IndeemaSoftware/EEIoTDan tambahkan:
include($$PWD/com/indeema/QSimpleScada/com_indeema_QSimpleScada.pri)
include($$PWD/com/indeema/eeiot/com_indeema_eeiot.pri)
Ke file * .pro.
Menggunakan rilis biner:https://github.com/IndeemaSoftware/QSimpleScada/releasesLangkah 2: Konfigurasi
Setelah Anda mengunduh dan menginstal perpustakaan ke proyek Anda:
1. Buat perangkat baru yang akan diwakili di dasbor Anda. Beri nama dan alamat IP:
QScadaDeviceInfo *lDeviceInfo = new QScadaDeviceInfo();
lDeviceInfo->setName("Test Device");
lDeviceInfo->setIp(QHostAddress("127.0.0.1"));
2. Buat kelas pengontrol yang akan menangani semua perangkat yang lebih baru dan semua papan yang terhubung ke perangkat:
QScadaBoardController *</code><code>mController</code><code> = new QScadaBoardController(); mController->appendDevice(lDeviceInfo)
3. Panggil metode initBoardForDeviceIp untuk membuat papan baru untuk perangkat yang sudah ditambahkan. Jika tidak ada perangkat pada IP tertentu, papan tidak akan dibuat.
mController->initBoardForDeviceIp("127.0.0.1");
4. Atur mode yang dapat diedit untuk pengontrol Anda agar memungkinkan membuat, memindahkan, dan mengubah ukuran pengontrol.
mController->setEditingMode(true);
Jika mode pengeditan diaktifkan, jendela modal akan menampilkan latar belakang bertitik:

5. Tambahkan tata letak kotak pada widget Anda dan kemudian tambahkan controller Anda ke widget itu:
QGridLayout *
mainLayout
= new QGridLayout(ui->centralWidget);
mainLayout
= new QGridLayout(ui->centralWidget);
mainLayout->addWidget(
mController
);
Bekerja dengan widgetKami juga telah mengembangkan perpustakaan EEIoT dengan satu set widget yang telah dikonfigurasi sebelumnya. Anda dapat mengunduhnya di
https://github.com/IndeemaSoftware/EEIoT dan mencobanya sebagai permulaan.
Untuk menggunakan koleksi widget:
Panggil fungsi dengan url ke sumber daya QML untuk memberi tahu pengontrol lokasi widget QML:
QMLConfig::instance.appendQMLPath(:/com/indeema/eeiot/EEIoT/);
Singletone QMLConfig terletak di โqscadaconfig.hโ
Di sini kami menggunakan EEIoT sebagai grup untuk semua widget di dalamnya. Anda dapat mengonfigurasi 1 grup atau lebih.
Catatan, jika Anda membuat dua folder dengan nama yang sama di lokasi yang berbeda, yang kedua (dibuat nanti) akan menghapus yang pertama.
Anda dapat mengakses semua properti dinamis yang membentuk QML (disebutkan dalam daftar metaData) dari QSimpleScada, sehingga Anda dapat membuat dasbor kompleks Anda sendiri dengan cepat dan mudah.
Langkah 3: Gunakan
Anda dapat menggunakan editor sederhana kami untuk membuat dasbor pertama Anda
https://github.com/IndeemaSoftware/QSimpleScadaSampleKemudian atur QScadaBoardController di aplikasi Anda tanpa perangkat dan papan apa pun dan hubungi:
mController->openProject(QString <file>)
di mana <file> adalah path lengkap ke file proyek Anda (* .irp)
Sebagai contoh:
mController->openProject(QString :/com/indeema/eeiot/EEIoT/)
Lihat QSimpleScada beraksi
Kunjungi profil GitHub kami untuk menjelajahi aplikasi sederhana yang menunjukkan pekerjaan perpustakaan QSimpleScada:
Ini adalah aplikasi biasa yang memvisualisasikan data 3 widget terkait cuaca:
QSimpleScada dan EEIoT digunakan untuk menangani tampilan dan konektivitas dasbor. Semua data waktu-nyata cuaca yang kami terima dari Openweathermap API. Anda dapat mengunduh kode di
https://github.com/IndeemaSoftware/QSimpleScadaSampleUntuk melihat bacaan saat ini untuk kota Anda:
Masukkan kota Anda diikuti dengan koma dan kode negara sebagai berikut:
Kyiv, uadan klik tombol
Kirim .
Ini akan memperbarui suhu, kelembaban dan tekanan untuk wilayah Anda.

Satu lagi contoh cara menggunakan QSimpleScada adalah aplikasi Builder yang memberi kita kemungkinan untuk membuat dasbor dan menyimpan ke file * .irp. Editor dasbor sederhana yang menggunakan QSimpleScada untuk membuat dasbor yang diperlukan dengan widget EEIoT dan menyimpan pengaturan dasbor untuk penggunaan nanti. Dalam contoh, kami membuat dasbor yang digunakan dalam aplikasi Weather yang disebutkan di atas.
Kode ini juga tersedia di
https://github.com/IndeemaSoftware/QSimpleScadaSampleAlat lainnya untuk Anda
Kami menemukan bahwa memperkenalkan Internet of Things berdampak pada setiap industri dan mengubah pendekatan kami dalam menggunakan teknologi. Kami telah membahas topik itu secara rinci di
6 aplikasi yang menjanjikan untuk artikel industri IoT , dan dengan senang hati kami mendorong kemajuan dengan otomatisasi yang dibawa oleh Revolusi Industri ke-4.
Pemahaman dan konteks
Jika semua proyek mendapatkan spesifikasi yang ditetapkan, dunia pembangunan akan menjadi utopia. Namun, semakin jelas tujuan dan persyaratan awal serta semakin baik seluruh tim memahaminya, semakin ramping proyek. Untuk memperdalam pengetahuan Anda tentang jebakan spesifik dan tipikal yang mengikuti proyek IoT, baca:
Spoiler : temukan template untuk dokumentasi terkait proyek, sehingga Anda dapat mengkomunikasikan persyaratan dan mengubahnya menjadi spesifikasi yang dapat ditindaklanjuti dengan sedikit usaha.
Memperkirakan biaya dan waktu
Mendapatkan pemahaman menyeluruh tentang waktu dan sumber daya yang Anda butuhkan hampir tidak mungkin. Jadi, untuk memberi Anda gambaran umum tentang kompleksitas (dihitung dalam waktu dan biaya), berikut ini adalah kalkulator khusus IoT:

Alat dev
Berbagi toolkit kami untuk pengembangan proyek IoT yang lebih cepat dan lebih efisien, kami mengunggah proyek sumber terbuka terkait Qt dan IoT kami di
https://github.com/IndeemaSoftware dengan Q di awal judul repo. Anda juga dapat menemukan banyak alat untuk React, Android, dan pengembangan iOS di sana.

Rekap
Di Indeema, kami terbiasa dengan tenggat waktu yang ketat dan proyek-proyek yang menantang. Dan, karena berkomitmen untuk menciptakan solusi cerdas, kami secara bertahap menyadari bahwa:
- Memahami lebih dulu.
Penasaran. Perjelas setiap persyaratan, tidak peduli seberapa jelas Anda memikirkannya. Pastikan Anda mengerti. Karena Anda dapat merancang arsitektur yang logis dan dapat diskalakan, menulis kode bersih yang mengagumkan, namun gagal menyampaikan hasil yang diinginkan. Iblis ada di detail (jadi pastikan Anda tidak meninggalkan detail tanpa disadari).
- Reinventin g sepeda itu sia-sia.
Setiap proyek berisi tantangan unik dan membutuhkan pemikiran yang tidak biasa. Dan tidak perlu mengembangkan semuanya dari awal. Mengapa Karena Anda hanya akan memotong waktu untuk mencari dan menerapkan fitur, modul, dan arsitektur yang sangat menantang.
- Kualitatif adalah standar .
Bertanggung jawab atas pekerjaan Anda. Anda terlibat dalam membuat masa depan. Jika Anda seorang pengembang, uji kode Anda terhadap spesifikasi, terhadap praktik terbaik, akal sehat, stabilitas proyek, dll. Dan hal yang sama berlaku untuk peran lainnya.
Terima kasih telah membaca & berharap Anda menikmati artikel ini. Berlangganan pembaruan dan beri tahu kami apa yang Anda minati.