Interfacing Arduino w Matlab/Octave: Rozdiel medzi revíziami
Zo stránky SensorWiki
Vytvorená stránka „Zatial len Octave Nie je nejaka specialna kniznica, takze vlastne bez ohladu na to, ci je to Arduino alebo cokolvek ine, co je pripojene cez seriovy kanal... * Octave…“ |
dBez shrnutí editace |
||
Riadok 13: | Riadok 13: | ||
# Co je cielom? Ak len zobrazit data namerane Arduino/Freeduino/Pi/cokolvek na PC tak staci pripojit cez seriovu linku a pouzit program len na to, uplne trivialny je napriklad serial plot konzola priamo v Arduino IDE, ci v Terminal.exe alebo napriklad fajnovy program Serial Plot https://hackaday.io/project/5334-serialplot-realtime-plotting-software Aby to fungovalo, musi byt v systeme nahraty specialny firmware, ktory si sam napisem. | # Co je cielom? Ak len zobrazit data namerane Arduino/Freeduino/Pi/cokolvek na PC tak staci pripojit cez seriovu linku a pouzit program len na to, uplne trivialny je napriklad serial plot konzola priamo v Arduino IDE, ci v Terminal.exe alebo napriklad fajnovy program Serial Plot https://hackaday.io/project/5334-serialplot-realtime-plotting-software Aby to fungovalo, musi byt v systeme nahraty specialny firmware, ktory si sam napisem. | ||
# Ak chceme zobrazit data v nejakom programe kde vieme trocha viac naprogramovat, tak potom je ok pouzit Matlab (cez seriovu linku) | # Ak chceme zobrazit data v nejakom programe kde vieme trocha viac naprogramovat, tak potom je ok pouzit Matlab (cez seriovu linku) alebo Octave cez to iste (vid vyssie priklady s Instrument control package). Vyhodou je, ze s prijatymi datami vieme nieco aj spravit, ci uz preskalovat, alebo zobrazit podla potreby, alebo aj nejake vypocty a pripadne vratit nieco naspat | ||
alebo Octave cez to iste (vid vyssie priklady s Instrument control package). Vyhodou je, ze s prijatymi datami vieme nieco aj spravit, | # Ak chceme data rozlicne manipulovat a zobrazovat, pripadne aj interakciu so zariadenim, tak mozeme samozrejme pouzit aj vlastny program napriklad v C++, pythone alebo Processingu a vtedy mozeme takmer vsetko. | ||
ci uz preskalovat, alebo zobrazit podla potreby, alebo aj nejake vypocty a pripadne vratit nieco naspat | |||
# Ak chceme data rozlicne manipulovat a zobrazovat, pripadne aj interakciu so zariadenim, tak mozeme samozrejme pouzit aj vlastny program | |||
napriklad v C++, pythone alebo Processingu a vtedy mozeme takmer vsetko. | |||
# Ak chceme interaktivne komunikovat alebo aspon menit parametre aj na embedded zariadeni, potom je dobre pouzit specificky firmware (Firmata napriklad), ktory vie precitat a nastavit vsetky digitalne porty, pripadne analogove a potom interaktivne nieco ovladat. Najjednoduchsie je to znova priamo cez Firmata alebo potom pomocou nejakej kniznice, ktora je pre Simulink alebo aj Xcos uz existuje. Podstatne je, aby to fungovalo, musi byt v systeme nahraty specialny firmware. | # Ak chceme interaktivne komunikovat alebo aspon menit parametre aj na embedded zariadeni, potom je dobre pouzit specificky firmware (Firmata napriklad), ktory vie precitat a nastavit vsetky digitalne porty, pripadne analogove a potom interaktivne nieco ovladat. Najjednoduchsie je to znova priamo cez Firmata alebo potom pomocou nejakej kniznice, ktora je pre Simulink alebo aj Xcos uz existuje. Podstatne je, aby to fungovalo, musi byt v systeme nahraty specialny firmware. | ||
# Zrejme najvyssi level je spravit model celeho meracieho retazca v jedinom prostredi (Simulink) a potom nahrat prislusny automaticky vygenerovany firmware priamo do systemu a zvysok sa spusti na PC. Toto prave vie spravit Simulink Embedded Coder, ktory vie rozlisit, ktora cast kodu ma bezat na arduine (typicky to moze byt aj cely model, ktory sa ta mprenesie), alebo Simulink zisti, ze cast je realizovana na PC, tak si otvori napr. graficke okno, v ktorom zobrazuje prislusnu hodnotu premennej z dosky a automaticky si doplni rutiny na jej vycitanie a odkomunikovanie. Typicky uzivatel vlastne ani netusi ktora cast SW je kde realizovana. | # Zrejme najvyssi level je spravit model celeho meracieho retazca v jedinom prostredi (Simulink) a potom nahrat prislusny automaticky vygenerovany firmware priamo do systemu a zvysok sa spusti na PC. Toto prave vie spravit Simulink Embedded Coder, ktory vie rozlisit, ktora cast kodu ma bezat na arduine (typicky to moze byt aj cely model, ktory sa ta mprenesie), alebo Simulink zisti, ze cast je realizovana na PC, tak si otvori napr. graficke okno, v ktorom zobrazuje prislusnu hodnotu premennej z dosky a automaticky si doplni rutiny na jej vycitanie a odkomunikovanie. Typicky uzivatel vlastne ani netusi ktora cast SW je kde realizovana. |
Aktuálna revízia z 21:31, 15. august 2017
Zatial len Octave
Nie je nejaka specialna kniznica, takze vlastne bez ohladu na to, ci je to Arduino alebo cokolvek ine, co je pripojene cez seriovy kanal...
- Octave Instrument Control package https://wiki.octave.org/Instrument_control_package
- Introduction to above http://irnas.eu/other%20projects/2015/06/04/serial-octave-arduino
- Brief introduction http://projectsfromtech.blogspot.sk/2015/03/serial-port-communication-with-gnu.html
- A bit more details http://www.edn.com/design/analog/4440674/Read-serial-data-directly-into-Octave
- Plotting added here https://ulrichbuschbaum.wordpress.com/2014/10/16/drawing-serial-input-with-octave/
A teraz globalnejsi pohlad:
- Co je cielom? Ak len zobrazit data namerane Arduino/Freeduino/Pi/cokolvek na PC tak staci pripojit cez seriovu linku a pouzit program len na to, uplne trivialny je napriklad serial plot konzola priamo v Arduino IDE, ci v Terminal.exe alebo napriklad fajnovy program Serial Plot https://hackaday.io/project/5334-serialplot-realtime-plotting-software Aby to fungovalo, musi byt v systeme nahraty specialny firmware, ktory si sam napisem.
- Ak chceme zobrazit data v nejakom programe kde vieme trocha viac naprogramovat, tak potom je ok pouzit Matlab (cez seriovu linku) alebo Octave cez to iste (vid vyssie priklady s Instrument control package). Vyhodou je, ze s prijatymi datami vieme nieco aj spravit, ci uz preskalovat, alebo zobrazit podla potreby, alebo aj nejake vypocty a pripadne vratit nieco naspat
- Ak chceme data rozlicne manipulovat a zobrazovat, pripadne aj interakciu so zariadenim, tak mozeme samozrejme pouzit aj vlastny program napriklad v C++, pythone alebo Processingu a vtedy mozeme takmer vsetko.
- Ak chceme interaktivne komunikovat alebo aspon menit parametre aj na embedded zariadeni, potom je dobre pouzit specificky firmware (Firmata napriklad), ktory vie precitat a nastavit vsetky digitalne porty, pripadne analogove a potom interaktivne nieco ovladat. Najjednoduchsie je to znova priamo cez Firmata alebo potom pomocou nejakej kniznice, ktora je pre Simulink alebo aj Xcos uz existuje. Podstatne je, aby to fungovalo, musi byt v systeme nahraty specialny firmware.
- Zrejme najvyssi level je spravit model celeho meracieho retazca v jedinom prostredi (Simulink) a potom nahrat prislusny automaticky vygenerovany firmware priamo do systemu a zvysok sa spusti na PC. Toto prave vie spravit Simulink Embedded Coder, ktory vie rozlisit, ktora cast kodu ma bezat na arduine (typicky to moze byt aj cely model, ktory sa ta mprenesie), alebo Simulink zisti, ze cast je realizovana na PC, tak si otvori napr. graficke okno, v ktorom zobrazuje prislusnu hodnotu premennej z dosky a automaticky si doplni rutiny na jej vycitanie a odkomunikovanie. Typicky uzivatel vlastne ani netusi ktora cast SW je kde realizovana.