| |||||||||||||||||||||||||||||||
More Thoughts![]() ![]() ![]() ![]() ![]() Back on the HorseIt has been some time since I tinkered with Moana. I want to look at consolidating radio networks so need to ensure I can get things running smoothly before I start. It wasa godsend labelling all the xbee hardware, saves a lot of time! Where we are:
Next tasks:
Consolidating XBee NetworksCurrently we have two Xbee Networks:
These systems have been built in isolation so currently use 4 XBees in two point-point pairs. Ideally we only want one network so the goal would be able to send everything over the same channel. If we made a star-network, where the XBee on Moana was the hub, it could commincate back to the laptop and also receive remote GPS updates. With Series 1 XBee, I believe this can be achieved using point-to-multipoint topology. I just need to ascertain how to set this up and ensure we can have a star-to-point and point-to-star communication rather than a broadcast network. To keep network traffic down, the RemoteGPS communication may need to be an reuest/response rather than a periodic push from the RemoteNode. XBee in API modeAfter a bit of investigation, I see there are a couple of options available to me (with the Series1 XBees I am using). It would be possible to continue using the XBees in their transparent (AT) mode and put an addressing protocol around each message (eg [ADD1]message or [ADD2]message). We just broadcast each message and need to filter out the messages we need. A second alternative is to change the XBees to run in API mode. This wraps everything in a frame packet and handles the protocol for us. It will be a bit more complex and probably require libraries to extract the data from the packets. If such libraries exist for the arduino, then all there is a bit of a learning curve. If I need to write them myself, it may be better to stick with AT mode and a custom protocol. It may also be ononous if I am using the arduino logging terminal as I just want raw text, not binary packets although a wrapper function could be used in Serial.print(). It appears we could set up moana as a 'co-ordinator' node and the remote GPS and laptop as 'endpoint' nodes. As part of the protocol, each can send to a specified address or broadcast using FFFF. Radio ControlShould I ever need it, it would be possible to use a standard radio-control handset and receiver and wire it into the XBee handler on Moana. We could also intercept a button press to switch to autonomous mode. This may be useful for safety reasons, being able to take control of the machine at a distance in case the XBee went out of range. August 2020 | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||