Senzory v mobile: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
Bez shrnutí editace |
||
(12 medziľahlých úprav od rovnakého používateľa nie je zobrazených.) | |||
Riadok 1: | Riadok 1: | ||
[[Súbor:MobileDeviceSensors.png|center]] | [[Súbor:MobileDeviceSensors.png|center]] | ||
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, | 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. | odovzdáte screenshot prijímaných dát. Okrem toho do [https://docs.google.com/spreadsheets/d/1MxAwH3CBNd1mRNbaj3l8zyFCxITGl8WZEhzIwF8L5Hc/edit?usp=sharing tejto tabuľky - tretí list: Senzory v mobile]] zapíšete, ktoré senzory má váš mobil. | ||
[[Súbor:logoSensoDuino.jpg| | [[Súbor:logoSensoDuino.jpg|80px|left]] Aplikácia [https://play.google.com/store/apps/details?id=com.techbitar.android.sensoduino&hl=sk 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ť | ||
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 | 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. | pre Arduino, ale my ju budeme využívať na Windows PC. | ||
[[Súbor:logoSensorOverBT.jpg| | |||
[[Súbor:logoSensorOverBT.jpg|80px|left]] Aplikácia [https://play.google.com/store/apps/details?id=com.amalanjula.sensorApp 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 | |||
[[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. | |||
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 | |||
=== Serial Terminal by Bray === | |||
[[Súbor:IconTerminal.png|left]] 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. | |||
* [https://sites.google.com/site/terminalbpp/ Terminal by Bray++], neinštaluje sa, len spustí. | |||
* [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 === | |||
* Podrobnejší návod na SensoDuino https://www.instructables.com/id/SensoDuino-Turn-Your-Android-Phone-into-a-Wireless/ | |||
* Aj tu... https://duino4projects.com/sensoduino-turn-android-phone-wireless-sensors-hub-arduino/ | |||
[[Category:MEMS]] |
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ť:
- 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
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.
- Terminal by Bray++, neinštaluje sa, len spustí.
- Terminal -- lokálna kópia
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.
- 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.
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.