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.
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.
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.
Shields can be used as a quick, easy and neat way to connect Xbees to the Arduinos. Again, two will be required.
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.
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.
- Standalone (no local network required)
- Range + Power is appropriate for application.
- 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.