Presented by

  • Christopher Biggs

    Christopher Biggs
    @unixbigot
    http://christopher.biggs.id.au/

    Christopher Biggs has been into Open Systems since the early 90s and was there pitching-in at the birth of Linux and 386BSD. His interest in electronics and connected devices goes back even further. Christopher’s career encompasses software development, system architecture and engineering management. Christopher is now the principal of Accelerando Consulting, a boutique consultancy focused on the Internet of Things, doing truly full-stack Linux from chips to cloud. Christopher is convenor of the Brisbane Internet of Things interest group, and was a founding member of HUMBUG, the Brisbane open systems user group. He has presented at conferences and user groups around Australia and internationally. In his spare time he builds and blogs robots with his three children, and adds to the growing Internet of Things.

Abstract

You've hopefully heard of Linux, but have you heard of Tux's protege, Zephyr? Zephyr, a Linux Foundation project, is a real time operating system targetted at computers too small to run Linux. Zephyr aims to bring the Linux Effect to remote sensing, building automation, industrial control, and more. There've been a number of Zephyr talks at LCA in the past, but I want to focus on the practicalities of developing and testing an IoT solution running Zephyr, with help from Linux. Many of my projects involve zephyr devices that use Bluetooth, LoRa or 4G NbIoT and aren't directly reachable from the internet for debugging and upgrades. So when we're in the early stages of field testing a Zephyr device, we send a Linux box along as a Troop Leader to look after the zephyr scouts. This presentation will begin with the practicalities of getting started with Zephyr---picking a board that is easy to use and getting you over the hump of beginning development. The first few times I tried Zephyr, encouraged by previous LCA speakers, I gave up in frustration, but eventually it "Clicked" and I want to share the tips and gotchas I've learned that will save you frustration. Next, I will cover how I prepare an embedded linux system for remote cellular access in the field (working around Telstra's frustrating use of multiple layers of NAT), and use this linux system to monitor and upgrade zephyr-based sensors during the test phase (SPOILERS: we use SaltStack, ZeroTier and MCUmgr to provision a Raspberry Pi to be a VPN gateway to the Zephyr devices under development). As an example, we'll discuss a feral animal management solution that really does involve a Zephyr device (and sometimes its Linux troop leader) sitting in a tree, observing and photographing animal behaviour.