Introduction
Having “hacked” into BlueTerm source code to make it work with my HTC clone, known as A3 Star (HD2 T8585 clone), I thought why not make the mod in order that BlueTerm will function in most Android devices with bluetooth, if not all, and permit download of modified app to those web surfers and regular visitors to my blog that are not knowledgeable enough about programming, and specially in working with the Eclipse environment. The “hack” and how it is done is explained in my previous post.
The modded BueTerm app
I have followed the approach of Bluescripts. The author of Bluescripts app has used BlueTerm as source code and modified for his app that uses a XML file that is displayed on the Android device’s screen with buttons to control external bluetooth modules via bluetooth.
The modded app, renamed just for installation to Blueterm_RM.apk, (RM stands for Reflection Method, the method I used to make bluetooth connection with my HTC clone) is avaliable for download at the end of this post, with my respective disclaimer. Please read the disclaimer, as by downloading the software (i.e. the app) you are accepting the terms and conditions of my disclaimer.
When the app is run, and after due pairing, it effectively tries to connect in conventional default manner to the external device (in my case I tested my app with my Bluetooth module). If connection fails, it uses a fallback method (Reflection method as shown here in this blog).
The rest of the app, functions as BlueTerm does. My tests make me confident enough to make it available for download. In order to install my unsigned app, you will need to allow for unknow sources installations in your Android phone in :
All Apps -> Settings -> Application -> Unkonwn sources and tick the square box.
The downloadable modded BlueTerm app
Here is the the download link Blueterm_RM.apk. This file is hosted at Bitbucket a site that offers unlimited public and private repositories and it is free for small teams.
Please read the disclaimer at the end of this post. By downloading this app you have accepted the terms and conditions of the disclaimer.
Download the app to your desktop, and then copy to your Android phone’s SD card, or download directly to your Android phone. Install it by conventional method, running it with say free explorer apps available on Android App market, and hopefully you will have a modified version of BlueTerm that will work with any Android device with bluetooth.
Disclaimer
THE SOFTWARE (“APP” OR “THE AP”P AS IT IS REFERED TO IN THIS POST) IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
Pingback: Overcoming Android bluetooth “blues” with Reflection method | RedAcacia
Pingback: BlueTerm app for most Android devices - Android Forums
Could you PLEASE give the complete source code…. I’m working on a similar project and i’m in need of it…
THANK YOU in advance..
harishpatil786@gmail.com
Welcome to my blog dear Harish. I suggest you read my previous tutorial in this blog. It shows how it is done. I suggest you also download Blueterm and Bluescriots source codes. If you find difficulties let me know.
Wow, thanks for making this available. It got Blueterm to work on my new (Android 4.0.3!) HTC EVO V from VirginMobile. I really appreciate your efforts in publishing this. I thought I was going to have to return the phone when I couldn’t get Blueterm to connect to a SPP device.
Welcome to the blog dear John. I am glad you got your phone to connect to a SPP device. And thank you for your kind words.
Hi, this is a great solution
It seems the download from bitBucket is locked, it says : You do not have access to this repository.
Welcome to the blog dear Dario. It is working now. I forgot to switch the repository from Private to Public.
The repository is not working anymore. So I have changed the link. It should work now.
Thanks Tayeb, I downloaded the app, but I still can’t connect to my bluetooth spp module.
My module is a Firmtech fb755as, it works fine with my pc (windows) but I can’t connect with my samsung galaxy tab 7.0.
The app says: primary method failed using fallback, and then: failed to connect to device.
Both times it asks for pin code. The bluetooth module is already paired with the phone.
It is very strange indeed…maybe I have to dig into the module AT commands and test various configurations…
Any suggestion?
If your device is already paired, Blueterm ought to be able to connect. Thwre are 2 issues you have to take into account. First you pair your Android phone to the device. Then only Blueterm has to connect to paired device. I would unpair, restart the Android phone and repeat the procedure. Failing that I would suggest to try connecting with another android phone to rule out your phone.
I tried with another bluetooth module, a cheap HC05 from wavesen (maybe the cheapest module found on ebay), it works fine! But my firmtech don’t really want to connect to android…With the HC05 I have problems with windows but not with android, with the Firmtech windows works fine but not android…very strange issue!
You should try with another Android phone to rule out your Samsung phone. Why doesn´HC05 connect to your PC? Have you checked the speed setting of RS232 communication?
I just found in a forum an issue about bluetooth serial port with galaxy tab, I hope it will be fixed… I can’t connect to HC05 with windows standard drivers, I only found Toshiba drivers for windows to be working fine with HC05,
You need to rule out your Samsung phone by testing on another Andoid phone. Otherwise you will be wasting time.
You are right Tayeb, I tested the same module on a HTC evo and it works fine…I have to wait for a bug fix for my samsung…Thanks!
Now you need to know if it is not the fault of your own Samsung phone by testing with another phone if you can get hold of one. It may be faulty or incomplete bluetooth driver in your phone though I gather you got another SPP module that worked with your Samsung phone.
Tayeb, Thank you!!! I have been struggling to get my device to be connected (it would pair, but not connect) and your hack worked! Wonderful! Thanks again!
Welcome Patrick to the blog. I am glad that my solution worked for you. It is a common problem even for higher end Android devices.
I should mention, my phone is a HTC Inspire on Android 2.3.5.
Surely high end Android. Thank you for sharing information.
I was going through the code, now i have a requirement to send text, instead of sending individual character. I would like to know, is it possible to send data as text at a time? since what i have seen is one character at a time is written on this but my requirement is to send a line of text lets say address, url. secondly, if the text is not sent then is it appropriate to use a loop and send individual text character?
Welcome to my blog. The objective here was to receive commands that are interpreted to a specific task. The firmware in 8051 seeks these characters. So really you may need to establish a proptocol that will tell the microcontroller that you sent a string instead of a character. I am afraid I cannot help you anymore but to give you these hints.
Thank you very much for responding. Can you kindly elaborate what do you mean by protocol in simple words. This is the first time i am doing hardware integration, therefore i am not much aware these technical terms..?
You will need your microcontroller to recognise a start and end bit which will tell it here starts the string and here ends the string. Basically what a protocol entails.
Will this work for my Galaxy S? or is it too old?
Welcome to my blog. It depends on your OS version. Sometimes the hardware also may be a problem. I’m not familiar with Galaxy S. But may be it will work if you have bluetooth.
Hi, thanks for this app, I can now connect to my truck weigh scales, however, as I am a complete novice at this, could you possibly tell me how I can parse the data recieved in blueterm, into a simple number display, or is this a project for someone with much better knowledge in this field, than me.
Many thanks
Welcome to my blog. What commands are you sending and what do you expect?
Hi, I am not sending any commands, the rn42 is sending a constant data stream from a vehicle weighing system, which I need to parse into a readable format, I.e. a digital scale display, something like this, “29, 000 kg”
At present, blueterm displays the data as a string like this: 00000-00-00-000-00000-00000-00-0000, and so on. It is a live stream as well.
Many thanks
You are getting no data it seems. Normally no system will send data constantly. You have to demand it by sending commands.
Do you know how to query the balance? What commands you need to send?
My app will need modifications in order to receive responses and to interpret them. I am afraid I cannot help you on this issue much more.
I have no idea how to query the balance, or what commands I need to send, I am guessing that this has to be done via android sdk?? As I said, I am vey new to this,
Cheers
Indeed James. Your balance does not seem to send anything. Usually it is like this. You send a command and you get a response.
Hi Tayeb, I managed to get a few minutes to connect to the weighing system, as soon as it connected it started streaming data, of which I took a screen grab of, is there any way to email you the picture, it may shed some light on what format the data is in,
Cheers
Yes you can email me but it seems I cannot help ypu much as it will be difficult to interpret what is coming. What does the information say? Also say we know what is says then you have to write code to interpret it in an easy manner. Anyhow feel free to email me to tayeb.habib@gmail.com.
Hello Tayeb.
I have a bluetooth receiver that stored temperature data.
I want to create an app that send XML Format commands via bluetooth in android.
Because I was able to pair and connect using SPP but I dont know how to send data to the bluetooth device ..
My bluetooth device has a constant command like.
GetReceiverParameters
05.1A.8C
But i dont get any results. Do u know whta should i do??
Probably there is not way for XML to communicate with Bluetooth device. Really I don’t know what you are doing
I am trying to make an app using my bluetooth phone in android to view the data to a non-android device. That device supports SPP and accepts XML commands just like in bluescripts. But I dont have any idea :
1.) How can i view the data in a bluetooh device that installed in the truck? (Ex. temperature,speed,velocity).
2.) How can i send send an XML format commands .? Since the device has a specific commands that is needs to be send so i can be able to get data.
Do y hvae any idea about this. i was able to pair and search the device but the problem is i have no idea how to send the commands..
No Mae I have no idea, as it requires investigation on what signals are received so that you interpret.
Hello Tayeb,
i can’t install the apk(android 4.4.2) and code seems to be offline
Could u rehost it please?
Thanks in advance,
Lukas
It is there. I don’t see why you cannot download it. The link on the post is:
https://bitbucket.org/tayeb/codes/downloads/Blueterm_RM.apk