Communications
Posted on Tuesday, 30 October 2012
|
No Comments
This system involves controlling the robots through a
smartphone and notifying the games master when game events happen, such as a
robot being hit, game start/stop etc.
OUTLINE OF COMMUNICATIONS LINKS REQUIRED |
Different
communication options and configurations were considered in terms of cost and
ease of implementation.
Chosen Design
It was decided
to use Wi-Fi as the main communications technology due to ease of
implementation, as there are small modules available called Xbees. These
modules interface easily with the Arduinos, and allow two-way communications
over IP. There is much documentation
online about using these devices, and most of the group has some experience
with network programming so this was a clear choice.
In terms of
configuration, it was discussed and a preliminary design is to use the games
master as a server, so the smartphones communicate with that, and then that
passes on the commands to the robots. This keeps the data streams tidy, and
means that the Arduino programming has to only deal with one recipient/transmitter
rather than keeping track of two devices.
It should be simpler to deal with this functionality in the games
master. A block diagram of this
configuration can be seen below.
DIAGRAM OF CHOSEN CONFIGURATION |
It is worth noting that while the wireless connections are described as 'Wi-Fi', the Xbees that are used use a protocol just below Wi-Fi in the OSI stack.
Components
The main components required
are Xbee modules. We would require two
of these; however our lecturer has indicated that some may be available from previous
year’s projects.
XBEE MODULE |
Price: £27.84
Shields can be used as a quick,
easy and neat way to connect Xbees to the Arduinos. Again, two will be required.
XBEE SHIELD |
Price: £16.80
Other Options
Suggestion 1
This was to replace the Wi-Fi
connection with Bluetooth. This would be
made possible as smartphones have Bluetooth built in, and a module attached to
the Arduino.
BLUETOOTH CONFIGURATION |
An example Bluetooth module is:
- Name: Bluetooth Moto Silver
- Price: £26.94
However controlling Arduinos straight from smartphones is not particularly simple, and using iOS is not possible without jailbreaking. There has been some success reported using Android (http://myrobotlab.org/content/connecting-android-phone-arduino-using-bluetooth) however there are not two Android smartphones available within the group. In addition to this we would need to connect the Arduinos to the Raspberry Pi via Bluetooth, which could cause issues with multiple streams etc.
Advantages:
- Standalone (no local network required)
- Range + Power is appropriate for application.
Disadvantages:
- Inexperience with Bluetooth protocol gives uncertainty as to ease of implementation
- Could be expensive compared to Wi-Fi, as ZigBee modules possibly already available for use.
The last option was to use Bluetooth for control of the robots, and Wi-Fi used for game events. This was dismissed due to the need to have both Wi-Fi and Bluetooth available on the robots, leading to a complex and costly design, when one or the other or the technologies would be suitable by themselves.