Pystyn lukemaan arduinon serial viestejä komentorivillä:
jiffy@localhost:~$ tail -f /dev/ttyUSB0 Viesti 1 Viesti 2 jne..
Lisäksi voin ilmeisesti lähtetää viestejä komentorivillä: echo "Viesti" > /dev/ttyUSB0
Mutta miten voin tehdä ohjelman (C++), joka osaisi lukea kyseisiä viestejä, sekä mahdollisesti lähettää viestejä/komentoja?
Yksinkertaisesti voit esimerkiksi käyttää C++:ssa system()-funktiota.
Jiffy kirjoitti:
Mutta miten voin tehdä ohjelman (C++), joka osaisi lukea kyseisiä viestejä, sekä mahdollisesti lähettää viestejä/komentoja?
Laitetiedostoja voi käsitellä aivan kuten tavallisiakin tiedostoja. http://www.cplusplus.com/doc/tutorial/files/
Macro kirjoitti:
Yksinkertaisesti void esimerkiksi käyttää C++:ssa system()-funktiota.
System-funktio ei kylläkään ole hyvä tapa tiedostojen käsittelyyn.
Systemiä ei käytetä koska: http://www.cplusplus.com/forum/articles/11153/
Mikäli ajatuksesi on tehdä C++ ohjelma joka I/O sarjaporttia niin:
Lataa joku sarjaportti kirjasto. Luet sarjaportista /dev/ttyUSB0 Arduinosta tulevaa dataa. Pidä huoli, että syötät dataa yhtä nopeasti kuin luet sitä toisessa päässä. Anna merkki Arduinolla, että se on valmis ottamaan dataa vastaa. Ja toisin päin: Kirjoitat sinne /dev/ttyUSB0 ja laitat Arduinon lukemaan. Kirjoitat jonkin merkin syötteeseen, että kone on valmis vastaanottamaan dataa.
Nyt sinulla on systeemi, jolla voit siirrellä dataa osallistumatta itse prosessiin. Toimii radiopuhelin periaatteella.
EDIT: System() olisi muutenkin kömpelö viritelmä tähän tarkoitukseen.
-tossu- kirjoitti:
Laitetiedostoja voi käsitellä aivan kuten tavallisiakin tiedostoja.
No tällä tavalla sain ihan näppärästi ainakin tuon lukemisen hoidettua.
Kiitoksia
Aihe on jo aika vanha, joten et voi enää vastata siihen.