I have been working on setting up the UDOO x86 Ultra while everyone else has been working on the chassis.
Setting up the software on the UDOO came with its fair share of problems. The robot runs a number of programs and scripts, mainly Apache web server to serve the control website, and a number of python scripts that control servos, system information and streaming video.
I mainly set it up based on Jack’s extremely helpful albeit out-of-date write-up, available here: https://www.sfxrescue.com/developmentupdates/day-forty-nine-batview/
I will write a new document based on Jack’s, with all the changes that have been made since. You can look forward to that magnificent piece of work in a future blog post.
The main issue I had was when setting up the networking. Initially, when I was installing Ubuntu Server (whilst not connected to any network), I had issues where whenever I rebooted it would try to connect on the Ethernet port for five minutes before I could do anything, even when I had it plugged into the Ethernet port in the office. I think the Ethernet port in the room is broken, but I can’t say for sure, but probably. I took it home, plugged it into my router at home, and had no issues.
I started porting over all of Jack and Ryan’s code, mainly Jack’s web server stuff. I had issues installing ShellInABox, which is the web based SSH client. It ended up being an issue with it trying to use SSL. Setting a disable SSL flag in the config file fixed that problem. I played around with the performance data scripts, and ended up heavily rewriting one of the scripts so it retrieves data such as CPU temps and usage directly rather than grabbing a large dump of values and filtering through them with string operations.
Naturally when I took everything back to school, we could not get the network stuff to work. It couldn’t connect to the Xirrus, which is an unrelated problem that we are fixing with Alex, and the Ethernet wasn’t working. And we didn’t have antennas so we couldn’t connect to WiFi further than a meter or two away.
I still couldn’t get WiFi to work, even with a USB adapter rather than the PCI card. I ended up installing NetworkManager, a handy alternative to Ubuntu’s built in networking. It includes a basic UI (nmtui) which also has the added bonus of allowing us to connect to a network in a more familiar step by step way (scanning for networks, entering PSK, etc) rather than having to hard-code values and addresses in a text file.
Today Kyle and Ben got antennas from the IT folks, so we finally connected the UDOO to the network at school. We still have to sort out the Xirrus, but at least I can start work on either the cameras or servos.
Speaking of cameras, Mr. Crane picked up some cheap Logitech webcams on the way home the other day, so we have some basic cameras to do a proof of concept on, before we spend a couple hundred on out good cameras which Ben will cover in a blog post soon.
Servos are going well, they are rather intuitive to use, as they can be daisy chained and assigned IDs through python very easily. I’ll be working on rewriting the control script very soon.
I think that covers a fair bit, so until next time, peace.