Wednesday, January 30, 2008

WASHINGTON (CNN) -- Marine Lance Cpl. Joshua Bleill lost both his legs above the knees when a bomb exploded under his Humvee while on patrol in Iraq on October 15, 2006. He has 32 pins in his hip and a 6-inch screw holding his pelvis together.
Now, he's starting to walk again with the help of prosthetic legs outfitted with Bluetooth technology more commonly associated with hands-free cell phones.
"They're the latest and greatest," Bleill said, referring to his groundbreaking artificial legs.
Bleill, 30, is one of two Iraq war veterans, both double leg amputees, to use the Bluetooth prosthetics. Computer chips in each leg send signals to motors in the artificial joints so the knees and ankles move in a coordinated fashion.
Bleill's set of prosthetics have Bluetooth receivers strapped to the ankle area. The Bluetooth device on each leg tells the other leg what it's doing, how it's moving, whether walking, standing or climbing steps, for example.
"They mimic each other, so for stride length, for amount of force coming up, going uphill, downhill and such, they can vary speed and then to stop them again," Bleill told CNN from Walter Reed Army Medical Center, where he's undergoing rehab.
"I will put resistance with my own thigh muscles to slow them down, so I can stop walking, which is always nice." Watch Bleill demonstrate his legs »
Bluetooth is the name for short-range wireless technology that can connect computers to printers, MP3 players to speakers and -- perhaps the most well-known use -- cell phones to ear pieces.
Older models of computer-controlled legs have to be "programmed" via wire by laptop computers before the amputee can use them. Those legs required more movement from the amputee's remaining thigh muscle to generate motion in the prosthetic leg.
Because of built-in motors, the Bluetooth legs allow Bleill to walk longer before he tires.
"We've compared walking several laps in both sets of legs and one, your legs come out burning and tired and these, you know, you sometimes are not even breaking a sweat yet."
Bleill says the technology also means he spends less time in a wheelchair. The Marine uses canes to walk with them. He's hoping to get to the point where he can use one cane regularly, and eventually lose the cane altogether.
"I can walk without canes, but it's not real pretty," he said.
This new generation of prosthetic technology was originally conceived to help amputees who had lost only one leg. But it's working for Bleill and Army Lt.Col. Gregory Gadson, who is also using the Bluetooth devices in his legs.
What they are experiencing will help future amputees.
"We are the first ever to try this, so it's learning day-to-day. The [prosthetics] company comes down on a regular basis and checks in with us," Bleill said.
Gadson, a former linebacker at West Point, said they are breaking new ground for amputees. "I think we are kind of pioneering and hopefully blazing a trail for others to try the technology also," he said.
But the technology is not without some problems.
"It's only going to react to how I move," Bleill said. "Unfortunately, sometimes I don't know those reactions, I don't know what I'm doing to make it react. So sometimes the leg kicks harder than I want it to, or farther, and then I start perpetuating, and I start moving faster than I really want to."
Aside from the Bluetooth technology, Bleill's legs have one other thing in common with a cell phone. They need to be charged overnight. Currently, there are no spare batteries available.
What are his long-range plans?
He just wants to make it back to his home state of Indiana and work for a charity or even help the NFL's Indianapolis Colts.
"They do a lot for the community," he said.
He added he simply wants "to give back."
"To, you know, just carry on a normal life. Go home, see my girlfriend, see my family.

Tuesday, January 29, 2008

Hi,

BLUETOOTH INTERVIEW QUESTIONS


Why is Bluetooth called a cable replacement technology?
Give a generic description of Bluetooth?
Why can Bluetooth equipment integrate easily in TCP/IP network?
Is it possible to connect multiple Bluetooth hubs?
What is FCC and how does it relate to Bluetooth?
Under what frequency range does Bluetooth work?
Do Bluetooth devices need line of sight to connect to one another?
Which technology is used in Bluetooth for avoiding interference?
What is Airport?
What is Piconet?
What is FEC in Bluetooth?
Which method is primarily used for Voice transfer?
What is the frequency range used for Bluetooth in Europe and United States?
List some Technology characteristic of Bluetooth?
Which company originally conceived and developed Bluetooth?
How does Bluetooth use frequency hopping for security?
What is a Bluetooth dongle?
What are the other (competing or not) wireless technologies?
Which Bluetooth version uses adaptive frequency hopping? Why?
How many SCO links are there in a piconet?
what is the total number of masters and slaves in a piconet?
Which method is used for Data transfer?
What is the frequency range used for Bluetooth in Japan?
What is the strength of the signal transmitted by powerful cell phones?
What is RJ-45 and full name of RJ-45?
What is LDAP? Where all can it be used
Difference between TCP and UDP
What is 802.11b, Bluetooth
What types of routing are possible in a wireless network
How does traceroute work
What are the different types of routing possible at layer 3
Explain TCP connection establishment and tear down
What is ICMP, ARP, Multicast, Broadcast
When are packets passed from TCP layer to application layer? What if some IP packets are lost
Describe TCP flow control
Explain DNS, IP address allocation
What is IP Spoofing? What do hackers do with it
What is DOS attack
Explain SSL
How can you keep a TCP connection from tearing down when no data will be sent for a long time?



Hi,


This article goes through the introduction of what is Bluetooth and what you can do with Bluetooth. Both technical aspects of Bluetooth and development tools will be briefly introduced to you; however we will not go into great detail or specifically how to develop a Bluetooth application. This in itself will require several articles if not an entire book to demonstrate and explain. However, part 2 of this article we will go through in detail the basics of creating a J2ME Bluetooth server and client.. What is Bluetooth Bluetooth is a wireless communication protocol mainly used for short distance and in devices with low power consumption. Because Bluetooth is capable of communicating in an omni-directional manner of up to 30 feet at 1 Mb/s it is far superior to infrared. Where infrared requires a distance of a few feet or less and requires a direct line of site for transmissions. Okay what about WiFi, which typical can transmit up to 300 feet at 11 Mb/s. Well the fact is these are really two different beasts; Bluetooth was developed for small data transfers and/or voice communications. Which makes it an excellent candidate for peripherals devices such as wireless microphones, headsets, mice, keyboards and of course mobile handsets. WiFi in general was developed to transmit large amounts of data and to serve as an extension of an existing network such as LAN. Not only does Bluetooth does away with wired cabled connections such as serial, parallel, USB and Fire; but also, it presents to us an unified standard that truly makes connecting to devices to each other ubiquitous. There are hundreds if not thousands ways Bluetooth and be used to enhance our daily lives. Aside from entertainment value of playing games head to head in multiplayer mode there are many business solutions for us to explore. Here are a couple of ideas:
Efficient and easy way to update your PIM from home to office or where ever you go
Easy to exchange information with others like mobile business cards
Concurrent exchange of data, this comes in handy when a group of people are in meetings or at conferences
Accessing devices such as printers and fax machines, this would definitely come in handy when visiting other offices of your company or client sites
Monitoring systems, for example if you were a maintenance man doing routine system checks in a factory, it allows you to easily interface at each check point
Going beyond the peer-to-peer use of Bluetooth there is what is called BlipNet used in enterprise scenarios, more about this later
Profile Holder - This may be best explained with an example, say you are using your buddies gaming console that is Bluetooth enabled you can upload your saved games and download your current game. Another example, you visit your local drug store and beam your prescription and once it is filled out you get notified on your phone this allows you to continue shopping without the hassle of waiting inline or trying to decipher what is being said over the PA system.
Provide entertainment during waiting periods, for example waiting in line to buy a ticker for movie you could play Bluetooth movie trivia games, look up facts/reviews to help you decide which movie you want to see and/or possibly opt-in for movie discounts and a chance to win a random price. Who invented Bluetooth? Bluetooth was originally researched and developed by the Ericsson organization and were the ones who named the technology after King Harald Blatand (Bluetooth) of Denmark. Ericsson formed the Bluetooth Special Interest Group. More about Bluetooth is available at http://www.bluetooth.com/ and http://www.bluetooth.org/ . Definitely checkout all the products that are Bluetooth enabled, this definitely will if not already provide plenty of opportunity for us developers to make some innovative applications. Technical Background Okay now onto some the technical things you need to know about Bluetooth some of which was mentioned earlier:
30 Feet Range (Exception Bluetooth Class 1 has 300 feet range)
1 MB/s
Capable of transferring voice
Low power consumption
Omni-directional radio signal
2.4 Ghz-2.482 Ghz
3 different classes (Class 1 100 meters, Class 2 20 meters and Class 3 10 meters)
Bluetooth Protocol stack allows you to control the Bluetooth device programmatically, in this case J2ME optional package JSR 82. You will need to familiarize yourself with the Bluetooth stack and what each layers of the stack provide. For example, the following three protocols (sub-protocols under Bluetooth) RFCOMM (stream data), L2CAP (packet data) and OBEX (object data) provide you methods of transmitting data
Bluetooth Profiles - defined functionality for Bluetooth such as Fax Profile that enables a Bluetooth device to send a fax via Bluetooth fax machine. These profiles may seem similar to the J2ME profiles but they aren't. It isn't an add-on to J2ME but rather an add-on to Bluetooth. Bluetooth profiles can be implemented in other languages like C/C++.
The network between Bluetooth enabled devices is called a PAN, which stands for Personal Area Networks. A PAN can be a piconet or scatternet, where a piconet is when there is one master and several slaves. A scatternet consists of 2 or more masters and several slaves, in other words one of the Bluetooth devices is both a master and a slave, see illustration below:
Extra side note Bluetooth ranges can be extended/detected beyond the assigned standard, checkout http://www.wifi-toys.com/wi-fi.php?a=articles&id=21 and http://www.bluedriving.com/. Bluetooth and J2ME / JSR 82 Like other extended APIs/libraries to the J2ME world we have one for Bluetooth the JSR 82, http://jcp.org/aboutJava/communityprocess/final/jsr082/ . To start developing J2ME application/games you can download the Wireless Toolkit 2.2 (currently still Beta at the time of this writing), which includes the JSR 82 and two Bluetooth demos with source code. One of the demos is a picture sharing program, there isn't anything special you need to do aside from enabling the JSR 82 API, in the WTK go under the settings and make sure the check box for Bluetooth/OBEX for J2ME (JSR82) is checked off. Afterwards start to instances of the program (one as a slave/client and the other as a master/server) the reset of it is self-explanatory. You will see an image being passed from one device to the other.
Beyond Peer-to-Peer Going beyond the peer-to-peer / piconet environment and into the realm of enterprise Bluetooth applications. Enterprise Bluetooth environment major advantages over non-enterprise are:
Ability to handle more then 7 connections
Larger range, class 1, 300 feet
Session Management
Centralized server Situations where enterprise Bluetooth would come in handy are:
Opt-in advertising campaign in highly dense communities/populations such as a mall, sporting venue or conference. This leads us to the vast world of CRM and and customer loyalty.
Tracking employees and security monitoring large events such as large amusement park or airport
Providing useful information in large condensed areas like amusements parks, provide information such as which restroom/restaurant/amusement ride is available with the least occupancy. Where is the nearest gift shop or where is the medical center? Possible provide advance bookings similar to what you find in Disneyland the "Fast-Pass" concept. Bluetooth enterprise is really just an extensions or interface to larger a system, just like a person would approach a kiosk or terminal that is hooked up to a larger computer system you would have Bluetooth nodes dispersed throughout the desired area; where each node has the ability to connect to a hundred or more Bluetooth clients. The nodes themselves are connected to a Bluetooth server (not really running Bluetooth connectivity but instead either hard wired connection or wireless WI-FI connection), this Bluetooth server itself is connected to the enterprise system. Below is a diagram of example of this:
Challenges
Not all devices have Bluetooth and even if the device is Bluetooth enable it may not have JSR 82 profile implementation. As well you need to beware of the which Bluetooth profiles themselves are implemented such Fax, Serial, OBEX …etc
Some wireless operates/carriers do not see the value in Bluetooth because they see it as non gain in revenue since data packets are not delivered across their network, for example Verizon has apparently crippled the use of Bluetooth on some the devices, see the following link for more information http://www.nuclearelephant.com/papers/v710.html
Referring to the last point on Verizon's claims for blocking the use of Bluetooth is for security purposes. This does have some merit considering a lot users are not aware that their devices have Bluetooth let alone users turning off or filtering their Bluetooth options. This in turn opens doors for possibly having your mobile handset hacked into and gaining access to sensitive data. Another hack scenario is similar but may not be as affected as WiFi because of limitation in distance but a person with a Bluetooth device maybe able to steal sensitive data from a company if the proper security pre-cautions are not in place. But probably more then likely you can be spammed with advertisements this is sometimes called being BlueJacked. Now that the threat of mobile viruses is real ( http://www.cnn.com/2003/TECH/10/15/itu.security/ ) this is or will soon become another concern in the wireless world.
Consumers - this maybe hard to believe as most of us technically inclined people have heard or/and own Bluetooth devices and yet there seems to be a lot people who don't know what Bluetooth is. Even consumers who have heard about Bluetooth they are not sure what it really does or they think its just another way to synch their data via PC and mobile device. Telling consumers your application is Bluetooth aware/enabled may not help you it may just confuse the consumer, further education of consumers maybe needed for successfull sales of your application/game.
As of lately some people of gained some uncertainty of where Bluetooth is heading towards with the recent new that Ericsson has discontinued the development of Bluetooth. There are arguments for and against if Bluetooth will it be around in the 10 years. You will definitely need to do some research here! Personally I don't think its dead, take for instance this headline that reads "Bluetooth® Wireless Technology Reaches Three Million Shipments per Week" ( http://www.bluetooth.com/news/sigreleases.asp?A=2&PID=1352&ARC=1&ofs= ), there are still are plenty of supporters and manufacturers of Bluetooth devices.


Summary


Well hopefully you have a better grasp of what Bluetooth is and all the potential opportunities there are in developing applications using Bluetooth. Stay tuned for the up coming article where we dive into the code of a simple Bluetooth J2ME application. Where we dive into the detiasl of how to do the following: device and service discovery, service registration and the actual communcation between Bluetooth devices.
Hi,

This article goes into a little more detail how to create a Bluetooth server and client.
About the Example
In keeping things simplistic as possible proper handling of multiple slaves/clients is not implemented essentially it only works with one server and one client. As well the sample is just that sample code, it is coded from the perspective of getting the two nodes to communicate with each without any real effort in "proper" coding technique/design. Remember the focus is to get you started with the actual Java Bluetooth API.
Before we continue you should download the JSR 82 Java Doc API from http://jcp.org/aboutJava/communityprocess/final/jsr082/ . Familiarize yourself with the available classes and get feel where things are. We won't go into every single class or explain every single detail mainly because the Java Doc does a good job of this already.
This demo includes three source files / classes:
BluetoothEchoDemo.java - The main driver that allows you to start a client or server
EchoClient - The client class
EchoServer - The server class
This example uses RFCOMM for transferring data the other two options are L2CAP and OBEX. In short RFCOMM is used for streaming data, L2CAP is for packet data and OBEX is for object data.
Client Overview
Let us start with the client, the first thing we need to do is to determine what Bluetooth devices and services are there around us. First get the local device and obtain the discovery agent.
LocalDevice localDevice = LocalDevice.getLocalDevice();
discoveryAgent = localDevice.getDiscoveryAgent();
Now to start searching for Bluetooth devices within the area use the startInquiry method from the DiscoveryAgent class.
discoveryAgent.startInquiry(DiscoveryAgent.GIAC,this);
DiscorveryAgent.GIAC stands for "The inquiry access code for General/Unlimited Inquiry Access Code" refer to the Java Docs for the other inquiry access code definitions.
Now with the use of the Discovery Listener you have available to you 4 call back methods. As defined in the Java Doc they are:
That is it for the discovery part! It really is that simple. Now with these calls being triggered you can obtain device information, service information and with that make the appropriate data transmission/communication with the Bluetooth server. (see source code)
In the deviceDiscovered method we obtain some device info which are more or less self-explanatory. Except for the Major and Minor classification, these two attributes let you know what type of device it is. The following is an incomplete sample of the Major and Minor definitions, for a complete list visit www.bluetooth.org . When you run the program you will notice it outputs Major 512 and Minor 4, according to the chart it is a Phone / Celluar.
In the servicesDeiscovered method you can obtain the respective URL needed to open a connection to the available service(s).
for(int i=0;i
Now that you have the url, you can send data through the standard Generic Connector.
String msg = "Say Hello World";conn = (StreamConnection)Connector.open(serviceUrl);OutputStream output = conn.openOutputStream();output.write(msg.length());output.write(msg.getBytes());output.close();
Server Overview
In the server class we need to initialize once again but this time instead of searching for devices we need to setup a server
private static String serverUrl = "btspp://localhost:" +BluetoothEchoDemo.RFCOMM_UUID + ";name=rfcommtest;authorize=true";...conn = null;localDevice = LocalDevice.getLocalDevice();localDevice.setDiscoverable( DiscoveryAgent.GIAC );notifier = (StreamConnectionNotifier)Connector.open(serverUrl);...
Now make a connection with the same Generic Connector you use when making HTTP calls. The url definition is as follows:
scheme://host:port;parameters
Now wait for a client response, this pauses the thread until it receives something.
conn = notifier.acceptAndOpen();
Once a client responds read the data in and send back a message
// Read Data TransmissionString msg = BluetoothEchoDemo.readData(conn);System.out.println("Received Message from Client: " + msg);// Send Back a Messagemsg = "Hello Back from Server";output = conn.openOutputStream();output.write(msg.length()); // length is 1 byteoutput.write(msg.getBytes());output.close();
Running the Example
Download the source and compile from here.
You will need to invoke the Sun WTK twice because the outputs are displayed in the consoles. Start one instance and select Server, then start a second instance and select Client (Yes you need to start 2 instances of the WTK not just simply hit the "run" button twice on the same instance because the console of the first instance will not show). Like HTTP calls you may need to answer yes for connections being made.
In the end you will see the following in the server console:
Starting Echo ServerServer Running...Received Message from Client: Say Hello World
In the client console you will see:
Device DiscoveredMajor Device Class: 512 Minor Device Class: 4Bluetooth Address: 000060854FBFBluetooth Friendly Name: WirelessToolkitInquiryCompletedServicesDiscoveredSERVICE_SEARCH_COMPLETEDService URL: btspp://000060854FBF:1;master=false;encrypt=false;authenticate=falseHello Back from Server
Summary and What is Missing
You should be able to make a basic RFCOMM communication between a Bluetooth client and server. However, even though we went through a lot detail there are still details that were left out or not mentioned. Now that you have a better understanding of Bluetooth with J2ME you need to dive deeper into the following:
An understanding of Service Discovery Database (SDDB)
A more in depth look at UUIDs and other Data Elements
Understand what a Service Record is and what it does
Understanding the relationship between SDDB, Service Record and Data Elements
As a recap the example in this article the primary goal is to give you an introduction to setting up the communication between a master and slave. Rather then jumping into a full example and getting over whelmed this sample code layouts out the bare bones. Along with more research into the APIs and review of more complete samples of Bluetooth you will be on your way to making some exciting new Bluetooth games/aplications. More complete examples are available with developments kits such as:
BluetoothDemo comes with the WTK 2.2 Beta (Sun)
BluePad comes with the SDK from SonyEricsson
BlueToothCar comes with the SDK from SonyEricsson
Samples that comes with the Rococo Software SDK
Hi,

Here are some of the resources to get you started with Bluetooth software development

Development Kits
http://java.sun.com (Wireless Toolkit 2.2 Beta includes JSR 82)
http://forum.nokia.com (Nokia Developer Suite 2.2 includes JSR 82)
http://developer.sonyericsson.com (J2ME SDK 2.1.4 Beta includes JSR 82)
http://www.atinav.com
http://www.rococosoft.com
http://www.esmertec.com
http://www.smartnd.com
http://www.oi-us.com
Hello everbody,

With this blog, i wish everybody gets everything on bluetooth "under one roof".
Bluetooth tutorials,Bluetooth specs,Bluetooth devices,USB,Kiosks,Bluetooth softwares,Bluetooth hardware are some of the things that i would be making sure of - to start with :-)

See you in short while !
Cheers
 
Clicky Web Analytics Blogging Fusion Blog Directory