Imagine a small team working on an embedded device - it could be a simple light bulb, a security alarm, a set top box or an internet gateway. Their mission is to ship their application on this device. Typically, this team juggles their time between implementing their core application with bringing up a BSP, cobbling together an OTA solution to allow future updates, managing their CI pipeline and “implementing security”.
Many embedded systems are held back by the fact that they use ancient toolchains - often because that's what's provided by chipset makers as part of a BSP. Here's how we solve the problem in the Eclipse Oniro project - and how other IoT/embedded systems projects inside Eclipse can benefit.
The target audience is people working on IoT/Edge/embedded systems projects (including automotive) who want to know about toolchains and crosscompilers for their target devices. There are often better options than using a hardware vendor provided BSP.
Developing IoT systems can be a challenging business. Whether it’s a hobby project or a mission critical system there are tensions in the project lifecycle. You start by wanting rapid access to a new cool device, without the overhead of deep low-level understanding, and later begin to need better rules for managing and controlling your system.
Eclipse sensiNact provides a flexible gateway and runtime for your smart IoT projects. By adding the power of the Eclipse Modelling framework sensiNact 2.0 has evolved. EMF permits sensiNact to use “zero model setup” for rapid development, dynamically discovering the models for your devices, later these models can be exported and reused, providing automatic data validation and transformation capabilities.
AI software and hardware advancements are resulting in a flood of smart interactive devices that can recognize and react to sights, sounds, and other environmental stimuli while executing much of the processing at the edge and so not requiring a constant internet connection. We will report on the activities of the Oniro project to develop a modern AI-supporting operating system that allows for the quick and easy integration of ready-to-use AI components, as well as its ability to interact with other available frameworks such as OpenHarmony and other opensource distributions.
The time to prevent global warming from reaching the 1.5°C threshold is running out. Mobility represents around 25% of Europe’s greenhouse gas emissions and it is the main cause of air pollution in cities, a major threat to urban citizens with adverse health outcomes. Emerging ICT technologies such as IoT, big data and AI can help cities to overcome this challenge and reach EU’s carbon neutrality objective. However, there are still quite few technical challenges to be tackled with to take maximum benefit of those technologies.
ESP32 is a popular low-power system-on-chip(SoC) microcontroller with integrated Wi-Fi and dual-mode Bluetooth, making it suitable for designing and prototyping IoT solutions. As part of this session, I would like to talk about how to build IoT Applications for esp32 using esp-idf(IoT Development framework). As part of the demo, I will use Espressif-IDE, a standalone IDE built on top of Eclipse CDT, and cover the features it offers for the developers.
Real-Time Operating Systems (RTOS) are at the core of several constrained devices. Popular open-source options such as FreeRTOS and Zephyr support a wide range of hardware and provide features such as storage and networking. They also provide integration with wireless technologies such as Bluetooth and NFC. However, many open source projects aim to deliver the same features in a "bare metal" approach. In other words: they deliver frameworks that enable your applications to run directly on the hardware. Given this, which approach is right for your IoT project?
In 2019 I gave a talk about how Rust can help to write safe and efficient code, even on microcontrollers. Still, it was pretty early, and the microcontroller stack contained a good portion of C code underneath the “application”.
This year, we are back to show you the current, bleeding edge, state of embedded Rust: Asynchronous code, actor based designs, swappable TCP/IP stacks, TLS, HTTP and MQTT clients. Even a bootloader and over the air updates via Bluetooth.