Halo semuanya. Upaya lain untuk membuat sistem normal untuk menampilkan grafik nilai data.
Saya mempresentasikan pengembangan saya - perangkat lunak "SVisual" - memonitor sinyal secara online dan menulis arsip ke disk. Anda dapat menonton / merekam sinyal apa pun, tidak hanya dengan arduino.
Rol biji langsung
Idenya mulai terbang sekitar 7 tahun yang lalu, ketika dia masih terlibat dalam otomatisasi. Pasukan muncul baik dalam pengembangan di tingkat tinggi.
Proyek ini lebih dari satu tahun. Semuanya ditulis di sepanjang jalan dan ketersediaan waktu, pertama monolit - server dan hanya melihat, lalu arsip, monitor ... Jadi saya harus arduinki.
Saya ingin mendapatkan satu sen dari bisnis ini pada awalnya, tetapi promosi adalah topik yang berbeda sama sekali, dan produk yang tidak memalukan untuk mengambil sesuatu adalah jauh. Oleh karena itu, saya memutuskan untuk membuat kontribusi ke opensrc, sedikit setidaknya membayar.
Sebagian perangkat lunak lintas platform - Windows dan Linux (CentOS). Semuanya ditulis dalam C ++, visualisasi dalam Qt. Antarmuka dan manual dalam bahasa Rusia. Saya mulai menerjemahkan ke bahasa Inggris, ya ...
Sistem SVisual terdiri dari tiga bagian:
- SVMonitor - aplikasi grafis untuk melihat dan merekam arsip online;
- SVViewer - aplikasi grafis untuk melihat arsip catatan;
- SVClient adalah perpustakaan pengguna untuk mengirim data. Untuk sketsa arduino.
Sedikit deskripsi kering tentang kemungkinan.
Fitur SVMonitor:
- koneksi ke MK melalui port COM (usb untuk arduino), protokol TCP via Ethernet atau Wi-Fi;
- survei nilai sinyal secara real time dengan frekuensi 100 Hz (turun, 100 Hz - maksimum, 10 Hz secara default), jumlah perangkat dan sinyal dipilih oleh pengguna;
- jumlah sinyal yang diizinkan untuk merekam adalah 2048, jumlah modul adalah 8 (tidak ada yang terjadi jika terlampaui, hanya akan ada peringatan, disediakan cadangan);
- nilai output dari sinyal yang dipilih pada layar monitor secara real time;
- merekam arsip sinyal pada hard drive PC;
- melihat arsip menggunakan perangkat lunak SVViewer opsional;
- kemampuan untuk mengatur peringatan tentang suatu peristiwa (pemicu), meluncurkan proses pengguna ketika pemicu dipicu;
- menambahkan sinyal untuk dilihat / direkam hanya oleh klien, tidak ada gerakan tambahan yang diperlukan.
Arsitektur perangkat lunak

Di sini, pada prinsipnya, saya pikir semuanya jelas. Saya akan mengatakan beberapa patah kata.
Klien mentransfer data ke monitor, monitor mentransfer ke server pemrosesan data (SVServer.dll). Server terlibat dalam buffering, menulis ke disk, memproses pemicu - label pengguna. Semua yang ada di dalamnya tidak sinkron.
Data sampai ke disk setiap 10 menit dan dikompres menggunakan zlib. File arsip diterima dalam jam, standarnya adalah file 2 jam.
Server pemrosesan data dapat digunakan secara terpisah dari monitor, misalnya, murni sebagai layanan untuk merekam arsip.
Contoh untuk Arduino
#include <SVClient.h> void setup() { bool ok = svisual::connectOfCOM("test"); } int cnt = 0; void loop() { svisual::addIntValue("dfv", cnt); ++cnt; if (cnt > 10) cnt = 0; bool odd_cnt = cnt % 2; svisual::addBoolValue("bFW", odd_cnt ); svisual::addBoolValue("bBW", !odd_cnt ); delay(200); }
Hasilnya, Anda akan melihat:
Perangkat lunak ini didistribusikan secara bebas, lisensi MIT.Terima kasih