Седми урок от безплантия курс HTML5 приложения за Android. Съдържа: Cordova plugin за геолокация, Cordova plugin за ускорение, Cordova plugin за камера и работа със снимки
Осми урок от безплантия курс HTML5 приложения за Android. Съдържа информация за създаване на APK в release режим и публикуването му в Google Play (както и алтернативни магазини).
Трети урок от безплантия курс HTML5 приложения за Android. Съдържа: създаване на "Hello World" с Cordova, HTML и JavaScript за Android устройство, събития в Cordova, дебъгване, HTML5 canvas.
Lightning talk: Как се управлява мотор с постоянен ток от Raspberry Pi?Leon Anavi
Схема за свързване на DC мотор към пинове 15 и 16 на Raspberry Pi чрез Texas Instruments SN754410NE както и open source код написан на C и библиотеката WiringPi за управление
Как Internet of Things си говорят чрез MQTT и софтуер с отворен код?Leon Anavi
Презентация от БургасКонф 2016 на тема: "Как Internet of Things си говорят чрез MQTT и софтуер с отворен код?"
Темата включва общи разсъждения за Internet of Things, информация за протокола MQTT, open source имплементации на MQTT брокери и библиотеки за създаване на MQTT клиенти.
Как проектът Yocto помага за създаване на Internet of Things?Leon Anavi
Презентация от PlovdivConf 2015 с информация за Internet of Things (IoT) и как да създадем и поддръжаме GNU/Linux дистрибуция за тях с помощта на Yocto Project.
Осми урок от безплантия курс HTML5 приложения за Android. Съдържа информация за създаване на APK в release режим и публикуването му в Google Play (както и алтернативни магазини).
Трети урок от безплантия курс HTML5 приложения за Android. Съдържа: създаване на "Hello World" с Cordova, HTML и JavaScript за Android устройство, събития в Cordova, дебъгване, HTML5 canvas.
Lightning talk: Как се управлява мотор с постоянен ток от Raspberry Pi?Leon Anavi
Схема за свързване на DC мотор към пинове 15 и 16 на Raspberry Pi чрез Texas Instruments SN754410NE както и open source код написан на C и библиотеката WiringPi за управление
Как Internet of Things си говорят чрез MQTT и софтуер с отворен код?Leon Anavi
Презентация от БургасКонф 2016 на тема: "Как Internet of Things си говорят чрез MQTT и софтуер с отворен код?"
Темата включва общи разсъждения за Internet of Things, информация за протокола MQTT, open source имплементации на MQTT брокери и библиотеки за създаване на MQTT клиенти.
Как проектът Yocto помага за създаване на Internet of Things?Leon Anavi
Презентация от PlovdivConf 2015 с информация за Internet of Things (IoT) и как да създадем и поддръжаме GNU/Linux дистрибуция за тях с помощта на Yocto Project.
Create IoT with Open Source Hardware, Tizen and HTML5Leon Anavi
Overview of Tizen, its profiles (including Tizen:Common and IVI), Crosswalk web runtime, SDK, installation and management of web apps (wgt) Tizen:Common and IVI. The presentation also includes information about open source hardware development boards with Intel and ARM SoC and instructions how to build Tizen for them using GBS or the Yocto project.
Презентация на Български от Open Fest 2015.
Презентацията е насочена към хора, които желаят да използват Yocto и OpenEmbedded, за да разработват системи, които пасват на техните нужди и поддържат специфичен хардуер. С течение на времето Yocto се утвърди като де факто стандарт за вградени системи и преносими устройства. Ще бъде предоставена информация как да се изгради Linux система за вградени устроиства и да се създадат софтуерни приложения за нея.
Tizen is a Linux-based software platform which supports variety of smart devices: phones, cameras, watches, TV and even vehicles. Tizen is the OS of everything. It combines cutting edge open source technologies such as Wayland and the Crosswalk project with industry approved standards such as HTML5.
This talk will provide guidelines how to use HTML5 and JavaScript outside the web browser to control all Internet of things powered by Tizen. Standard as well as Tizen specific JavaScript APIs for communication, sensors, storing data and multimedia will be revealed.
We will discuss opportunities for monetization through publishing applications at Tizen Store and even building low cost prototypes of new Tizen devices using open source hardware components.
Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)Leon Anavi
Brief introduction to the state of GENIVI SOTA projects and its integration in Automotive Grade Linux (AGL) for AGL face to face meeting in Vannes 25-27 May, 2016. The presentation also features requirements and brief analysis of open source software tools for installation strategy on AGL devices.
Connecting Internet of Things to the Cloud with MQTTLeon Anavi
Slides from HKOSCon 2016 about the lightweight publish/subscribe messaging protocol MQTT which is convenient for connecting Internet of Things together and with the cloud.
Creating new Tizen profiles using the Yocto ProjectLeon Anavi
Presentation for Tizen Developer Conference 2015 Shenzhen.
Tizen is an open source Linux based software platform for Internet of Things, mobile, wearable and embedded devices. Tizen:Common provides a generic development environment for Tizen 3 which key features include Wayland, Weston, EFL, and the Crosswalk web runtime. The Yocto Project offers easy to use tools to create meta layers for new Tizen 3 profiles that inherit and expand the features of Tizen:Common. This talk will focus the Tizen architecture and it will provide guidelines for creating and building new Tizen profiles, based on Tizen:Common, using the Yocto Project for devices with Intel or ARM processors. It will also provide information about hidden gems in Tizen on Yocto and practical examples for packaging and deploying HTML5 applications through Yocto recipes for the open source hardware development boards MinnowBoard Max (Intel) and Humming Board (Freescale I.MX6 ARM SoC).
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Leon Anavi
In 2023, embedded Linux developers received eagerly awaited news: the release of Raspberry Pi 5 and the integration of VNC backend into Weston, the reference compositor for the Wayland display server protocol.
During this talk we will explore VNC backend integration in Weston 12 and newer versions as well as its build and runtime dependencies such as NeatVNC and AML. We will compare VNC (Virtual Network Computing) to RDP (Remote Desktop Protocol). Using the Yocto Project and OpenEmbedded, we are going to build core-image-weston for Raspberry Pi 5 and configure VNC with TLS security and user authentication. Step-by-step tutorial will be provided to demonstrate the configuration of a remote connection to Raspberry Pi 5 from another computer through Vinagre, an open-source VNC client designed for the GNOME Desktop.
The presentation is appropriate for anyone interested in remote access to embedded Linux devices. It will expand upon Leon’s lightning talk about RDP from FOSDEM 2023 and address frequently asked questions about remote screen sharing on embedded Linux devices. Previous experience is not required.
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Leon Anavi
Презентация от Plovdiv Game Jam 2024 за open source USB-C адаптер да Nunchuk съвместими контролери.
Nintento Wii е популярна домашна конзола за игра на игри произвеждана в различни модификации от 2006г до 2017г. Nunchuk е допълнителен контролер, който се включва към Wii Remote. Има специфичен конектор и работи през комуникационния протокол I2C.
В тази презентация ще преминем през всички стъпки от проектиране на печатна платка през разработване на код за Raspberry Pi RP2040 микроконтролер на CircuitPython до свързване на Nunchuk като USB устройство за персонален компютър. Ще демонстрираме употребата на Nunchuk като джойстик за HTML5 игри както и употребата му като забавна нетипична алтернатива на компютърна мишка.
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedLeon Anavi
After several years of development, VNC support has been introduced as a new feature in Weston 12, which was released on May 17, 2023. This release includes a VNC backend that enables remote control through graphical desktop sharing. Notably, this marks the second Weston backend for remote connections with a graphical interface, as previous versions already supported RDP (Remote Desktop Protocol).
The VNC backend in Weston 12 relies on two key libraries: Neat VNC and AML. It features TLS support and user authentication. Neat VNC is a VNC server library with a liberal license and a clean interface. AML, which stands for Andri's Main Loop, is a dependency for Neat VNC. Both of these projects were initiated by Andri Yngvason, and their source code is available on GitHub under the ISC License.
Shortly after the release of Weston 12, the recipe in openembedded-core was updated to accommodate it. This update is included in Yocto release Nanbield 4.3 and Poky, which is the Yocto Project's reference distribution. It's important to note that the VNC backend is available as an optional configuration for PACKAGECONFIG, but it is not enabled by default. To build it, you'll need the Neat VNC and AML recipes, which have already been submitted by Leon Anavi to the meta-oe layer. Additionally, remember that you must explicitly enable TLS in neatvnc's PACKAGECONFIG to utilize the TLS support and user authentication in Weston's VNC backend.
This presentation aims to demonstrate the practical use of the Yocto Project for building a core-image-weston with a VNC backend, enabling remote graphical desktop sharing. The demonstrations will showcase popular development boards, including the Raspberry Pi with the BSP layer meta-raspberrypi, Radxa ROCK 4 B with the BSP layer meta-rockchip, and Toradex Verdin i.MX8M Plus with Toradex and NXP BSPs. The presentation will provide a step-by-step walkthrough for generating certificates and establishing connections using Vinagre, an open-source VNC client for the GNOME Desktop.
The presentation is suitable for anyone interested in Wayland and Weston, and no prior experience with VNC is required. This talk will illustrate how to set up the VNC backend in Weston and simplify the initial setup process for those interested in using it.
Как да убием и последната дискета с Open Source технологии?Leon Anavi
Презентация за open source hardware проекта OpenFlops и open source firmware FlashFloppy, чрез които се заменя флопи дисково устройство и дискети с емулатор и USB флаш памети. OpenFlops е проектиран на KiCad и има същите размери на печатната платка като GoTek.
RAUC е open source софтуерен механизъм за обновление на Linux дистрибуции с два идентични ext4 дяла и възможност за допълнителни дялове за съхранение на данни. След инсталиране на обновлението на неактивния дял и рестарт, първоначална зареждаща програма (boot loader) трябва да го активира. Ще разгледаме интеграцията на RAUC в Linux kernel-a и Das U-Boot за Raspberry Pi при създаване на GNU/Linux дистрибуция с Yocto Project и OpenEmbedded. Също така презентацията ще демонстрира комбинирана стратегия за обновления чрез RAUC и виртуализация посредством Docker контейнери за потребителските приложения.
How to Choose a Software Update Mechanism for Embedded Linux DevicesLeon Anavi
How to Choose a Software Update Mechanism for Embedded Linux Devices
by Leon Anavi, Konsulko Group
Embedded Linux Conference NA 2022 and Open Source Summit NA 2022
Atomic software system update of an embedded Linux device has always been an important part of any product, especially nowadays with the existing large fleets of connected devices and Internet of Things. There are several different widely used in the industry approaches: A/B updates with dual redundant scheme, delta updates, container-based updates and combined strategies. Open source technologies such as Mender, RAUC and libostree based solutions implement these strategies and provide tools to manage updates of multiple devices. What are the advantages and disadvantages? How to choose an appropriate open source solution for a specific project? This session explores a number of different open source Linux software update technologies with practical examples for integrating them using the Yocto Project and OpenEmbedded. In order to better understand the strengths and weaknesses of each technology, we deep dive in various use cases. The talk is appropriate for anyone with basic knowledge about Linux. It will hopefully help managers, engineers and developers better understand the technical challenges and the available open source solutions with which to overcome them easier and faster so that they can focus on the unique core features of their products.
Open Source Tools for Making Open Source HardwareLeon Anavi
Is it worth making open source hardware using expensive proprietary software tools? Of course not! There are many open source software tools good enough for the job. In this presentation Leon Anavi will share his experience in combining open source hardware with free and open source software for fun and profit.
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureLeon Anavi
RAUC is a safe and secure open source software solution for A/B updates of embedded Linux devices. It supports the Yocto Project and OpenEmbedded, Buildroot and PTXdist. Upgrades are performed through RAUC bundles which can be installed either through the network or using the old-fashioned way with a USB stick.
In 2020 layer meta-rauc-community was created to provide examples how to integrate the lightweight update client RAUC on various machines. Initially it supported Raspberry Pi. In 2021 the layer was moved to the RAUC organization in GitHub and over the time it was ported to new machine, including qemux86-64, sunxi (Allwinner) and NVIDIA Jetson TX2.
The presentation is appropriate for anyone interested in software upgrades. We will talk about the evolution of meta-rauc-community and provide guidelines for porting to new machines using Yocto and OpenEmbedded BSP layers.
The Yocto Project and OpenEmbedded are often used for building custom GNU/Linux distributions for powering interactive kiosk and displaying HTML5 content.
Although Chromium is the most popular choice for a web browser, it is infamous for the long build time. In this presentation you will see a practical alternative approach using the surf web browser. Surf is a simple minimalist web browser based on WebKit2/GTK+ with interface that does not include any graphical control elements. It a perfect fit for a kiosk.
The presentation will offer the exact steps how to build a minimal GNU/Linux distribution with systemd, X11, openbox window manager and the Surf web browser. Furthermore, we will discuss practical examples for software over air updates of this simple distribution. Raspberry Pi 4 will be used as a reference hardware for all demonstrations.
This presentation is suitable for beginners. It will demonstrate a practical use of the Yocto Project/OpenEmbedded for a common use case, some tips and tricks as well as examples for selection systemd as init system and software over the air mechanism.
Linux дистрибуции и софтуерни обновления за вградени устройства Leon Anavi
Бързото развитие на изкуствения интелект и електрониката доведе до нови високотехнологични специфични изисквания към устройствата използвани в най-различни индустрии. Linux e предпочитан избор за вградени устройства. Очевидно Linux дистрибуцията за персонален компютър е много различна от тази за робот, автомобил или космически кораб. Има два фундаментални инженерни въпроса, които трябва да бъдат разрешение независимо от крайните цели на машините:
>>> Как да бъде създадена Linux дистрибуция с всички необходими специфични компоненти за конкретното вградено устройство?
>>> Как да се актуализира софтуерът?
В тази презентация ще разгледаме решения с отворен код на тези въпроси като Yocto Project и OpеnEmbedded, Buildroot, PTXdist, OpenWRT заедно с технологии и услуги за софтуерни актуализации като Mender, RAUC, SWUpdate, libostree с различните му производи за бинарни делта обновления и други.
Getting started with AGL using a Raspberry PiLeon Anavi
Automotive Grade Linux (AGL) All Members Meeting (AMM) 2020
In 2016 Automotive Grade Linux was ported to Raspberry Pi and since then this low-cost single board computer has become a preferred getting started platform among the community. Although Raspberry Pi doesn't match the hardware capabilities of high-end industrial and automotive hardware platforms, its wide availability and low-cost makes it a great choice for rapid prototyping and exploring AGL.
This presentation will provide guidelines and exact steps for building AGL image for Raspberry Pi. We will explore the past and present of AGL on Raspberry Pi, including practical experience for supporting Wayland, PipeWire, libostree for software over the air updates and various hardware peripherals.
The talk is appropriate for beginners. No previous experience with AGL is required. Hopefully, the presentation will encourage more people to join and contribute to our open source community!
Automotive Grade Linux on Raspberry Pi: How Does It Work?Leon Anavi
Talk by Leon Anavi at Embedded Linux Conference North America 2020
Automotive Grade Linux (AGL) is a leading embedded Linux distribution for the automotive industry. The AGL Unified Code Base (UCB), using the Yocto Project and OpenEmbedded, has been already adopted by automotive manufacturers and it is present in vehicles like Toyota Camry and all-new 2020 Subaru Outback and Subaru Legacy.
Since 2016 AGL has been ported to Raspberry Pi which nowadays is a prefer getting started platform among the community. The presentation will explore the current status of AGL on Raspberry Pi, reveal war stories and practical experiences for supporting Wayland, PipeWire, libostree for software over the air updates as well as various hardware peripherals.
Guidelines and step by step instructions for building AGL image for Raspberry Pi will be revealed. We will do a deep dive in internals, such as integration of meta-raspberrypi BSP layer, Linux kernel and Mesa versions with firmware KMS to support both HDMI and the official Raspberry Pi touch screen DSI display.
The talk is appropriate for anyone, including beginners. No previous experience is required. Hopefully, the presentation will encourage more people to try AGL on Raspberry Pi and join our community.
Comparison of Open Source Software Home Automation ToolsLeon Anavi
With the market grow of Internet of Things the demand for open source home automation software for controlling numerous connected appliances also increases. Open source solutions allow users to customize the setup depending their own specific needs and to manage devices manufactured by different vendors in one place.
This presentation will provide an overview of the popular open source tools for home automation and focus on some of the most popular among them: Home Assistant, OpenHAB and Domoticz. We will explore the supported embedded Linux development boards on which these platforms can be installed as well as the IoT with which they can interact out of the box. Practical examples for simple home automation will be provided.
The talk is appropriate for open source enthusiasts, makers, engineers, students and even beginners. No previous experience is required.
Create IoT with Open Source Hardware, Tizen and HTML5Leon Anavi
Overview of Tizen, its profiles (including Tizen:Common and IVI), Crosswalk web runtime, SDK, installation and management of web apps (wgt) Tizen:Common and IVI. The presentation also includes information about open source hardware development boards with Intel and ARM SoC and instructions how to build Tizen for them using GBS or the Yocto project.
Презентация на Български от Open Fest 2015.
Презентацията е насочена към хора, които желаят да използват Yocto и OpenEmbedded, за да разработват системи, които пасват на техните нужди и поддържат специфичен хардуер. С течение на времето Yocto се утвърди като де факто стандарт за вградени системи и преносими устройства. Ще бъде предоставена информация как да се изгради Linux система за вградени устроиства и да се създадат софтуерни приложения за нея.
Tizen is a Linux-based software platform which supports variety of smart devices: phones, cameras, watches, TV and even vehicles. Tizen is the OS of everything. It combines cutting edge open source technologies such as Wayland and the Crosswalk project with industry approved standards such as HTML5.
This talk will provide guidelines how to use HTML5 and JavaScript outside the web browser to control all Internet of things powered by Tizen. Standard as well as Tizen specific JavaScript APIs for communication, sensors, storing data and multimedia will be revealed.
We will discuss opportunities for monetization through publishing applications at Tizen Store and even building low cost prototypes of new Tizen devices using open source hardware components.
Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)Leon Anavi
Brief introduction to the state of GENIVI SOTA projects and its integration in Automotive Grade Linux (AGL) for AGL face to face meeting in Vannes 25-27 May, 2016. The presentation also features requirements and brief analysis of open source software tools for installation strategy on AGL devices.
Connecting Internet of Things to the Cloud with MQTTLeon Anavi
Slides from HKOSCon 2016 about the lightweight publish/subscribe messaging protocol MQTT which is convenient for connecting Internet of Things together and with the cloud.
Creating new Tizen profiles using the Yocto ProjectLeon Anavi
Presentation for Tizen Developer Conference 2015 Shenzhen.
Tizen is an open source Linux based software platform for Internet of Things, mobile, wearable and embedded devices. Tizen:Common provides a generic development environment for Tizen 3 which key features include Wayland, Weston, EFL, and the Crosswalk web runtime. The Yocto Project offers easy to use tools to create meta layers for new Tizen 3 profiles that inherit and expand the features of Tizen:Common. This talk will focus the Tizen architecture and it will provide guidelines for creating and building new Tizen profiles, based on Tizen:Common, using the Yocto Project for devices with Intel or ARM processors. It will also provide information about hidden gems in Tizen on Yocto and practical examples for packaging and deploying HTML5 applications through Yocto recipes for the open source hardware development boards MinnowBoard Max (Intel) and Humming Board (Freescale I.MX6 ARM SoC).
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Leon Anavi
In 2023, embedded Linux developers received eagerly awaited news: the release of Raspberry Pi 5 and the integration of VNC backend into Weston, the reference compositor for the Wayland display server protocol.
During this talk we will explore VNC backend integration in Weston 12 and newer versions as well as its build and runtime dependencies such as NeatVNC and AML. We will compare VNC (Virtual Network Computing) to RDP (Remote Desktop Protocol). Using the Yocto Project and OpenEmbedded, we are going to build core-image-weston for Raspberry Pi 5 and configure VNC with TLS security and user authentication. Step-by-step tutorial will be provided to demonstrate the configuration of a remote connection to Raspberry Pi 5 from another computer through Vinagre, an open-source VNC client designed for the GNOME Desktop.
The presentation is appropriate for anyone interested in remote access to embedded Linux devices. It will expand upon Leon’s lightning talk about RDP from FOSDEM 2023 and address frequently asked questions about remote screen sharing on embedded Linux devices. Previous experience is not required.
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Leon Anavi
Презентация от Plovdiv Game Jam 2024 за open source USB-C адаптер да Nunchuk съвместими контролери.
Nintento Wii е популярна домашна конзола за игра на игри произвеждана в различни модификации от 2006г до 2017г. Nunchuk е допълнителен контролер, който се включва към Wii Remote. Има специфичен конектор и работи през комуникационния протокол I2C.
В тази презентация ще преминем през всички стъпки от проектиране на печатна платка през разработване на код за Raspberry Pi RP2040 микроконтролер на CircuitPython до свързване на Nunchuk като USB устройство за персонален компютър. Ще демонстрираме употребата на Nunchuk като джойстик за HTML5 игри както и употребата му като забавна нетипична алтернатива на компютърна мишка.
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedLeon Anavi
After several years of development, VNC support has been introduced as a new feature in Weston 12, which was released on May 17, 2023. This release includes a VNC backend that enables remote control through graphical desktop sharing. Notably, this marks the second Weston backend for remote connections with a graphical interface, as previous versions already supported RDP (Remote Desktop Protocol).
The VNC backend in Weston 12 relies on two key libraries: Neat VNC and AML. It features TLS support and user authentication. Neat VNC is a VNC server library with a liberal license and a clean interface. AML, which stands for Andri's Main Loop, is a dependency for Neat VNC. Both of these projects were initiated by Andri Yngvason, and their source code is available on GitHub under the ISC License.
Shortly after the release of Weston 12, the recipe in openembedded-core was updated to accommodate it. This update is included in Yocto release Nanbield 4.3 and Poky, which is the Yocto Project's reference distribution. It's important to note that the VNC backend is available as an optional configuration for PACKAGECONFIG, but it is not enabled by default. To build it, you'll need the Neat VNC and AML recipes, which have already been submitted by Leon Anavi to the meta-oe layer. Additionally, remember that you must explicitly enable TLS in neatvnc's PACKAGECONFIG to utilize the TLS support and user authentication in Weston's VNC backend.
This presentation aims to demonstrate the practical use of the Yocto Project for building a core-image-weston with a VNC backend, enabling remote graphical desktop sharing. The demonstrations will showcase popular development boards, including the Raspberry Pi with the BSP layer meta-raspberrypi, Radxa ROCK 4 B with the BSP layer meta-rockchip, and Toradex Verdin i.MX8M Plus with Toradex and NXP BSPs. The presentation will provide a step-by-step walkthrough for generating certificates and establishing connections using Vinagre, an open-source VNC client for the GNOME Desktop.
The presentation is suitable for anyone interested in Wayland and Weston, and no prior experience with VNC is required. This talk will illustrate how to set up the VNC backend in Weston and simplify the initial setup process for those interested in using it.
Как да убием и последната дискета с Open Source технологии?Leon Anavi
Презентация за open source hardware проекта OpenFlops и open source firmware FlashFloppy, чрез които се заменя флопи дисково устройство и дискети с емулатор и USB флаш памети. OpenFlops е проектиран на KiCad и има същите размери на печатната платка като GoTek.
RAUC е open source софтуерен механизъм за обновление на Linux дистрибуции с два идентични ext4 дяла и възможност за допълнителни дялове за съхранение на данни. След инсталиране на обновлението на неактивния дял и рестарт, първоначална зареждаща програма (boot loader) трябва да го активира. Ще разгледаме интеграцията на RAUC в Linux kernel-a и Das U-Boot за Raspberry Pi при създаване на GNU/Linux дистрибуция с Yocto Project и OpenEmbedded. Също така презентацията ще демонстрира комбинирана стратегия за обновления чрез RAUC и виртуализация посредством Docker контейнери за потребителските приложения.
How to Choose a Software Update Mechanism for Embedded Linux DevicesLeon Anavi
How to Choose a Software Update Mechanism for Embedded Linux Devices
by Leon Anavi, Konsulko Group
Embedded Linux Conference NA 2022 and Open Source Summit NA 2022
Atomic software system update of an embedded Linux device has always been an important part of any product, especially nowadays with the existing large fleets of connected devices and Internet of Things. There are several different widely used in the industry approaches: A/B updates with dual redundant scheme, delta updates, container-based updates and combined strategies. Open source technologies such as Mender, RAUC and libostree based solutions implement these strategies and provide tools to manage updates of multiple devices. What are the advantages and disadvantages? How to choose an appropriate open source solution for a specific project? This session explores a number of different open source Linux software update technologies with practical examples for integrating them using the Yocto Project and OpenEmbedded. In order to better understand the strengths and weaknesses of each technology, we deep dive in various use cases. The talk is appropriate for anyone with basic knowledge about Linux. It will hopefully help managers, engineers and developers better understand the technical challenges and the available open source solutions with which to overcome them easier and faster so that they can focus on the unique core features of their products.
Open Source Tools for Making Open Source HardwareLeon Anavi
Is it worth making open source hardware using expensive proprietary software tools? Of course not! There are many open source software tools good enough for the job. In this presentation Leon Anavi will share his experience in combining open source hardware with free and open source software for fun and profit.
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureLeon Anavi
RAUC is a safe and secure open source software solution for A/B updates of embedded Linux devices. It supports the Yocto Project and OpenEmbedded, Buildroot and PTXdist. Upgrades are performed through RAUC bundles which can be installed either through the network or using the old-fashioned way with a USB stick.
In 2020 layer meta-rauc-community was created to provide examples how to integrate the lightweight update client RAUC on various machines. Initially it supported Raspberry Pi. In 2021 the layer was moved to the RAUC organization in GitHub and over the time it was ported to new machine, including qemux86-64, sunxi (Allwinner) and NVIDIA Jetson TX2.
The presentation is appropriate for anyone interested in software upgrades. We will talk about the evolution of meta-rauc-community and provide guidelines for porting to new machines using Yocto and OpenEmbedded BSP layers.
The Yocto Project and OpenEmbedded are often used for building custom GNU/Linux distributions for powering interactive kiosk and displaying HTML5 content.
Although Chromium is the most popular choice for a web browser, it is infamous for the long build time. In this presentation you will see a practical alternative approach using the surf web browser. Surf is a simple minimalist web browser based on WebKit2/GTK+ with interface that does not include any graphical control elements. It a perfect fit for a kiosk.
The presentation will offer the exact steps how to build a minimal GNU/Linux distribution with systemd, X11, openbox window manager and the Surf web browser. Furthermore, we will discuss practical examples for software over air updates of this simple distribution. Raspberry Pi 4 will be used as a reference hardware for all demonstrations.
This presentation is suitable for beginners. It will demonstrate a practical use of the Yocto Project/OpenEmbedded for a common use case, some tips and tricks as well as examples for selection systemd as init system and software over the air mechanism.
Linux дистрибуции и софтуерни обновления за вградени устройства Leon Anavi
Бързото развитие на изкуствения интелект и електрониката доведе до нови високотехнологични специфични изисквания към устройствата използвани в най-различни индустрии. Linux e предпочитан избор за вградени устройства. Очевидно Linux дистрибуцията за персонален компютър е много различна от тази за робот, автомобил или космически кораб. Има два фундаментални инженерни въпроса, които трябва да бъдат разрешение независимо от крайните цели на машините:
>>> Как да бъде създадена Linux дистрибуция с всички необходими специфични компоненти за конкретното вградено устройство?
>>> Как да се актуализира софтуерът?
В тази презентация ще разгледаме решения с отворен код на тези въпроси като Yocto Project и OpеnEmbedded, Buildroot, PTXdist, OpenWRT заедно с технологии и услуги за софтуерни актуализации като Mender, RAUC, SWUpdate, libostree с различните му производи за бинарни делта обновления и други.
Getting started with AGL using a Raspberry PiLeon Anavi
Automotive Grade Linux (AGL) All Members Meeting (AMM) 2020
In 2016 Automotive Grade Linux was ported to Raspberry Pi and since then this low-cost single board computer has become a preferred getting started platform among the community. Although Raspberry Pi doesn't match the hardware capabilities of high-end industrial and automotive hardware platforms, its wide availability and low-cost makes it a great choice for rapid prototyping and exploring AGL.
This presentation will provide guidelines and exact steps for building AGL image for Raspberry Pi. We will explore the past and present of AGL on Raspberry Pi, including practical experience for supporting Wayland, PipeWire, libostree for software over the air updates and various hardware peripherals.
The talk is appropriate for beginners. No previous experience with AGL is required. Hopefully, the presentation will encourage more people to join and contribute to our open source community!
Automotive Grade Linux on Raspberry Pi: How Does It Work?Leon Anavi
Talk by Leon Anavi at Embedded Linux Conference North America 2020
Automotive Grade Linux (AGL) is a leading embedded Linux distribution for the automotive industry. The AGL Unified Code Base (UCB), using the Yocto Project and OpenEmbedded, has been already adopted by automotive manufacturers and it is present in vehicles like Toyota Camry and all-new 2020 Subaru Outback and Subaru Legacy.
Since 2016 AGL has been ported to Raspberry Pi which nowadays is a prefer getting started platform among the community. The presentation will explore the current status of AGL on Raspberry Pi, reveal war stories and practical experiences for supporting Wayland, PipeWire, libostree for software over the air updates as well as various hardware peripherals.
Guidelines and step by step instructions for building AGL image for Raspberry Pi will be revealed. We will do a deep dive in internals, such as integration of meta-raspberrypi BSP layer, Linux kernel and Mesa versions with firmware KMS to support both HDMI and the official Raspberry Pi touch screen DSI display.
The talk is appropriate for anyone, including beginners. No previous experience is required. Hopefully, the presentation will encourage more people to try AGL on Raspberry Pi and join our community.
Comparison of Open Source Software Home Automation ToolsLeon Anavi
With the market grow of Internet of Things the demand for open source home automation software for controlling numerous connected appliances also increases. Open source solutions allow users to customize the setup depending their own specific needs and to manage devices manufactured by different vendors in one place.
This presentation will provide an overview of the popular open source tools for home automation and focus on some of the most popular among them: Home Assistant, OpenHAB and Domoticz. We will explore the supported embedded Linux development boards on which these platforms can be installed as well as the IoT with which they can interact out of the box. Practical examples for simple home automation will be provided.
The talk is appropriate for open source enthusiasts, makers, engineers, students and even beginners. No previous experience is required.
Практични примери за device tree overlays на Raspberry PiLeon Anavi
Кратка презентация от ежегодния семинар на Linux User Group България в Пловдив, 6 април 2019г. Съдържа практични примери за употреба на device tree overlays на Raspberry Pi и първи стъпки в dts (device tree source) и dtc (device tree compiler).
The Software Developer’s Guide to Open Source HardwareLeon Anavi
The popularity of the open source hardware movement and IoT is constantly increasing. But is it worth making open source hardware using expensive proprietary software? Of course not!
In this presentation Leon Anavi will share his experience in developing IoT by designing printed circuit boards (PCB) with the free and open source EDA tool KiCAD, the open source hardware certification program of OSHWA, crowdfunding opportunities for low volume manufacturing and open source success stories for building a community. Practical examples based on the certified open source hardware development boards ANAVI Light Controller and ANAVI Thermometer will be provided. The talk also contains information about open source hardware licenses, KiCAD getting started guidelines, tips and tricks for avoiding common mistakes.
Always take with a pinch of salt anything that a software engineer like Leon says about hardware and in the same time have in mind that if he can do it, anyone can! Hopefully the talk will encourage more people to use KiCAD, join the open source hardware movement and certify their open source devices at OSHWA.
Making Open Source Hardware for Retrogaming on Raspberry PiLeon Anavi
Raspberry Pi, the most popular single board computer for hobbyists and students, is an affordable and widely used platform for retrogaming. Over the years the community has created numerous cool cases, add-on boards and peripherals for optimized gaming.
In this presentation you will learn how to use cutting edge free and open source technologies such as KiCAD and OpenSCAD to create a gamepad as a Raspberry Pi HAT (Hardware Attached on Top) with device-tree fragment for mapping the keys saved in an EEPROM connected via I2C. Exact steps for setting it up and playing retro games in emulators on RetroPie and Raspbian will be provided. Furthermore we will discuss the benefits of the open source hardware and the certification program of Open Source Hardware Association (OSHWA).
The presentation is appropriate for anyone interested in low-cost retrogaming and modern free and open source software technologies. No previous experience or hardware knowledge is required. Apart from retrogaming enthusiasts, the talk is appropriate for wide range of developers, makers, and students. Hopefully, the presentation will encourage the attendees to grab the soldering iron and start prototyping retrogaming compatible hardware for fun and profit.
Вграждане на умни гласови асистенти в устройства с LinuxLeon Anavi
OpenFest 2018 - Радослав Колев, Леон Анави
В последните няколко години милиони умни говорители с Google Assistant и Amazon Alexa бяха продадени и пазарът им продължава да се разширява. В тази презентация Леон Анави и Радо Колев ще разгледат новите екосистеми за гласови асистенти и ще анализират съществуващите SDK за интеграцията им във вградени устройства с Linux. Освен Google Assistant и Amazon Alexa ще бъде разгледана и open source алтернативата MyCroft. Ще бъдат предоставени практически примери и демонстрации с Raspberry Pi и Orange Pi Zero с Allwinner SoC.
Comparison of Voice Assistant SDKs for Embedded Linux DevicesLeon Anavi
Millions of smart speakers powered by Google Assistant and Amazon Alexa were sold in the past couple of years. This product category provides a bridge between AI and IoT. It has a huge potential and the market is expected to continue to grow. In the mean time there is also an increased demand for integration of voice assistants in other home appliances.
This session will explore the available SDKs for integration in embedded Linux systems of Google Assistant and Amazon Alexa as well as their open source alternative Mycroft. We will deep dive into compatibility, feature support and hardware requirement. In order to better understand the current state of each SDK we will go through the exact steps for quick prototyping of new products with low-cost single board computers like Raspberry Pi and Orange Pi Zero.
MQTT is a lightweight publish/subscribe machine-to-machine protocol with a reliable bi-directional communication in (near) real-time. The small footprint of client implementations allows running MQTT on devices with constrained hardware capabilities and makes it a commonly used solution for Internet of Things.
In this presentation Leon Anavi will provide a brief overview of the key features of MQTT, share his experience in using MQTT for home automation and compare various MQTT brokers. The presentation will reveal the specifications and provide guidelines for deployment on GNU/Linux distributions of popular open source MQTT brokers such as Mosquitto, HiveMQ, emqttd, RabbitMQ, ActiveMQ, Mosca and others. Furthermore, we will also discuss open source libraries for integration of MQTT clients such as the Eclipse Paho project.
3. @leonanavi
Cordova Plugins
Допълнителни модули, които могат да се инсталират
към Cordova приложение, за да се достъпи
специфична за мобилните устройства
функционалност през JavaScript.
Регистър за Cordova plugins:
http://plugins.cordova.io/
4. @leonanavi
Геолокация
Cordova плъгин за работа с определяне на
местоположението
Базиран на HTML5 Geolocation API:
http://dev.w3.org/geo/api/spec-source.html
Работи за Android, iOS, BlackBerry 10, Windows Phone,
Firefox OS
Инсталация към съществуващ Cordova проект:
cordova plugin add org.apache.cordova.geolocation
Документация:
http://plugins.cordova.io/#/package/org.apache.cordova.geolocation
5. @leonanavi
Акселерометър
Cordova плъгин за измерване на ускорението
Работи за Android, iOS, BlackBerry 10, Windows Phone,
Firefox OS, Tizen
Инсталация към съществуващ Cordova проект:
cordova plugin add org.apache.cordova.device-motion
Документация:
http://plugins.cordova.io/#/package/org.apache.cordova.device-motion
7. @leonanavi
Упражнение
Да се напише Android програма чрез Cordova и плъгин
org.apache.cordova.device-motion, която засича
отместването на устройството по вертикала и в
зависимост от него определя посоката на движение по
хоризонтала на проста анимация в HTML5 canvas.
8. @leonanavi
Камера
Cordova плъгин за правене на снимки или
избирането на снимки от галерията на устройствата
Работи за Android, iOS, BlackBerry 10, Windows Phone,
Firefox OS, Tizen
Инсталация към съществуващ Cordova проект:
cordova plugin add org.apache.cordova.camera
Документация:
http://plugins.cordova.io/#/package/org.apache.cordova.ca
mera
9. @leonanavi
Снимка (демо)
function photo() {
cameraOptions = { quality : 100,
destinationType : Camera.DestinationType.FILE_URI,
sourceType : Camera.PictureSourceType.CAMERA,
encodingType: Camera.EncodingType.JPEG,
saveToPhotoAlbum: true };
navigator.camera.getPicture(function(imageURI) {
var imgPhoto = document.getElementById('photo');
imgPhoto.style.visibility = 'visible';
imgPhoto.src = imageURI;
}, function(err) {
alert('Unable to take a photo.');
}, cameraOptions);
}