Conference Talk: Underwater Acoustics to Opkg, via The Yocto Project

Note

As this talk was delivered at FOSDEM 2014, the abstract and video are licensed under the Creative Commons Attribution 2.0 Belgium License.

Video

Abstract

Underwater noise produced by human activities in the ocean is a serious problem for marine mammals and fish. To produce the data needed to address this problem, an underwater noise monitoring device (the UDAQ) and a software toolkit for noise analysis (named TUNA) has been developed. Both of these components act as open platforms for the further development of noise monitoring and analysis methods. An initial prototype of the UDAQ platform has been produced using a Beagleboard xM single board computer along with an appropriate analog-to-digital converter, preamplfier, battery pack and pressure housing.

The Beagleboard xM runs a custom Linux image producing using the OpenEmbedded build system.

The first half of this talk will focus on how OpenEmbedded has been used in the development of the UDAQ platform and how the unique challenges of developing software for a device that must operate unattended in the ocean for long time durations have been addressed. These challenges include the fact that sending an engineer to fix a device requires hiring a ship, giving some of the most expensive call-out rates of any industry! The abilities of OpenEmbedded to tightly control what software is executed on the device and to provide updates from a customised package feed are critical in this application. As this platform is designed to be open and customisable for further research, the ability to produce a cross-development toolchain for other developers to use is also a great benefit.

The second half of this talk will discuss how I began contributing patches to OpenEmbedded due to its use in the above project and how I've became maintainer of opkg, a package manager for embedded Linux. This is the default package manager for both OpenEmbedded and OpenWRT and is also used by several other projects and is a fork of the older ipkg package manager. Development had slowed down due to the maintainer having other time commitments and so I stepped in around August 2013 and have been reviving the project. It has recently seen many new patches and bug fixes and is again attracting active development. The history, current status and future directions of opkg will be outlined and opportunities for people to contribute to this project will be highlighted.

Slides

I believe these are lost to history, but I will add them here if I ever find them.

Thanks for reading!

Except as otherwise noted, all content in this post is Copyright 2012-2023 Paul Barker. Words and images may be re-used for non-commercial purposes under the CC BY-NC 4.0 license and code samples are made available under the Apache 2.0 license.