
Arduino - knihovna firmata
Zdravím, nema někdo zkušeností s touto knihovnou?.
Main_Page
This "firmata_test" program works with boards running StandardFirmata version 2.2 or higher on standard Baud rate 57600.
Zkoučim na unu a fakt jim to funguje.
Použivam zdrojak příklady - Firmata - Standardní Firmata
Když však nahrají zdrojak do arduina, po rebootu mam všechny digi piny přeple na input ve stavu low.
Proč?
Dale by mně zajimalo proč nefungují další sample?
Konkretně SimpleDigitalFirmata.
Rad bych ovladal jen digi piny.
StandardníFirmata je dělana pro vše co knihovna umi.
Jsem začatečník a zas takové znalostí nemam, abych si moh pomazat co nepotřebují.
Toto mi funguje když je v arduinu zdrojak StandardníFirmata.
Se zdrojakem SimpleDigitalFirmata ne.
#!/usr/bin/python
# -*- encoding: utf-8 -*-
from pyfirmata import Arduino, util
import time
board=Arduino('/dev/ttyUSB0')
ledpin = board.get_pin('d:10:o')
ledpin.write(1)
time.sleep(10)
ledpin.write(0)
Tak jinak.
Potřebují s raspi zapinat piny na arduinu a take čist jejích stav.
Ten python zdrojak je na raspi.
Když nahrají do ardujina ten StandardFirmata.ino
příklady - Firmata - Standardní Firmata
Tak to funguje.
Jelikož chci jen přepinat a čist digi piny, zkouším tedy ten SimpleDigitalFirmata.ino
A ten se stejným kodem python nefunguje.
Pokud poradite jný, lepší zpusob, budu rad.
Ja našel ještě toto.
https://williamjturkel.net/teaching/history-9832b- interactive-exhibit-design-winter-2012-connecting- arduino-to-processing-with-firmata/
Ale nedovedu přidat knihovnu cc.arduino, ktera je v javě s připonou jar.
Ked to je tento zdrojak https://github.com/firmata/arduino/blob/master/exa mples/SimpleDigitalFirmata/SimpleDigitalFirmata.in o tak ten by mal normalne reagovat na messages na zmenu digi pinu cez seriovy port, a hlasit digitalne inputy. Co konkretne ti na tom nefunguje? Ak si na tom com porte otvoris terminal na 57600baud tak nieco vidis (napr. ked sa zmeni nejaky input pin)? Mas verziu arduina FW aspon 022?
Verzi FW nevím, je to moje první AU a mam 4 měsice.
Ale tim to určitě nebude.
Ano to v odkaze je ono a nefunguje.
Tady tento funguje a normalně piny přepinam přes ten python skript.
https://github.com/firmata/arduino/blob/master/exa mples/StandardFirmata/StandardFirmata.ino
Jsou to snad jen přikazy, ktere použivají stejnou Firmata.h knihovnu.
Co znamena "nefunguje"? Dostanes na terminal cez seriovy port nejaky message ked zmenis nejaky vstup?
Tie zdrojaky si predsa mozes porovnat aj sam, pre digitalne piny je to stejne v oboch pripadoch, takze neni dovod aby tam nieco nefungovalo. Chybaju tam ale tie casti uzavrete v #ifdef FIRMATA_SERIAL_FEATURE, pripadne si to tam mozes pridat, alebo si overit ci to je v tom standardnom definovane, nechce sa mi skumat v zdrojakoch kniznice ze co to je konkretne za feature.
P.S> a nikto nikde netvrdi ze ten simple ma fungovat s nejakym posahanym scriptom z pythonu, reaguje to na messages na nastavenie pinu, a posiela to zmenu vstupov. NIC VIAC. Posahany script moze potrebovat viac (napr. sysexCallback cez ktory si nacitava informacie atd) Pouzivaj ten standardny firmware, ked nevies poslat message rucne cez terminal.