Bluetooth or Bluetooth LE

I need to connect to an Arduino board and receive some data from the board.

I am looking to do this over bluetooth as need it to work with Mobile devices.

The requirement I have is that the device can be communicated with securely.
Once the connection is made, the data passed should be private.

Can I achieve this with Bluetooth LE? or will I need to go Bluetooth classic?

I want to use LE preferably - and if so, can anyone recommend a good shield / plug in for the board to use.

I currently am new to Arduino and have an Uno as part of my starter kit and wanting to build a prototype.

Many thanks in advance.

If your mobile device is iOS, you must use BLE.

If you prefer to use BLE, then use it. I think it is the way of the future anyway, and by this time next year everybody will probably be doing it.

The Tinysine BLE module has the look and feel of the plain-vanilla HC-05 and costs about $10. I understand the BLE will only operate as a BLE device when it is talking to another BLE. In that event it offers greater range and lower power consumption. If you don't have a BLE device, or power is not an issue and 10m range will do, then an HC-05 would suffice and is about $5 cheaper.

One bluetooth is as secure as another, and that is as secure as the password you give it. If you are really paranoid, you can change the password frequently or have the actual data transfer only after response to another password. Bluetooth is as secure as you like once the data is being transmitted because it will only talk to one device at a time.

Thanks @Nick_Pyner - I've ordered two of the Tinysine BLE modules (just incase of any issues) - next just need to locate code samples ready to send data from the sketch to my devices. :slight_smile:

You might find the following background notes useful

http://homepages.ihug.com.au/~npyner/Arduino/GUIDE_2BT.pdf
http://homepages.ihug.com.au/~npyner/Arduino/BT_2_WAY.ino

Note that, to an Arduino, one serial device is much the same as another, and sending data to it involves no more than sending it to a serial monitor.

The fun will start when you want to send the data to another Arduino using the other TinySine, but that is more of a bluetooth problem than an Arduino problem.

My BLE Tinysine modules arrived today.
The notes are most useful, thanks.

In essence as I understand it
One wire from Arduino TX > RXD on the BLE device
One wire from BLE TX > RXD on Aurduino
VCC connected to the 5V
GND to the Ground

You use Serial to talk to the local BLE module from Arduino by overriding the output using the TX / RX pins on the Arduino board.

I've currently got everything plugged in via my breadboard.

The code sample works OK on Serial Monitor on my Mac from my board. - I get the concept that once you have the bluetooth connected you reboot the board (but leaving the bluetooth powered) and that then runs the start up code out via the Serial to the bluetooth and to the bluetooth terminal app.

My tinysine is powered and blinking. I have seen when pairing with the Tinysine BLE module the flashing light goes solid for a moment and then starts flashing again after pairing is complete. It then reports as paired in the phone as well.

With regards to testing the setup via Bluetooth on Android, I'm using a Nexus 4 and have downloaded "Bluetooth Terminal" however I can't get it to connect. I've also tried Arduino RC - I feel like the board is set ok, but not sure why I can't get the bluetooth to stay connected.

Boysalsa:
In essence as I understand it
One wire from Arduino TX > RXD on the BLE device
One wire from BLE TX > RXD on Aurduino
VCC connected to the 5V
GND to the Ground

You should use a divider in the Arduino Tx line.

You use Serial to talk to the local BLE module from Arduino by overriding the output using the TX / RX pins on the Arduino board.

This is unclear, but yes, the Bluetooth is just another serial device.

The code sample works OK on Serial Monitor on my Mac from my board. - I get the concept that once you have the bluetooth connected you reboot the board (but leaving the bluetooth powered) and that then runs the start up code out via the Serial to the bluetooth and to the bluetooth terminal app.

All you have to do is ensure Bluetooth is disconnected when you upload your programme to Arduino. It sounds like you are sing the USB cable for power. This is OK.

My tinysine is powered and blinking. I have seen when pairing with the Tinysine BLE module the flashing light goes solid for a moment and then starts flashing again after pairing is complete. It then reports as paired in the phone as well.

If the phone says it's paired, I guess it's paired. You might not be appreciating the difference between paired and connected. Pairing is done with the phone settings, and is just the ceremonial to secure a place on the dance card. Connecting is done with the app, say Bluetooth Terminal, and only applies to that app, and only for as long as it is in use. Change to another app and you need to reconnect. So, pair once, connect often.

I have not used the TinySine, but I would have expected it to stay solid after it is connected.

I've added the divider using the 3 resister approach in the video here... - YouTube

I've managed to get the device to show a solid blue light (as if connected) using the following iOS app. https://itunes.apple.com/hk/app/lightblue-bluetooth-low-energy/id557428110?mt=8

Android bluetooth terminal is not connecting however. It discovers it when scanning, but errors when connecting.

Boysalsa:
I've added the divider using the 3 resister approach in the video here..

Everybody else uses two resistors, and I suggest you do the same. See notes in reply #3, wherein is a diagram.