ROVer Robot: Apple TV Remote Integration Part II… the last 10% is always the most difficult!
I didn’t upload a video yesterday… the reason… all the bugs and related challenges that surfaced as a result of trying to do the “contextual”-integration of the Apple TV Remote.
It’s not the remote itself, but the way in which I want to have it work requires a lot more integration between ROVer’s circuitry and logic and the web server. Fundamentally, for the Apple TV remote to be useful, it needs to report back to the web server, in the cloud, but that’s only the half of it – we also need ROVer to keep telling the same server/cloud what he’s up to at any given moment.
I had thought that the status of the individual commands would be enough (i.e. pending, fetched and executed), but no such luck. When ROVer marks a command as executed, he really means that he’s execut-ING… and that command may still be in process… such as in the case of a longer drive. So, we needed a way to know whether ROVer is, in-fact, in standby or wether he’s still up to something.
Well.. we got there… but wow!
It had to do with lots of buffering, on both the Arduino boards (UNO) and the Android tablet so that we could synchronize the communication between the devices that may not working at the same baud rate. We’re only checking-in with the server every 2 seconds (which may sound like a lot), but the boards and Android are working much, much faster, so there are cases were something gets lost in translation, so to speak, and the buffers help resolve that.
Also… a bit of an update on what purchase I’m planning for Black Friday and Cyber Monday so that I can save a few $ as we get ROVer some fancy new upgrades 🙂