Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Interfacing of BT & micro-controller

Status
Not open for further replies.
@arhi
If you don't mind please clarify my doubt..... as u mentioned,

1) You will not be able to "send file" to ESD or "send contact" or something similar means what??? is that ESD module doesn't work as a BT or not work as a pendrive(which is able to store some data)? if so what's the use of ESD?

2) It will just allow you serial communication between computer/phone with BT and microcontroller means.... "The images/ contact no.s/ file what we want to send from phone to microcontroller r not stored in ESD, But...frist the data will be recieved by ESD serially from the phone and ESD will simultaneously send the received bits to microcontroller" is it so?
 
Last edited:
koolhoney07, depends on the phone you use. Some phones use serial profile to connect to the host software to exchange data. It would be possible (extremely complicated as none of them share the protocol information) to fetch contact/scheduler data from the phone... the other ones that use different profiles, this would be impossible with ESD. From what I saw, most of them use serial profile but protocol is unknown. You would have to hack that protocol in order to simulate the host software with your micro controller. Note that ESD is ~100$, are you sure it is worth it?

@chanlee,
1. When you connect BT dongle to your PC, your PC software can implement number of "BT Profiles", some of the common ones are:
- serial
- network access point
- sound
- video
so, if you for example connect BT headphones to your PC they will use sound profile to communicate.

When you use ESD instead of PC, the part that on PC is done by "drivers and operating system" is here replaced by ESD firmware, and this firmware support *only* serial profile, this means that you cannot connect your BT headphone to ESD.

What else does that mean, it means that if you try to pair your phone with ESD, some phone's will pair (the ones that use serial profile for sync) and some will not. Those phones that will pair you would theoretically can control the same way you could control them via PC application (fetch/edit contacts, files, send sms's etc) but as already stated you would have to implement that PC application in micro controller and that is extremely hard because companies do not publish the protocol they use to talk between the application and phone.

Other than that, OBEX (protocol used over BT that phones use to send files, pictures, vcf's) does not go over serial profile hence it cannot be used with ESD (meaning, you cannot "send via BT" file to ESD).

So to answer your question, "what is the use of ESD", ESD is the BT module that implements the serial profile. That is the most "common" profile and it enables you to communicate between two devices.

2. noone wrote that you need / can store anything on ESD .. now, let us discuss the "send image from phone to micro controller" idea. You can send image from phone to another device using BT in few different way's

- OBEX (select file, options/send via bt/ select the visible device / press send)
this you cannot implement with ESD

- you can use provided application running on desktop pc to fetch file from phone
this can in theory be implemented for some phones using ESD. it is very complex as there is no available data on the protocol between the application and phone. you would need equipment / software to "sniff" the traffic between pc application and phone and deduct the protocol your self. after our small chat in this thread, I do not believe you can do it.

- you can write a special application for your phone that will send file triugh serial interface to your micro controller
this is doable if you have programming knowledge, if you have development tools for your phone. it would be fairly simple to create application that will select a file on the phone and send it to micro controller over serial link (enabled via ESD) and application on micro controller that can "accept" that file.

all in all ESD is there just to give you "wireless serial port" nothing else

is it more clear now?
 
SPP (serial port profile)= Wireless UARTS.

Using bluetooth specifications regarding pairing, frequency hopping etc...
 
USB Bluetooth dongle (Intelligent type) interfaced to General purpose microcontroller is do-able. Not tested with any real high speed testing yet, (high being relative to the performance of *your* micro and UART that is..) but the bluetooth RF

"HELLO WORLD"

or

"Can you hear...er uhm..*receive* me now"

communication test is done. At 115200 and about 30 feet.

Wheww... I'm gonna go get something to drink.


Meetings...Meetings...Meetings...Just when I get something hooked up and want to play with it.
 
Last edited:
Well it works so far. Got this basically proven. Done with the initial data gathering. Now to rev it up! I'll have some demo code running on my microcontroller Monday some time to demo to the folks here.

I'll be able to pound the micros uart port with a pack of bytes at around 30HZ. Should be able achieve baud rates at the UART level of 51200 on the micro end and I'll leave the Baud rates at the PC end at 115200. I'll post how it goes if anyone is interested. This will be COMMAND and RESPOND setup so when I send data from my PC via bluetooth, i'll be receiving it at the micro via the intelligent dongle. When the microcontroller finishes up it will respond with resultant data and status information. PC talks - Micro responds. This happens 30 times per second. I'll try and post some scope shots.
 
Last edited:
Chanlee & koolhoney07,

BT comes in alot of profiles(or something like protocols). Each protocol does different kinds of things, i.e. bluetooth handsfree and bluetooth serial is different. when you pair your BT module with a host(computer/phone), they are connected to only one kind of profile. And here, a BT module only uses SERIAL PROFILE.so, what do you get with serial profile? It is only an extend of UART to becoming wireless(PERIOD).

You won't be able to receive files or contacts with your microprocessor because there isn't a protocol written in the processor. Unless you are patient enough to write the entire "RECEIVING FILES" code on the processor, you only get a bunch of meaningless data through your serial port.
 
@Arhi

Can you suggest some other microcontrollers for interfacing with ESD1000 bluetooth modules??

If you list out some other MCs... I can try for them.
 
Last edited:
Chanlee, we're all trying to help you and kool.

Tell us what microcontrollers (if any) you have evaluated and found unacceptable?
Litterally *ANY* controller with a UART can talk to / control one of these ESD bluetooth MODULES.

From ESD:
===
The Parani-ESD1000 is Class1 type Embedded Bluetooth Module for users to make their devices Bluetooth-enable. By default, it supports 100 meters of wireless transmit distance. The Parani-ESD1000 has an extension option so that users can extend the transmit distance up to 1000 meters using optional antennas. It supports Bluetooth v2.0+EDR specification, and external interface UART.
====
 
@Arhi

Can you suggest some other microcontrollers for interfacing with ESD1000 bluetooth modules??

If you list out some other MCs... I can try for them.

ANY uC with decent speed can be connected to ESD, you just need to be able to establish serial communication. It would be preferred if uC have hardware usart but you can do serial comm in software too. Again, that would not solve the problem of talking to your phone as if you read the thread from the start you will find few reasons why. In general, all that I can say about the subject I told ya more then once, here's the summary:

- usb bt dongle - you can connect to computer (windoze, osx, linux) or to uC with usb host ability (vinculum for example). You can use some embeded computer (like alix board for example) and implement the project. If you use uC with usb host ability, you will have to write the drivers + phone application from scratch for the uC and there's no info available on how to do it.

- bt module - you can connect to any uC that is capable of serial communication. You can communicate with your phone as you would via serial cable but again, protocols are not documented and in order to transfer something between uC and phone you would either need to implement the phone sync protocol that is not documented, or you can develop a special application on your phone that can communicate via serial port.

- bt chip - you can purchase the bt rf chip and develop everything else yourself (build a BT dongle for e.g.), this is even harder sw/hw project then all the other ones. you'd have to implement "everything" (bt protocol, handshakes, frq hopping, error correction, the whole bt chabang + all other stuff you have to implement for the phone)

You explained you'd like to send image from phone to "device" ... you never explained why / for what purpose, but the only 2 way's you can do it in "home lab" is :

- use alix board, make embedded PC with windoze and write app on windoze to do what you need

or

- use ESD (or similar BT 2 Serial module) to connect uC and phone, write app on phone that communicate with BT, similar app you need on uC

That's all from me, if you have additional questions, please read the thread from the start as I'm pretty sure they are already answered
 
Sorry I haven't posted any results yet. To many fires to put out. I have been working on it a little but it's been a little while since I fiddled around with ASCII. Baud rate adjustments on the fly, character arrays, string array, line terminators (That dang NUL!). Yeah I have re-tripped over just about every one of those sneaky little gotcha's again. But it's basically there.

At the momemt I think I am flooding the Vinculum a little too much too quick but I'll slow that up today and see what happens.
 
Well a little more so far. Lets say you use your PC to transmit some data to your microcontroller at 19200 via a standard Com port and cable. We'll say 6 bytes for example. 6 bytes x 10 bits (8 data +1 start and 1 stop) x 52uS. In other words your 6 byte PACKET from the PC is done in about 3.125mS if you look at the PACKET on a scope, if your application is a tight loop transmission. In other words, the bytes are tight packed with the only seperation of data bytes is the one bit width for START and one bit width for STOP bits.

Now lets select the OTHER com port that has a bluetooth dongle device installed, paired to an intelligent bluetooth dongle on your printed circuit card, converted to UART signal by the Vinculum. Put a scope on the Vinculum uart output and ! :

The bytes get DE-PACKETIZED into individual bytes and are showing up about every 20mS.....Yes a blinding 20mS....:eek: Not one byte lost but WOW! So much for LATENCY! And 19200 BPS is far under the claimed 200K to 300k that Bluetooth 2 devices seem to claim to be able to *STREAM*.

But you can type on hyperterminal all day long and see it just fine at the controller end! At least for my typing speed :D

Not done of course. I'm not in the desired modes yet and I am pretty sure I have down-rev'd firmware in some of my hardware. I am working on getting it up to date. I am getting super support from the Intelligent bluetooth dongle folks. Still have not heard a word from FTDI about the Vinculum and data mode but I am far enough along and getting it to work like I need it, but their claimed operation doesn't hold water on all aspects of data mode though. More as I get it.
 
Last edited:
Sheeesh my time is tight due to a bunch of fires but I'll post more later. Lets just say that it is entirely possible to use a bluetooth dongle *OF THE INTELLIGENT TYPE* with the more memory and MHZ challenged microcontrollers if you use a Vinculum from FTDI to implement the USB functionality. The USB tasks are handled by Vinculum and the Bluetooth tasks are handled by the intelligent dongle. The intelligent dongle I used is the RN-USB-X from Roving networks. ($70)

If you want to compare processors, check out the M30626FHPGP from Renesas. You DO NOT have to have the intelligent dongle on the PC side. We have tried it with a couple of different run of the mill (IE: cheaper) USB BLuetooth adapters and it works fine. As a matter of fact the Kensington
K33902US Micro adapter is a real hot rod as far as keeping packets in tact.
Typically $35. Best price I find is:

Kensington Bluetooth USB Micro Adapter K33902US

I have ordered a couple from them so I'll see what I get.

Also remember, with a Vinculum you get the ability to operate typical flash drives. They have a lot of the F.A.T. and disk operations functions built into the Vinculum, similar to DOS commands. You get to these functions using ASCII commands via the UART or SPI interface on Vinculum
 
In short...No. Source code is a roll your own affair. Its more of a GUIDANCE site than a GIMME site. Sorry

Any microcontroller that has a uart and can support CTS and RTS handshaking can be used with the Vinculum chip from FTDI to get you a USB connection to your micro.

Then an intelligent bluetooth dongle like the Roving networks RN-USB-X can be used in the USB connection on your micro to do the bluetooth..

The Vinculum provides device detection reporting at plug in time, to your micro and you set up accordingly. Recognizes a flash drive or dongle.

The command sets to the Vinculum is available at the FTDI site and the command set to the intelligent dongle is available at Roving networks site.

It works well. we are producing a product with it now. This gets you a communication path that is basically speed limited by your processors UART.

The comm speed capabilities of the Vinculum are apparently around the aggregate 300 KBAUD area. But for our purposes, 38400 is fine. And works well.
 
Last edited:
bluetooth

hi
i a,m very new to this community..
i need some help from u ppls..
i am working with a oemspa311 serial port bluetooth adapeter.. how to interface this to a microcontroller?????????

could u pls find sme answers..
 
@Koolhoney

Instead of using BT dongle, you can use BT module. If you use BT modules you can directly connect Tx of BT to Rx of mic-ctrler and viceversa. The need is to write program in mic-ctrler to accept the data what the BT module is going to send.



Modules are available in:

sena.com/products/industrial_bluetooth/esd.php
sena.com/products/industrial_bluetooth/esd1000.php


in this below link go to "Resellers / VARs" option, you can get the local distributors:

sena.com/where_to_buy/

i want to know how to connect the pins
RTS , CTS , DSR , DTR ,
with micro controller PIC 18F4550
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top