Short Range Networks Mark Green School of Creative Media
Introduction WiFi allows mobile devices to connect to the Internet It’s a shared medium and requires reasonably expensive hardware Would like to have something that is much cheaper and works over a much shorter range Replacement for wires, allow my things to work together
Introduction We now carry multiple intelligent devices, want to connect these devices to headphones, microphones, etc Don’t want to have wires between all of these things Want them to connect automatically Want to have more intelligent ways of identifying ourselves
Introduction Look at three technologies that provide some of these things: 1. Smart cards 2. RFID 3. Bluetooth All three are now widely available and in use today Could have some interesting artistic / media applications
Smart Cards Look like a regular credit card or ID card, but contain a computer chip There are several versions of this technology, depend upon the sophistication of the chip By itself the smart card isn’t intelligent, it doesn’t have any power to run its chip Chip gets its power from the reader
Smart Cards Reader broadcasts a radio signal, very short range (think of the Octopus readers) Chip gets its power from this radio signal Radio signal also used to communicate with the chip, this is the network part Some smart cards are mainly memory The reader can read and write the contents of various memory locations
Smart Cards The smart card could contain ID information in one of its memory locations The reader could use this information to determine if a door should be unlocked Other locations could hold the amount of money on the card When you make a purchase, the amount of the purchase is deducted from the card
Smart Cards Could also be used to keep track of the station where you got onto a train, etc Have a limited amount of memory, usually less than 1 KByte Some smart cards also have some processing ability This could be used for extra security, make sure that only the appropriate readers can change it
Smart Cards Processor could also be used to implement part of the application, do some of the calculations The smart cards themselves are very cheap, most of the technology is in the reader Works well for storing limited amounts of information
RFID Same basic idea as smart card, but smaller and cheaper Restricted to memory only, no processor Some are read only, others are both read and write Very small amount of memory, at most a few hundred bytes
RFID Early RFID devices had batteries, can have a longer range The current movement is towards cheaper units with no batteries Want to have units in the $1 (HK) price range or lower Aiming at an electronic replacement for bar codes
RFID Bar codes are very cheap, but have some problems There must be contact to read them, usually requires a person The bar code must be visible and cannot be exposed to severe conditions Want an ID mechanism that can be read remotely, automatically and in many conditions
RFID New ones can be embedded in paper labels, or money (new US $20 bill) Very thin, don’t take up much room Main application is tracking packages and products Move to have RFID tag embedded in every unit of clothing produced, be able to track the product in the store
RFID
RFID
RFID Can also be used to identify genuine products from fakes There are some privacy concerns If the RFID tag is embedded in clothing, can track the person wearing the clothes Can be used to spy on people, or keep track of their locations You wouldn’t be aware of this
RFID Why should we be interested in this? Normally the readers are in a fixed location, and the tags are on things that move But, what if it was the other way around? We attach the tags to places in the environment, we can record where each tag is, or possibly store it in the tag
RFID The reader is now portable, attached to a phone or PDA As we move through the space, the reader will detect different tags, this will tell us where we are For example, a tag attached to a store display could trigger the download of information to our phone or PDA
RFID A tag on a display at a museum could identify the exhibit, and we could download information on it It could also be used as part of a game Need to find all the items or locations before the other players Once a tag is found, it could be removed from play to make the game more difficult
Bluetooth Original aim was to replace wires Devices are connected using wires, usually at least one wire for each device At home this is okay, but for mobile applications this can be a problem What happens if you lose or drop one of the wires? Trip over them! With several devices, need to keep all of the wires straight
Bluetooth Produce a wireless technology that allows devices to be connected Want to connect multiple devices, previous approaches were restricted to one device at a time Want something that is easy to use and cheap Want to turn the device on and have it connected
Bluetooth WiFi is a possibility, but doesn’t really solve the problem Need to manage IP addresses and it is relatively expensive Want something in the $100 HK range or less, this isn’t possible with WiFi Work on the Bluetooth standard started 5 or 6 years ago, now becoming popular
Bluetooth Bluetooth is based on a few simple ideas: Device and service discovery Device and service discovery Personal area networks Personal area networks Dynamic network management Dynamic network management These features make the Bluetooth standard fairly complex One of the reasons why it took some time to develop, need to have custom chips
Device Discovery Always looking for more devices to connect to Periodically look to see if there are new devices, and what these devices can do Don’t need to tell computer/phone to connect, it will do it automatically Usually takes 5 to 10 seconds to find a new device, may be quicker if device isn’t busy
Service Discovery Once a new device is found, can determine what that device can do Can determine if it is a piece of hardware, like a printer or headphones Can determine the services it can provide, like connection to the Internet, modem, printing, etc User doesn’t need to configure, can be done automatically
Device and Service Discovery
Service Discovery
Each device provides some services, some may be very specialized Example: headphones may only provide an audio service A USB Bluetooth dongle on a computer could provide a large number of services, 7 or 8 Phones and PDAs typically have a small number of services
Service Discovery Devices tend to be either providers of services or consumers of services Devices advertise the services that they provide, so other devices can find them When a device wants a service it must actively look for it, the discovery process Connection is made when the service is found
Personal Area Network More than a device-to-device connection Devices can form their own network, up to 7 devices on a network A device can belong to more than one network One device is the master, controls the network, the others are slaves Master device can change dynamically
Personal Area Network Concept: computer/phone will form the center of a personal network, will move with you All your devices will be connected, be able to work together PDA can connect to Internet through mobile phone, PDA can dial the phone and connect to ISP, don’t need user to set it up
Dynamic Network Management Devices can come and go, don’t need to connect and disconnect them Devices can reconnect automatically Breaking a connection is not a serious problem, can easily reconnect when the device comes within range again Different from Internet where a disconnect is a serious problem
Dynamic Network Management Most Bluetooth devices are fairly short range, 10 meters at the maximum This works well for a single room, or when walking around Some devices have a range of 100 meters, this is more common for services like printers or network access points Can be shared by several people
Privacy If all of this information is flowing around can’t other people see it Just bring a Bluetooth device close and listen in This is hard to do without being detected Unlike most other wireless technologies, Bluetooth doesn’t use a fixed frequency Switches frequencies rapidly
Privacy Bluetooth uses the 2.4GHz band, same as WiFi and other wireless devices Bluetooth divides this band into many channels (around 80, depends upon the region) Since other devices use this band, could get interference, the interference could change as the user moves
Privacy To solve this problem Bluetooth devices change frequency many times per second If one frequency is busy, the next one is probably free This increases the reliability of communications, conflicts with other devices only occur for very short periods of time Also increases security
Privacy Master determines the frequency pattern, informs the slaves To other devices this pattern appears to be random This allows several Bluetooth networks to operate in the same area, won’t interfere Other devices can’t snoop without informing the master
Privacy Any new device must ask the master for the frequency pattern, otherwise won’t receive the data This device will then join the network, but we will know about it We will know if its one of our devices, or someone trying to listen to our conversation
Bluetooth Now becoming common on mobile phones and PDAs Wider range of devices that use it USB Bluetooth adaptors are available for PCs, and their prices has been dropping lately I bought one several years ago and it was close to $500, now they are less than $200
Development One of the current problems with Bluetooth It is relatively easy to develop Bluetooth applications for phones and PDAs, developer resources are freely available It is also fairly easy to do for Linux, several free Bluetooth stacks are available on the Internet (I’ve tried several)
Development The problem is with desktop Windows systems At the present time Windows has very limited support for Bluetooth development Claim is that XP will support it, but support is very limited Only a small number of Bluetooth adaptors are supported
Development Current Windows XP Bluetooth support is client oriented It provides only a few services, so it is not particularly useful Developers can add services, but this can take a far amount of work Commercial packages provide a wide range of services, so Microsoft could do this
Development To use Windows XP Bluetooth you need to have service pack 2, this is still in development I tried this on one of my computers It would only support one of the two adapters that I have, this seems to be typical It seems to support the more expensive adapters
Development I tried to use the Windows XP Bluetooth API, with some success It is quite primitive, it is divided into two parts: 1. Discovery and service management 2. Communications between devices The two parts don’t seem to work well together, so development is difficult
Development The only real solution for Windows desktop development now is to use a third party package This is quite expensive An alternative is to use Linux Linux Bluetooth support has improved greatly over the past few years This is the best alternative
Development Bluetooth is now part of standard Linux distributions, a few years ago you had to add it yourself Comes with the standard applications for connecting with devices, very similar to what adapters provide for Windows It also comes with a reasonable library so you can develop your own services
Development Like all of Linux, the source code for the Bluetooth package is available, so you have examples Still not a lot of documentation for developers Bluetooth support based on a sockets extension Sockets are the standard mechanism for programming Internet applications
Development A lot of the standard techniques used to develop network applications can be used to develop Bluetooth applications This save some learning time, and can copy existing code In my opinion at the present time Linux is the best platform for the development of Bluetooth services
Services What types of additional services would we like to have? Most of the existing services are based on wire replacement, simple connections How can we take advantage of Bluetooth’s capabilities? Build ad hoc networks, set up quickly, last for a short period of time
Services Two ways of looking at this: Static networks, join and leave as you move through the space Static networks, join and leave as you move through the space Dynamic networks, move with you, membership can change over time Dynamic networks, move with you, membership can change over time With short range Bluetooth have a range of about 10m, know approximately where the user is
Services One application is local based information services, such as museum guides When user comes close to an exhibit connect to a local server, get information about the exhibit In a store can get information on items on sale, product information for items close to you
Services What about larger areas? Can use long range Bluetooth, up to 100m, but restricted to 7 devices Can cover a large area with multiple short range devices, coverage can overlap Interaction with a concert or performance, audience participation using mobile phones or PDAs, influence the performance
Services Dynamic networks, really can’t use a server, mobile devices need to connect to each other, coordinate themselves One possibility is games, short multiplayer games, group of people traveling together on bus or MTR Example: race games, people randomly connect and have a short race