I am trying to control my arduino with the Firmata library using 2 RFBee v1.1.
Here is my target setup description:
A PC with Firmata client with a UARTSBEE (from seeedstudio) to connect a RFBee v1.1
An arduino with Standard Firmata Firmware and a RFBee v1.1
The two RFBees are working with default settings, in broadcast mode (I’ve successfully tested the communication with an Hello world sample)
First problem, RFBee cannot work with baudrate 57600 which is Firmata default baudrate.
Firmata works fine with 9600 and 115200 which are RFBee compliant baudrates.
What I do not understand is why Firmata@115200 does not work with two RFBees@115200 !??
Firmata@115200 and with USB works fine.
RFBees@115200 with Hello world works fine.
But I don’t manage to make thw whole thing work
And it does not work with baudrate 9600 neither!
One solution could be to use RFBee with 57600 baurdarte, can the RFBee firmware be tweaked to use it?
If anyone has an idea it would be very usefull because I’m stuck :S
I’ve just tested it with no success
I have modified RFBee.ino to set
Serial.begin(57600);
I also use 57600 in my sample on my Uno.
Opening the /dev/tty.usbserial-A1017ICY with screen at 57600 gives me unprintable chars.
But i can see the right number of “???” every second but not the “Uno” string
Am I missing something?
Have you ever tested RFBee@57600?
hey~ I am sorry that I made a mistake, I had try 9600 ,38400 and 115200, all works fine~
it 's strange that It does work fine at 57600, I think it’s maybe RFBee use the Atmega168 internal crystal, which is unstable.
seems that there’s some problem when rfbee communicate with firmate… or can you just use the rfbee as a arduino board , and send some data via uart, see if firmate can get it ?
I use StandartFirmata project as is, like a Firmware and it is quite big so I don’t know if RFBee chips have enough memory.
Plus merging the two firmwares into one is a little challenging as I’m an arduino beginner
Firmata over UART works (on Uno/Leonardo) so I assume it will work on Atmega168…
But I will test it on a RFBee chip via its UART soon
Could you tell me what are the changes from the google code version?
Searching for documentation, I saw a github project: github.com/robots/RFBee
Unfortunatly, I don’t know how to use it without the Arduino IDE (there is no .ino), as I said, I’m an arduino beginner
I keep investigating and I just noticed something.
Using USB uart, the firmata firmware on the Uno waits for DTR to send its initialization string (the version + blahblah).
Using the RFBee link the initialization string is not sent so the communication doest not start.
Maybe you could or someone tell me if the DTR signal is used by the RFBee?
If the PC changes the DTR, does RFBee transmit the value to the other to set the value of the arduino uart?
I’m afraid only data are transmitted and no signal like DTR
I’ve been busy too, but I tried something and succeeded using Firmata@9600 over RFBee@9600 !!!
What I suspected in my last post seems to be right.
When it boots the Arduino (with Firmata FW) send its version over UART.
The client on the PC waits for this message to initialize and use DTR to reset the arduino.
When using RFBee, the PC client sends DTR to the RFBee and waits for the init string from Firmata.
But RFBee does not propagate the DTR so the Arduino does no reset and does not send the Init string.
I noticed it because when I switch on the Arduino AFTER launching the PC CLient, the client can see the Firmata over RFBee because the init string is sent over RFBee…
So my next step is to hack the Firmata client to init itself without the init string from the client.
Maybe you can give me more information about the DTR over RFBee?