Firmata
Firmata
Sziasztok
ha vki képben van a firmata üzenet felépítéssel és el tudná magyarázni egy egyszerű gyermeki léleknek esetleg egy-két példával...
mondjuk ha
FIRMATA_STRING-et kellene beküldeni (pl: "abc") akkor mit vár?
A másik egy (parancs + adat) üzenet lenne erre nem tudom mi a megfelelő forma (SYSEX_START? ) Ez hogy néz ki mondjuk ha ezt szeretném beküldeni ( a + 7A,8,6,1)
A cél az arduino-t interface-nek használni bármilyen oprendszer alatt
sima ascii parancsokkal ez egyáltalán nem gond, a probléma ott van ha parancsot akarok adni neki és utána le akarok tuszkolni adatot is a torkán. Elvileg erre lenne a firmata ami egy egyszerűsített MIDI bázisú cucc. Itt akadtam el.
nagyon köszönöm.
ha vki képben van a firmata üzenet felépítéssel és el tudná magyarázni egy egyszerű gyermeki léleknek esetleg egy-két példával...
mondjuk ha
FIRMATA_STRING-et kellene beküldeni (pl: "abc") akkor mit vár?
A másik egy (parancs + adat) üzenet lenne erre nem tudom mi a megfelelő forma (SYSEX_START? ) Ez hogy néz ki mondjuk ha ezt szeretném beküldeni ( a + 7A,8,6,1)
A cél az arduino-t interface-nek használni bármilyen oprendszer alatt
sima ascii parancsokkal ez egyáltalán nem gond, a probléma ott van ha parancsot akarok adni neki és utána le akarok tuszkolni adatot is a torkán. Elvileg erre lenne a firmata ami egy egyszerűsített MIDI bázisú cucc. Itt akadtam el.
nagyon köszönöm.
Kis minta:
http://firmata.org/wiki/Main_Page
http://firmata.org/wiki/Main_Page
Én az arduinot simán a soros kommunikációval vezérlem, a gépen lévő python kódból.
Pl most ledeket vezéreltem pwm-el, amihez ilyesmi üzeneteket küldetm:
r255
g34
b10
-> Az arduino az első karaktert nézi, majd utána attól függően, hogy mi, olvassa a többit.
De ugyan ezt lehetne szebben megcsinálni, ha mondjuk ;-ig vagy \n-ig olvasna és összefűzné a karaktereket, majd azt dolgozná fel.
Én inkább írok egy rá egy kódot, mint a firmata, biztosabb és egyszerűbb.
Pl most ledeket vezéreltem pwm-el, amihez ilyesmi üzeneteket küldetm:
r255
g34
b10
-> Az arduino az első karaktert nézi, majd utána attól függően, hogy mi, olvassa a többit.
De ugyan ezt lehetne szebben megcsinálni, ha mondjuk ;-ig vagy \n-ig olvasna és összefűzné a karaktereket, majd azt dolgozná fel.
Én inkább írok egy rá egy kódot, mint a firmata, biztosabb és egyszerűbb.
inkább a halál mint a VB láttam már ezt köszikapu48 írta:Válaszd a: Visual Basic-et az a legkönnyebb!
http://www.acraigie.com/programming/fir ... fault.html
@Gerifield
oké én is megpróbáltam ezt az utat, a fő gond ott jelentkezett, a Serial.read()-ból érkező stream-et hogy szeparálom ha több cucc jön és lelassul mint a dög
pár példa:
utasítás: "b"
b = blink
(ha itt arduino belső metódusát hívom meg nem gond hiszem ott definiálom melyik ledet, milyen időtartamban)
irhatom így is:
utasítás :"b13100"
(a belső metódus nem "tud" semmit minden a szükséges infót az utasításból kap. Feldarabolom egy tömb-be és kész
b = blink, 13= led, 100 milis
a gond ott volt hogy az utasítások összefolytak. Megadhatom hogy minden bejövő utasítás 5 karakter hosszú lehet vagy a message library-ban (és a többi hasonlóban) az utasítások szeparálására a carriageReturn (CR, 13..etc) van, vagy a kettő keveréke.
itt jönnek a hibák:
"b00000"
b = blink 0 = led 000 = milis
pedig csak egy parancsot akarok küldeni változók nélkül.
lehet így is:
"pb000"
p = parancs következik
b = tényleges parancs
0 = semmi ( csak a tömb feldolgozás miatt helykitöltés)
0 = semmi
0 = semmi
"dasdf"
d = adat következik
a = adat
s = adat
d = adat
f = adat
Nekem úgy tűnik minnél többféleképpen szűröm az üzenetet annál lasabb lesz a cucc. Eért tűnik a firmata szimpatikusabbnak meg tudok szólítani egy pint direktbe mindenféle szűrés és feldolgozás nélkül
Mik a tapasztalataid:
ha egy üzenet így néz ki és a célja a belső eep feltöltése 512 byte tömb-el, ez a feldolgozás mennyiben lassítja le cuccot? Mondjuk talán 512 byte nem nagy ügy de ha át akarok rajta folyatni mondjuk 8mb-t egy külső eepromba?
továbbra is érdekelne ha vki használja a firmata-t és van kedve pár példa üzenetfajtát megosztani
köszi
Erre a szeparálásra az amarino projektben (http://www.amarino-toolkit.net/) található megoldás egész jó, méghozzá az, hogy a parancsok között egy szeparáló karakter is van!
(Az ne zavarjon, hogy ez android+arduino kapcsolathoz lib, a forráskód hasznos!)
Nem csak első karakter lehet egyedi, hanem a szeparáló is!
(Az ne zavarjon, hogy ez android+arduino kapcsolathoz lib, a forráskód hasznos!)
Nem csak első karakter lehet egyedi, hanem a szeparáló is!
Re: Firmata
Sziasztok!
Én is FIRMATA-val kapcsolatban kérdeznék néhány dolgot, illetve csak egyet. Vegyünk egy egyszerű példát: Adott egy egyszerű számológép (egy kétsoros kijelző+4x4-es billentyűzet. arduinoval kialakított számológépet értünk ezalatt) Ugyebár ennek az eszköznek a sztenderd bemenete a billentyűzet, a sztenderd kimenete pedig a kijelző. Nade a számológép nem csak úgy végezhet műveleteket, hogy bepötyögjük, hanem az arduino soros-usb portján keresztül is tudunk neki utasításokat adni, amelyekre vagy visszaadja az eredményt szintén a soros-porton, vagy megjeleníti ezt a kijelzőn.
A kérdésem a következő: megoldhatom -e ezt a firmata segítségével, vagy ezek nem kombinálhatók? Mármint a saját fejlesztésű számológép program, és a firmata. Számológép, amely firmata funkciókkal is fel van vértezve.
köszi a segítséget.
Én is FIRMATA-val kapcsolatban kérdeznék néhány dolgot, illetve csak egyet. Vegyünk egy egyszerű példát: Adott egy egyszerű számológép (egy kétsoros kijelző+4x4-es billentyűzet. arduinoval kialakított számológépet értünk ezalatt) Ugyebár ennek az eszköznek a sztenderd bemenete a billentyűzet, a sztenderd kimenete pedig a kijelző. Nade a számológép nem csak úgy végezhet műveleteket, hogy bepötyögjük, hanem az arduino soros-usb portján keresztül is tudunk neki utasításokat adni, amelyekre vagy visszaadja az eredményt szintén a soros-porton, vagy megjeleníti ezt a kijelzőn.
A kérdésem a következő: megoldhatom -e ezt a firmata segítségével, vagy ezek nem kombinálhatók? Mármint a saját fejlesztésű számológép program, és a firmata. Számológép, amely firmata funkciókkal is fel van vértezve.
köszi a segítséget.
Re: Firmata
Megoldható, hisz a firmata csak egy plusz funkció-kiterjesztés.
Re: Firmata
Sziasztok!
2db. arduino panelt szeretnék soros porttal összekötni firmata segítségével.
Az egyik panelen (Slave) lenne a StandardFirmata és ennek a portjait szeretném a másik panelről (Master) vezérelni (vb.net-ből már sikerült vezérelnem a StandardFirmata-t).
A firmata tud ilyen módon ("Master") működni? Ha igen hol találok ehhez doksit, mintát?
Előre is köszönöm a segítséget.
2db. arduino panelt szeretnék soros porttal összekötni firmata segítségével.
Az egyik panelen (Slave) lenne a StandardFirmata és ennek a portjait szeretném a másik panelről (Master) vezérelni (vb.net-ből már sikerült vezérelnem a StandardFirmata-t).
A firmata tud ilyen módon ("Master") működni? Ha igen hol találok ehhez doksit, mintát?
Előre is köszönöm a segítséget.