Monday, December 24, 2007

Arduino Over Bluetooth!

The Arduino is transmitting over bluetooth. Not as easy to do it the first time but now that it is working and I have learned the way of it, it is really easy. I had to learn more than I thought I would but that isn't a bad thing. And now that I know how to get it running and that it does actually work, I can start thinking about doing something useful and fun with it. The next step will be to go back and have it work with the Monski Pong Program.

The first major step was learning to connect the blueSMiRF through the FT232R USB to Serial converter and talking to it using Hyperterminal. Real important was that when communicating with the BlueSMiRF the baud has to be 115200, otherwise it does nothing. I could not do without the Command Set Datasheet for this. It is a must have! The one problem I had I mention in the last post, when setting the Flow Control setting in Hyperterminal I had to set it to None, where the Datasheet specifies Hardware. Another thing is that when in CMD mode some of the commands work in lower and upper case and some don't. Just something to keep in mind.

Next was to enter command mode on the BlueSMiRF over Bluetooth. There is a clock allows this for 60 seconds after the BlueSMiRF starts up.

After that was communicating between Hyperterminal windows using the bluetooth as a serial port connection. It worked very well, but had a few hiccups. When communicating between the laptop and desktop if the laptop went to sleep I had to reboot the laptop to re-establish communication. If I was in CMD mode on the blueSMiRF throught the FT232R and tried to connect through a Hyperterminal window by bluetooth it would crash the Hyperterminal. There were a couple times where I did something that cause the communication to stop but could restart by powering off and on the BlueSMiRF. I spent alot of time playing around with different settings and running the the BlueSMiRF on the arduino, the FT232R, on 1 computer and on 2 (BlueSMiRF on laptop and bluetooth dongle on Desktop)

The final thing was to run BlueSMiRF on the Arduino. The wiring is very simple to hookup the BlueSMiRF, connect power to the +5v or 3.3v , gnd to ground, and TX to the RX and RX to the TX on the Arduino. This is where I had Hyperterminal windows open to the Arduino through USB, the BlueSMiRF over Bluetooth. First time it should have been working as a serial port connection but it wasn't, this is where I think I had trouble at the very start. What I learned was that the BlueSMiRF wants to go at 115200 baud, the Arduino at 9600. Once I set the BlueSMiRF at 9600 baud it started transmitting the serial data from the arduino to the hyperterminal window on my desktop.

(I used the roving networks command for temporarily changing the baud. U,9600,N and CR. Type su, to set it so it is in the memory and it will stay after power down.


For my own future reference, the settings can be gotten from the BlueSMiRF by getting into Command Mode by typing $$$ in the terminal window.
Then type D for settings and E for advanced settings. I changed the baud by typing su, 96 The baud is set to 9600 (only the first 2 digits are needed)

Settings
d
***Settings***

BTA=00066600666F

BTName=FireFly-666F

Baudrt(SW4)=115K

Parity=None

Mode =Slav

Authen=0

Encryp=0

PinCod=1234

Bonded=0

Rem=000272CC10D6

e
***ADVANCED Settings***

SrvName= SPP

SrvClass=0000

DevClass=1F00

InqWindw=0200

PagWindw=0200

CfgTimer=60

StatuStr=NULL


su,96
AOK

d
***Settings***

BTA=00066600666F

BTName=FireFly-666F

Baudrt=9600

Parity=None

Mode =Slav

Authen=0

Encryp=0

PinCod=1234

Bonded=0

Rem=000272CC10D6

5 comments:

davide.totaro said...

Hello! We are two computer science students working on a small project concerning Arduino and BlueSmirf. We found some articles explaining how easy and funny was to make projects with them, but we weren't able to let them communicate. We thought we were stupid. After reading your experience and the 115200-baud trick, it worked! Thanks, thanks, thanks!

Luke said...

Thanks mate, vital information for interfacing the Arduino via BlueSmirf.

Cheers,
L

Clark said...

The bluetooth devices look so good and excellent to learn how to configure wap connections, it reflects quality like the kamagra jelly pills.

Gary said...

Thanks a lot for creating this site and documenting the issues that you found while working your way through the book. I'm working my way through the book now and hitting the same issues. Changing the bluesmirf baud rate to 9600 did the trick in my case too. Thanks again.

Ross said...

Hey, thanks for posting this, but how do you actually read the serial data from the arduino back in Hyperterminal? I can connect and I can get into command mode and set the baud rate, etc, but how do I now talk to the arduino or read from the arduino? Your help would be very much appreciated!!!

~Ross