Technology is something we definitely wanted and needed to be a part of our trip, whether it was just being able to sit back and watch some TV, write blog posts (yes, we really are trying to do that and get caught up!), install new learning apps games on the kids’ iPads, Facebook, and the the all important trip planning.
So with all of that, we needed to figure out how to get all of our devices
connected, not break the piggy bank, and make it easy to use. For the former we created a private wired and wireless (WiFi) network inside the bus. On cost, we decided that we would rely on our two iPhones when we didn’t have wifi from the campground instead of buying a MiFi, though that could come later If Plan A doesn’t pan out – so far so good.
At the house we use MythTV as our
media center which records TV shows over-the-air (OTA) from an antenna and also stores movies. I wanted to bring movies and already recorded shows with us with the added requirements that everyone be able to watch shows on their iPads as well as the TV. This solves the seating arrangement while driving where not everyone can see the TV and also means everyone can watch their own choice of show. MythTV was out because it didn’t have an iPad app and the web interface doesn’t have needed features (read: restrictions) for each of the kids to access shows. XBMC (now Kodi) is great, but the iPad app requires jailbreaking. I’m not against jailbreaking, but it would be another potential complication along the way. Plex showed promise, but many of the critical features wouldn’t work without Internet access, something we wouldn’t have all of the time. I ran across Media Browser that met the requirements:
- No Internet access required for everyday use (only for acquiring metadata, but that would only happen if new video content was added)
- iPhone and iPad clients
- Parental controls and user/group access permissions based on folder, video rating, or tagging.
- Low server CPU requirements, except for transcoding. Transcoding would only be necessary if the video content wasn’t directly playable on the client. For instance, iPads and iPhones won’t play AC3 audio and if that’s the only audio stream in the video it would need to be transcoded. If transcoding needed to be done one low-CPU server then it could cause stuttering while the transcoding caught up. This was easily solved by pre-transcoding all of the video files using Handbrake before putting them on the server.
- Free Roku app, which meant that we could add a Roku streaming stick to our new low power LCD TV. The TV has an MHL port, so I hunted and found the MHL version of the Roku stick. With that, I could use the TV remote to control the Roku instead of having another remote. The stick would also be powered by the TV instead of a separate power supply. Simplicity!
- Runs on Linux, so I could use no-cost software on commodity hardware.
So here is the tech hardware:
- iPad Mini (1st and 2nd generation). Worth mentioning is that we use the NewerTech Nuguard KX cases for the kids’ iPads to protect them.
- ECS Liva PC. It is a low power PC designed for Windows, but runs Ubuntu Linux 14.04LTS just fine. Power is through a micro-USB port, so I bought a $5 power regulator with a ~12v input and a 5v 3A output.
- 256GB flash drive to store video content.
- Linksys WRT-54GL WiFi router. Old design and only 802.11b/g but it runs DD-WRT and Tomato software, is pretty bulletproof, and has an onboard voltage regulator that can take 8-30v in. This is the inside router that provides network to all of the devices. Since its WiFi network name will stay the same, the devices don’t need to be reprogrammed for every campground network.
- Insignia (Best Buy house brand) TV with an external power brick. The power supply provides 12v to the TV, so to run it off of the bus chassis batteries but protect it from the slightly higher charging voltage I used a 12v boost/buck power supply.
- MikroTik Groove waterproof WiFi radio. This is the outdoor antenna that picks up the campground (or wherever) WiFi signal. It is mounted on a fiberglass flagpole outside of the bus. The Groove has a wide input voltage range so it can handle the 10-14v that it may encounter.
- Flagpole mounts and flagpole from FlagPole Buddy. I’m using 3M VHB to attach the FPB mounts to the side of the bus.
In basic terms, the MikroTik Groove is connected by a single Ethernet cable to the PoE (power over Ethernet) injector which plugs into the WAN port of the WRT54-GL. The MikroTik is configured to use VLANs so that one VLAN is the bridged WiFi connection and the other is a local (LAN) connection for managing the MikroTik from the internal network. Yes, this means there is usually double-NAT because the campground WiFi is doing NAT and then my WRT54GL is doing NAT. However, for my purposes, since we’re not allowing inbound traffic and don’t do any port mapping, there haven’t been any issues.
To connect to a new WiFi network, I can use a laptop, iPad, or iPhone and log into the MikroTik and do a wireless scan. When I find the SSID I want then I connect to that. If there is any wireless security then I configure that at this point too. Once the Mikrotik is connected to the wireless network, then I log into the WRT54GL and release/renew the WAN DHCP lease. The WRT54GL also updates OpenDNS with our current public IP address. All of the iPads use their free DNS servers to provide content filtering for the kids’ iPads.