Operácie

Senzory v mobile: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
Bez shrnutí editace
Balogh (diskusia | príspevky)
Bez shrnutí editace
 
(5 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 18: Riadok 18:




Ďalšia možnosť je naprogramovať si vlastnú appku pre Android.


[[Súbor:logoMatlab.png|80px|left]] Ak vám to nepôjde ani jedným z uvedených spôsobov, skúste to ešte pomocou aplikácie [https://play.google.com/store/apps/details?id=com.mathworks.matlabmobile&hl=en&gl=US MATLAB Mobile]. Okrem oficiálneho úhttps://www.mathworks.com/products/matlab-mobile.html návodu od Mathworks, Inc.] máte k dispozícii aj [http://senzor.robotika.sk/mems/navodMatlabMobile.pdf návod v slovenčine], ktorý vypracoval študent Adam Šćevko.




[[Súbor:logoMatlab.png|80px|left]] Ak vám to nepôjde ani jedným z uvedených spôsobov, skúste to ešte pomocou aplikácie [https://play.google.com/store/apps/details?id=com.mathworks.matlabmobile&hl=en&gl=US MATLAB Mobile]. Okrem oficiálneho úhttps://www.mathworks.com/products/matlab-mobile.html návodu od Mathworks, Inc.] máte k dispozícii aj [https://drive.google.com/file/d/1ro4TzzqnX-IMBQRCVklETYyHiPBxOpjK/view?usp=sharing návod v slovenčine], ktorý vypracoval vlani študent Adam Šćevko.
Zaujímavo vyzerá aj aplikácia [https://play.google.com/store/apps/details?id=com.karl.serialsensor Arduino Serial Sensor], ktorá umožňuje pripojiť mobil nielen cez BT, ale aj cez USB OTG káblik, alebo UDP spojenie.
 
Posledná, ale nie vylúčená, možnosť je naprogramovať si vlastnú appku pre Android.
 
 
== '''Spracovanie dát''' ==
 
Keď vám bude prenost dát fungovať, zamyslite sa nad možnosťami ako dáta zachytiť a ďalej spracovať:
# prijímanie dát cez Terminal a následné offline spracovanie v nejakom programe (Excel, Matlab) - neodporúčané riešenie
# prijímanie dát vo vlastnej aplikácii, napr. v Processingu a následné spracovanie priamo v programe - pozri [[MEMS cvičenie 3| cvičenie 2]
# prijímanie dát v programe SerialPlotter, grafické znázornenie a uloženie do súboru
# prijímanie a spracovanie dát v Matlabe




Riadok 32: Riadok 43:
* [http://senzor.robotika.sk/zp/Terminal.exe Terminal] -- lokálna kópia
* [http://senzor.robotika.sk/zp/Terminal.exe Terminal] -- lokálna kópia


=== Grafické priebehy na PC -- Serial Plotter ===
[[Súbor:IconSerialPlotter.png|left]] Serial Plotter je trocha sofistikovanejší program ako Terminal, jeho úlohou je zakresliť graficky všetky prijaté informácie. Najjednoduchšie je posielať mu čísla, pričom ich môže byť aj viac, oddelených čiarkami. Každá jedna n-tica hodnôt musí končíť znakom pre nový riadok. V knižnici Serial použite bloky Serial Write Number pre čísla, Serial Write String pre čiarky a Serial Write Line pre ukončenie riadka. Neposielajte hodnoty príliš často, aby sa nepreplnil vstupný buffer.
* [https://hackaday.io/project/5334-serialplot-realtime-plotting-software Domovská stránka programu]
* [http://senzor.robotika.sk/zp/serialplot.zip Lokálna kópia]
<BR><BR>
[[Súbor:SerialPlotter01.png]]
<BR>
<BR>
* Graphics in Arduino IDE: http://www.idogendel.com/en/archives/489
* https://rheingoldheavy.com/new-arduino-serial-plotter/
Trocha zlozitejsie:
* http://arduino.stackexchange.com/questions/1180/serial-data-plotting-programs
* https://github.com/nprasan/ardugraph
=== Čo s iPhonom? ===
# požičiate si normálny telefón
# spravíte to nie cez BT, ale cez WiFi - našiel som napríklad toto:
* SensorLog  https://apps.apple.com/us/app/sensorlog/id388014573
* Prijímanie na strane PC: https://stackoverflow.com/questions/11677077/sensor-data-from-iphone-to-pc-using-java-app
* Alebo toto https://learn.adafruit.com/stream-iphone-ios-sensor-data-to-adafruit-io
Viac neporadím, lebo neviem.
=== WiFi UDP pripojenie ===
Ďakujem Kristiánovi Lehockému za vypracovanie návodu pre prepojenie mobilu s PC cez WiFi UDP pripojenie.
* [http://senzor.robotika.sk/mems/navodWiFi-UDP.pdf Návod na použitie] a 
* [http://senzor.robotika.sk/mems/navodWiFiUDP-priklad.pde ukážkový skript v Processingu].
Pozn.: v návode je popísaná ručná inštalácia knižnice UDP do Processingu, dá sa to však aj priamo z prostredia Processingu cez menu Sketch ->  Import Library -> Add Library potom zadate do filtrovacieho okienka UDP a tu jednu co vam najde nainstalujete. Potom najdete aj v menu File -> Examples -> UDP priklad na pracu s touto kniznicou.
Inak je ten navod samozrejme vyborne napisany a myslim, ze vsetci, komu nic ine neslo ho mozete vyuzit.
=== Úloha ===
Odovzdať treba screenshoty s ukážkou nameraných dát (1) a ich grafické znázornenie (2). Ak nepoužívate len aplikáciu,
ale ste si spravili vlastný program, treba aj zdroják z Processingu, Pythonu alebo Matlabu (3). Z obrázkov a screenshotov musí byť
zrejmé, akú aplikáciu používate na mobile a ako je spravený príjem na PC.


=== Ďalšie info ===
=== Ďalšie info ===

Aktuálna revízia z 18:20, 21. marec 2022


Keď nemáme senzory k Arduinu, môžeme si pomôcť aj inak: využijeme tie, ktoré má váš mobil. Je ich tam dosť. V prvej časti treba rozchodiť posielanie dát cez Bluetooth rozhranie do počítača. Nainštalujete si niektorú z aplikácií nižšie, prípadne nájdete podobnú. Zapnete BT na mobile aj na počítači. Zariadenia spárujete, ak ste ich doteraz nie. Na počítači by sa mali objaviť dva nové sériové porty. Pomocou aplikácie Terminal alebo podobnej, zistíte na ktorom z týchto dvoch portov prijímate dáta, odovzdáte screenshot prijímaných dát. Okrem toho do tejto tabuľky - tretí list: Senzory v mobile] zapíšete, ktoré senzory má váš mobil.


Aplikácia SensoDuino prenáša údaje zo senzorov, ktoré máte v mobile s OS Android a vysiela ich cez Bluetooth rozhranie v jednoduchej textovej forme. Takto môžete na svojom počítači s BT prijímať

dáat z GPS, akcelerometrov, gyroskopu či kompasu (pokiaľ váš mobil takéto senzory má). Primárne je aplikácia určená pre komunikáciu cez modul HC-05 Bluetooth pre Arduino, ale my ju budeme využívať na Windows PC.



Aplikácia Sensor data via Bluetooth for Arduino je podobná, prenáša cez Bluetooth data zo senzorov ako gyroskop, akcelerometer, proximitný snímač, GPS a pod. Data sa posielajú automaticky po naviazaní spojenia, prenosová rýchlosť (baud rate) je 9600 bps, interval sa dá nastaviť od 100 ms po 5 s, data sú oddelené čiarkami. See here for video instruction https://youtu.be/WXzVCVnAxfo


Ak vám to nepôjde ani jedným z uvedených spôsobov, skúste to ešte pomocou aplikácie MATLAB Mobile. Okrem oficiálneho úhttps://www.mathworks.com/products/matlab-mobile.html návodu od Mathworks, Inc.] máte k dispozícii aj návod v slovenčine, ktorý vypracoval študent Adam Šćevko.


Zaujímavo vyzerá aj aplikácia Arduino Serial Sensor, ktorá umožňuje pripojiť mobil nielen cez BT, ale aj cez USB OTG káblik, alebo UDP spojenie.

Posledná, ale nie vylúčená, možnosť je naprogramovať si vlastnú appku pre Android.


Spracovanie dát

Keď vám bude prenost dát fungovať, zamyslite sa nad možnosťami ako dáta zachytiť a ďalej spracovať:

  1. prijímanie dát cez Terminal a následné offline spracovanie v nejakom programe (Excel, Matlab) - neodporúčané riešenie
  2. prijímanie dát vo vlastnej aplikácii, napr. v Processingu a následné spracovanie priamo v programe - pozri [[MEMS cvičenie 3| cvičenie 2]
  3. prijímanie dát v programe SerialPlotter, grafické znázornenie a uloženie do súboru
  4. prijímanie a spracovanie dát v Matlabe


Serial Terminal by Bray

Na testovanie a prvé pokusy so sériovým rozhraním sa vám určite zíde aj nejaký terminálový program, masochisti môžu použiť aj Hyperterminál z Windows. Terminál je jednoduchý program, v ktorom sa zobrazujú všetky prijaté znaky a naopak, je možné nejaké iné znaky odvysielať. Dajú sa samozrejme aj nastaviť základné komunikačné parametre.


Grafické priebehy na PC -- Serial Plotter

Serial Plotter je trocha sofistikovanejší program ako Terminal, jeho úlohou je zakresliť graficky všetky prijaté informácie. Najjednoduchšie je posielať mu čísla, pričom ich môže byť aj viac, oddelených čiarkami. Každá jedna n-tica hodnôt musí končíť znakom pre nový riadok. V knižnici Serial použite bloky Serial Write Number pre čísla, Serial Write String pre čiarky a Serial Write Line pre ukončenie riadka. Neposielajte hodnoty príliš často, aby sa nepreplnil vstupný buffer.






Trocha zlozitejsie:

Čo s iPhonom?

  1. požičiate si normálny telefón
  2. spravíte to nie cez BT, ale cez WiFi - našiel som napríklad toto:

Viac neporadím, lebo neviem.


WiFi UDP pripojenie

Ďakujem Kristiánovi Lehockému za vypracovanie návodu pre prepojenie mobilu s PC cez WiFi UDP pripojenie.

Pozn.: v návode je popísaná ručná inštalácia knižnice UDP do Processingu, dá sa to však aj priamo z prostredia Processingu cez menu Sketch -> Import Library -> Add Library potom zadate do filtrovacieho okienka UDP a tu jednu co vam najde nainstalujete. Potom najdete aj v menu File -> Examples -> UDP priklad na pracu s touto kniznicou.

Inak je ten navod samozrejme vyborne napisany a myslim, ze vsetci, komu nic ine neslo ho mozete vyuzit.



Úloha

Odovzdať treba screenshoty s ukážkou nameraných dát (1) a ich grafické znázornenie (2). Ak nepoužívate len aplikáciu, ale ste si spravili vlastný program, treba aj zdroják z Processingu, Pythonu alebo Matlabu (3). Z obrázkov a screenshotov musí byť zrejmé, akú aplikáciu používate na mobile a ako je spravený príjem na PC.

Ďalšie info