Saya perlu memplot data serial dari Arduino.
Saya membutuhkan dukungan untuk:
Karena memplot data serial dari Arduino adalah kebutuhan umum, pertanyaan saya adalah: Program / utilitas apa yang tersedia untuk memplot data serial dari Arduino yang memenuhi kebutuhan di atas?
Apa kelebihan / kekurangan dari metode yang Anda sarankan?
Keuntungan: Ini sangat fleksibel, dapat dibuat skripnya, dan tersedia secara bebas.
Kekurangan: Agak rumit untuk dipelajari (tetapi saya menemukan cara untuk memulai dalam beberapa menit, dan cukup fungsional dalam satu atau dua jam), berjalan di jendela terminal (jika Anda menganggapnya sebagai kerugian).
Sesuatu yang menurut saya sangat berguna adalah membuat skrip untuk memuat ulang logfile program terminal saya secara berkala sehingga saya mendapatkan grafik yang dinamis saat eksperimen saya berlangsung.
Edit: Berikut adalah skrip GnuPlot yang memplotnya:
#!/usr/local/bin/gnuplot -rv
# Note reverse video here ^^^ til I find a way to put it in the script
# gpFanCtl - Plots DiffThermo fan controller data (aloft, alow, Tdiff, fan-state).
# $Id: gpFanCtl,v 1.8 2014-04-28 09:40:51-04 jrobert Exp jrobert $
set terminal x11 1 noraise
set xtics 3600
set mxtics 4
set xdata time
set ytics 1 nomirror
set mytics 2
set y2range [0:3]
set y2tics 1
set my2tics 4
set grid
set ylabel 'Temperature, degC'
set y2label 'Tdiff, degC' textcolor rgb '#00CD63'
cd '/Users/jrobert/Desktop'
plot "Logfile.txt" using ($0*4):1 title "Aloft" with lines lc rgb "red",\
"Logfile.txt" using ($0*4):2 title "Alow" with lines lc rgb "#3982FF",\
"Logfile.txt" using ($0*4):3 title "Tdiff" with lines lc rgb "#00CD63" axis x1y2,\
"Logfile.txt" using ($0*4):4 title "Fan" with lines lc rgb "orange" axis x1y2;
pause 4
refresh
reread
Saya menggunakan Matplotlib untuk setiap plotting yang perlu saya lakukan.
Ini tidak spesifik arduino dengan cara apa pun, tetapi ini adalah toolkit plotting Python yang sangat bagus.
Saya telah membangun sejumlah aplikasi yang memplot data dari berbagai mikrokontroler secara real-time ke grafik, tetapi itu benar-benar lebih dari proses dua langkah: 1. Dapatkan data dari perangkat ke komputer, 2. plot data realtime.
Sungguh, saya pikir Anda harus memecah pertanyaan Anda menjadi dua bagian:
Menanggapi pertanyaan saya sendiri di sini .. Saya menggunakan Bridge Control Panel seperti yang disebutkan.
Keuntungan: Banyak Fitur.
Kekurangan: Rumit untuk penyiapan dan pelaporan sintaks/kesalahan yang sangat buruk.
Untuk menggunakan: Anda perlu menulis Data Arduino melalui Port Serial satu byte pada satu waktu. Untuk tipe data int yang akan terlihat sebagai berikut:
// RX8 [h=43] @1Key1 @0Key1
Serial.print("C");
Serial.write(data>>8);
Serial.write(data&0xff);
Di Bridge perintah untuk Membaca Data adalah:
RX8 [h=43] @1Key1 @0Key1
RX8 adalah perintah baca [h=43] berarti byte valid berikutnya adalah "C" dalam ASCII kemudian Byte Tinggi dari Key1 kemudian Byte Rendah dari Key1
Ini terlihat seperti ini di Bridge: