Embedded, Mobile and Automotive

Building Homebridge with the Yocto Project

UD2.218A
Leon Anavi
Homebridge is a lightweight NodeJS server that emulates Apple HomeKit API. Combined with versatile plugins it allows you to make any device Homekit-compatible. In the presentation you will understand how Homebridge works and how to integrated it in a custom embedded Linux distribution built with the Yocto Project and OpenEmbedded. We will go through the exact steps for leveraging the latest release of Poky, the reference system of the Yocto Project, with systemd, X11, openbox, surf web browser, nodejs, npm, Homebridge and some of its most popular plugins. Only open source software will be used, without any commercial licenses. Practical examples for home automation with Homebridge on Raspberry Pi and the new STM32MP1 development boards will be demonstrated. The end result is an embedded device mounted in rack with a DIN rail that provides simple and user-friendly way to manage and configure Homebridge out of the box. The talk is appropriate for beginners.
Homebridge is a lightweight NodeJS server that you can run on your home network and emulate Apple HomeKit API. Started more than 5 years ago and available at GitHub under Apache License 2.0, Homebridge has a large and vibrant open source community. Multiple plugins allow Homebridge to handle user's requests either via Siri or the Home app and this way to make any device Homekit-compatible. Raspberry Pi is the perfect platforms for hobbyists to install a local Homebridge instance. However, the installation of Homebridge on Raspbian requires numerous steps and despite the excellent tutorials, users without previous Linux experience face difficulties. Another disadvantage is that Raspbian is available only as 32-bit images which doesn’t use the full capabilities of the ARMv8 64-bit processors on Raspberry Pi 3 and 4. The Yocto Project and OpenEmbedded provide all required tools to create a custom Linux distribution that out of the box offers user-friendly experience for configuring Homebridge in just a few easy steps. In the this presentation we do a code review of meta-homebridge Yocto/OE layer and we will walk through the exact steps for creating a lightweight Linux distribution with graphical user interface and a web browser that acts like a kiosk. We will integrated and configure popular open source software tools such as the Linux kernel, systemd, X11, openbox, surf web browser, nodejs, npm and of course Homebridge. Thanks to the meta-raspberrypi BSP Yocto/OE layer we will be able to unleash the full power of Raspberry Pi 3 and 4 by building 64-bit images. At the end of the presentation demonstrations and tips for making an embedded device mounted in rack with a DIN rail will be shared. We will also mention the new STM32MP1 industrial grade development boards as alternatives of Raspberry Pi for this and similar projects in the maker community. This talk brings benefits to the ecosystems of several open source communities. It will spread the word about Homebridge and significantly improve the getting started experience for user. Practical examples for using the Yocto Project and OpenEmbedded for makers will be revealed. As part of the development efforts for meta-homebridge Yocto/OE, a couple of new recipes, surf (simple web browser) and stalonetray (X11 system tray), have been contributed to the upstream of meta-openembedded. The talk is appropriate for beginners. No previous experience is required. Hopefully, this presentation will encourage the audience to try out Homebridge and leverage their knowledge about the Yocto Project and OpenEmbedded with the example of this real-world entirely open source project.

Additional information

Type devroom

More sessions

2/1/20
Embedded, Mobile and Automotive
Thierry Bultel
UD2.218A
This presentation deals with the integration of Julius Speech Recognition Engine. The aim of this Proof of Concept is to have a connectionless speech engine, working on an embedded device, integrated as a binding of the AGL Application Framework. The recognition uses Deep Neural Network realtime decoding, and for safer results and performances purpose, uses a grammar. Julius does not support wakewords out of the box, some hacking has been done to enable it in an efficient way. Tests have been ...
2/1/20
Embedded, Mobile and Automotive
Elisa Nectoux
UD2.218A
IP video intercom systems combined with smartphones can leverage regular RTP/SIP VoIP technology to offer a new set of services to end-users: getting a notification when visitors press the door bell, seeing them on video before answering the call, interacting with them via voice and video and deciding to open the door, at home or anywhere else via wifi or 3G coverage. Linphone (a SIP user-agent) and Flexisip (a SIP proxy server) can be integrated into IP video door phones, in-house panels and ...
2/1/20
Embedded, Mobile and Automotive
Jose Luis Rivero
UD2.218A
In FOSDEM 2013, Open Robotics introduced an overview of the Robot Operating System (ROS), an open software integration framework for robots created in 2007. After more than a decade of great success, powering from Robocup teams to NASA robots in space, ROS2 was born to break any limitation detected previously by roboticians all around the globe. It's an exciting time. This talk will explain the design changes and technical motivations that lead to the creation of ROS2 giving a quick overview of ...
2/1/20
Embedded, Mobile and Automotive
UD2.218A
Bosch has open sourced a true zero-copy middleware for inter-process communication on modern robotics and vehicle computers. The shared memory based solution is compatible with Linux/QNX and achieves data independent communication in constant time without serializing data. We would like to present our recent development towards an open-source release and demonstrate our performance and timing benchmarks on a privately developed embedded robot.
2/1/20
Embedded, Mobile and Automotive
Guillaume Vier
UD2.218A
When printed circuit boards come out of the assembly line, a test fixture is required to perform functional testing and program the firmware. These fixtures, called bed of nails, are sturdy setups usually built for high volume production, and can be quite costly. The goal of this talk is to describe how you can build your own low cost fixture with basic PCB design skills and off the shelves components.
2/1/20
Embedded, Mobile and Automotive
Michael Schloh von Bennewitz
UD2.218A
In this half hour we study aspects of physically and cryptographically secure hardware (often termed secure element or SE) and the integration into existing circuits. We illustrate utility of such integration by inspecting a cryptocurrency wallet design, and explain the difficulty presented by nondisclosure agreements (NDA) common to industry closed adversaries. We examine several hardware devices, study their parts under a close range circuit camera, and suggest instructions on their use.
2/1/20
Embedded, Mobile and Automotive
Angelo Dureghello
UD2.218A
As soon as you are on Linux you are generally confident with the embedded system, whatever it is. But often the boot process may hide some misteries, and understanding the details may help to recover a bricked board or to upgrade or replace a bootloader. The explained path would start from comparing some different SoC's, passing from the ROM boot loader, static RAM, sdram init, secondary bootloader, and so on, until the last "jump" to Linux. Most common non volatile boot devices would be ...