SlideShare a Scribd company logo
Drew Moseley
Technical Solutions Architect
Mender.io
Session overview
● Discussion of basic IoT system architecture
● Overview of Beaglebone Black and Debian
● How to use them for quick prototyping of IoT application
● Demo application
● Considerations when moving beyond prototyping
Goal: Get started quickly
Thank you to our Sponsors
● Kevin Dankwardt and the Silicon Valley Linux Technology meetup group
● Ouster.io
● Red Alert Labs
About me
Drew Moseley
○ 10 years in Embedded Linux/Yocto development.
○ Longer than that in general Embedded Software.
○ Project Lead and Solutions Architect.
drew.moseley@mender.io
https://twitter.com/drewmoseley
https://www.linkedin.com/in/drewmoseley/
https://twitter.com/mender_io
Mender.io
○ Over-the-air updater for Embedded Linux
○ Open source (Apache License, v2)
○ Dual A/B rootfs layout (client)
○ Remote deployment management (server)
○ Under active development
Motivation for this topic
● IoT product growth: $520
billion by 20211
● Product lead time and life
cycle time
● Developers lacking
embedded background
● Maker movement
1
https://www.forbes.com/sites/louiscolumbus/2018/08/16/iot-market-predicted-to-double-by-2021-reaching-520b/
Challenges for Embedded Device Development
Hardware variety
Storage Media
Software may be maintained in forks
Cross development
Initial device provisioning
● “A network of internet-connected objects able to collect and exchange data
using embedded sensors.”1
IoT Definition
1
http://www.businessinsider.com/what-is-the-internet-of-things-definition-2016-8
● A “network of physical devices, vehicles, home appliances and other items
embedded with electronics, software, sensors, actuators, and connectivity
which enables these objects to connect and exchange data.”3
● IEEE (86 page PDF)2
● Key characteristics:
⎻ Connected
⎻ Sensors
⎻ Actuators
⎻ Cloud Infrastructure
2
https://iot.ieee.org/definition.html
3
https://en.wikipedia.org/wiki/Internet_of_things
IoT Network Architecture
About Beagleboard
Governed by a “non-profit corporation existing to provide education in and
collaboration around the design and use of open-source software and hardware
in embedded computing”1
● Embedded development boards powerful enough to run full Linux system
● Active developer community
● Multiple form-factors
● Multiple OS providers
● Readily available from many vendors
1
https://beagleboard.org/about
About Beagleboard, cont’d
Onboard peripherals
Expandable using capes:
● Beagleboard.org: 8
● Elinux.org: 10 production/many
“legacy”
Cape Features:
● High power
● Servos/Motors
● Robotics
● Prototyping
1
https://beagleboard.org/about
About Debian
Debian is a free operating system (OS) for your
computer. 1
● Over 51000 packages
● 10 CPU architectures
● Used as the basis for many other distros (eg
Ubuntu)
1
https://www.debian.org/
IoT Demo Architecture
Weather station: sensors and actuators
Note: device and system management is not part of this demo
Beaglebone black
Debian
WiFi/Ethernet
Python
MQTT
Step 1: Host PC Prototyping
Python code running on PC
● Any system capable of running python
○ Linux: likely already installed
○ MacOS: preinstalled(?) or from Homebrew
○ Windows: available from python.org
○ Docker: https://hub.docker.com/_/python
1
See also virtenv (https://virtualenv.pypa.io/en/latest/) for creating isolated Python environments
https://github.com/drewmoseley/iot-mqtt-bbb.git
● Using python Paho MQTT library
○ $ sudo apt install python python-paho-mqtt
○ $ pip install paho-mqtt1
● Using public MQTT broker2
2
Warning; any data shared with this server is publicly available.
Step 2: Beaglebone Black Prototyping
1. Install IOT image1
2. Boot the board
3. Login with ssh (debian:temppwd)
4. Verify/install python and paho-mqtt library
5. Download sample code
6. Run it
1
https://beagleboard.org/latest-images
● Use a private MQTT broker
○ Encrypted transport
● Web management UI
○ Device management
○ Updates
● Automate offline image
generation
Ideas for Next Steps
● Device lifetimes.
● Managed vs unmanaged fleet:
○ Will you have direct control of deployed devices?
● Operating Environment:
○ How hostile is it?
○ How reliable is power and connectivity?
● Can the user modify the software?
● Is there some kind of end-user
interface?
● Bandwidth:
○ Network
○ Cloud compute
Production Considerations
● Developer workflow
○ Offline vs on-target steps
○ Incremental vs full image
○ Application vs System developers
○ “Golden Master” media is a
bottleneck
● Manufacturing
○ First-boot actions slow the line
○ Need mechanism to inject data
(certificates, host names, serial
numbers)
Development Considerations
System Software Options - Linux
● Embedded Linux Options
⎻ Desktop Class Distro
■ Direct Install
■ Packaging scripts
⎻ Embedded Distro Builder
■ Yocto
■ Buildroot
■ OpenWRT
⎻ Hybrid
■ ISAR
■ ELBE
I got this!!
1
https://en.wikipedia.org/wiki/Linux_on_embedded_systems
Other Criteria
● Hardware vendor provided
material
● Training and documentation
● Vendor for support
● Developer experience
Thank You!
Q&A
@drewmoseley
https://mender.io
drew.moseley@mender.io

More Related Content

What's hot

IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
Mender.io
 
Tizen contrib-fosdem-20140201
Tizen contrib-fosdem-20140201Tizen contrib-fosdem-20140201
Tizen contrib-fosdem-20140201
Phil www.rzr.online.fr
 
Docker opens the Doors for IoT
Docker opens the Doors for IoTDocker opens the Doors for IoT
Docker opens the Doors for IoT
Dieter Reuter
 
LinuxKit and Moby, News from DockerCon 2017
LinuxKit and Moby, News from DockerCon 2017LinuxKit and Moby, News from DockerCon 2017
LinuxKit and Moby, News from DockerCon 2017
Dieter Reuter
 
Embedded Recipes 2018 - swupdate: update your embedded device - Charles-Anto...
Embedded Recipes 2018 -  swupdate: update your embedded device - Charles-Anto...Embedded Recipes 2018 -  swupdate: update your embedded device - Charles-Anto...
Embedded Recipes 2018 - swupdate: update your embedded device - Charles-Anto...
Anne Nicolas
 
The RULE project: efficient computing for all GNU/Linux users
The RULE project: efficient computing for all GNU/Linux usersThe RULE project: efficient computing for all GNU/Linux users
The RULE project: efficient computing for all GNU/Linux users
Marco Fioretti
 
TSC Sponsored BoF: Can Linux and Automotive Functional Safety Mix ? Take 2: T...
TSC Sponsored BoF: Can Linux and Automotive Functional Safety Mix ? Take 2: T...TSC Sponsored BoF: Can Linux and Automotive Functional Safety Mix ? Take 2: T...
TSC Sponsored BoF: Can Linux and Automotive Functional Safety Mix ? Take 2: T...
Linaro
 
Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01
Linaro
 
Internet of Smaller Things
Internet of Smaller ThingsInternet of Smaller Things
Internet of Smaller Things
Samsung Open Source Group
 
Making Open Source Hardware IoT with Raspberry Pi
Making Open Source Hardware IoT with Raspberry PiMaking Open Source Hardware IoT with Raspberry Pi
Making Open Source Hardware IoT with Raspberry Pi
Leon Anavi
 
Introduction to the Moby Project
Introduction to the Moby ProjectIntroduction to the Moby Project
Introduction to the Moby Project
Jochen Zehnder
 
BUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open SourceBUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open Source
Linaro
 
Balena Hackathon 2021 - Welcome and Getting Started
Balena Hackathon 2021 - Welcome and Getting StartedBalena Hackathon 2021 - Welcome and Getting Started
Balena Hackathon 2021 - Welcome and Getting Started
Balena
 
Running A SIG in CentOS @Devconf Brno 2014
Running A SIG in CentOS @Devconf Brno 2014Running A SIG in CentOS @Devconf Brno 2014
Running A SIG in CentOS @Devconf Brno 2014
Lalatendu Mohanty
 
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Let's talk about the Ubuntu 18.04 LTS Roadmap!Let's talk about the Ubuntu 18.04 LTS Roadmap!
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Dustin Kirkland
 
Upstreaming 101 - SFO17-TR02
Upstreaming 101 - SFO17-TR02Upstreaming 101 - SFO17-TR02
Upstreaming 101 - SFO17-TR02
Linaro
 
What is Docker and why is it so hot?
What is Docker and why is it so hot?What is Docker and why is it so hot?
What is Docker and why is it so hot?
Jochen Zehnder
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
Davide Cavalca
 
2014 10-14: GitHub plus FOSS == 1 million SPDX
2014 10-14: GitHub plus FOSS == 1 million SPDX2014 10-14: GitHub plus FOSS == 1 million SPDX
2014 10-14: GitHub plus FOSS == 1 million SPDX
Nuno Brito
 
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
Akihiro Suda
 

What's hot (20)

IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
 
Tizen contrib-fosdem-20140201
Tizen contrib-fosdem-20140201Tizen contrib-fosdem-20140201
Tizen contrib-fosdem-20140201
 
Docker opens the Doors for IoT
Docker opens the Doors for IoTDocker opens the Doors for IoT
Docker opens the Doors for IoT
 
LinuxKit and Moby, News from DockerCon 2017
LinuxKit and Moby, News from DockerCon 2017LinuxKit and Moby, News from DockerCon 2017
LinuxKit and Moby, News from DockerCon 2017
 
Embedded Recipes 2018 - swupdate: update your embedded device - Charles-Anto...
Embedded Recipes 2018 -  swupdate: update your embedded device - Charles-Anto...Embedded Recipes 2018 -  swupdate: update your embedded device - Charles-Anto...
Embedded Recipes 2018 - swupdate: update your embedded device - Charles-Anto...
 
The RULE project: efficient computing for all GNU/Linux users
The RULE project: efficient computing for all GNU/Linux usersThe RULE project: efficient computing for all GNU/Linux users
The RULE project: efficient computing for all GNU/Linux users
 
TSC Sponsored BoF: Can Linux and Automotive Functional Safety Mix ? Take 2: T...
TSC Sponsored BoF: Can Linux and Automotive Functional Safety Mix ? Take 2: T...TSC Sponsored BoF: Can Linux and Automotive Functional Safety Mix ? Take 2: T...
TSC Sponsored BoF: Can Linux and Automotive Functional Safety Mix ? Take 2: T...
 
Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01
 
Internet of Smaller Things
Internet of Smaller ThingsInternet of Smaller Things
Internet of Smaller Things
 
Making Open Source Hardware IoT with Raspberry Pi
Making Open Source Hardware IoT with Raspberry PiMaking Open Source Hardware IoT with Raspberry Pi
Making Open Source Hardware IoT with Raspberry Pi
 
Introduction to the Moby Project
Introduction to the Moby ProjectIntroduction to the Moby Project
Introduction to the Moby Project
 
BUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open SourceBUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open Source
 
Balena Hackathon 2021 - Welcome and Getting Started
Balena Hackathon 2021 - Welcome and Getting StartedBalena Hackathon 2021 - Welcome and Getting Started
Balena Hackathon 2021 - Welcome and Getting Started
 
Running A SIG in CentOS @Devconf Brno 2014
Running A SIG in CentOS @Devconf Brno 2014Running A SIG in CentOS @Devconf Brno 2014
Running A SIG in CentOS @Devconf Brno 2014
 
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Let's talk about the Ubuntu 18.04 LTS Roadmap!Let's talk about the Ubuntu 18.04 LTS Roadmap!
Let's talk about the Ubuntu 18.04 LTS Roadmap!
 
Upstreaming 101 - SFO17-TR02
Upstreaming 101 - SFO17-TR02Upstreaming 101 - SFO17-TR02
Upstreaming 101 - SFO17-TR02
 
What is Docker and why is it so hot?
What is Docker and why is it so hot?What is Docker and why is it so hot?
What is Docker and why is it so hot?
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
 
2014 10-14: GitHub plus FOSS == 1 million SPDX
2014 10-14: GitHub plus FOSS == 1 million SPDX2014 10-14: GitHub plus FOSS == 1 million SPDX
2014 10-14: GitHub plus FOSS == 1 million SPDX
 
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
 

Similar to IoT Prototyping using BBB and Debian

Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
Mender.io
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
Mender.io
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems
Mender.io
 
libreCMC : The Libre Embedded GNU/Linux Distro
libreCMC : The Libre Embedded GNU/Linux DistrolibreCMC : The Libre Embedded GNU/Linux Distro
libreCMC : The Libre Embedded GNU/Linux Distro
All Things Open
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primer
Drew Fustini
 
IoT Development from Prototype to Production
IoT Development from Prototype to ProductionIoT Development from Prototype to Production
IoT Development from Prototype to Production
Mender.io
 
Iot development from prototype to production
Iot development from prototype to productionIot development from prototype to production
Iot development from prototype to production
Mender.io
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto Project
Leon Anavi
 
LinuxKit Deep Dive
LinuxKit Deep DiveLinuxKit Deep Dive
LinuxKit Deep Dive
Docker, Inc.
 
A million ways to provision embedded linux devices
A million ways to provision embedded linux devicesA million ways to provision embedded linux devices
A million ways to provision embedded linux devices
Mender.io
 
Modern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - BerlinModern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - Berlin
Djalal Harouni
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with Codefresh
Codefresh
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Ambassador Labs
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
Marco Cavallini
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Anne Nicolas
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
Is Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VIs Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon V
Opersys inc.
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VI
Opersys inc.
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
Ambassador Labs
 

Similar to IoT Prototyping using BBB and Debian (20)

Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems
 
libreCMC : The Libre Embedded GNU/Linux Distro
libreCMC : The Libre Embedded GNU/Linux DistrolibreCMC : The Libre Embedded GNU/Linux Distro
libreCMC : The Libre Embedded GNU/Linux Distro
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primer
 
IoT Development from Prototype to Production
IoT Development from Prototype to ProductionIoT Development from Prototype to Production
IoT Development from Prototype to Production
 
Iot development from prototype to production
Iot development from prototype to productionIot development from prototype to production
Iot development from prototype to production
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto Project
 
LinuxKit Deep Dive
LinuxKit Deep DiveLinuxKit Deep Dive
LinuxKit Deep Dive
 
A million ways to provision embedded linux devices
A million ways to provision embedded linux devicesA million ways to provision embedded linux devices
A million ways to provision embedded linux devices
 
Modern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - BerlinModern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - Berlin
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with Codefresh
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
 
Is Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VIs Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon V
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
 
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VI
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 

More from Mender.io

Mender: The open-source software update solution
Mender: The open-source software update solutionMender: The open-source software update solution
Mender: The open-source software update solution
Mender.io
 
The ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devicesThe ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devices
Mender.io
 
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Mender.io
 
Configuring wifi in open embedded builds
Configuring wifi in open embedded buildsConfiguring wifi in open embedded builds
Configuring wifi in open embedded builds
Mender.io
 
Mender; the open-source software update solution
Mender; the open-source software update solutionMender; the open-source software update solution
Mender; the open-source software update solution
Mender.io
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and images
Mender.io
 
Software Updates for Connected Devices - OSCON 2018
Software Updates for Connected Devices - OSCON 2018Software Updates for Connected Devices - OSCON 2018
Software Updates for Connected Devices - OSCON 2018
Mender.io
 
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
Mender.io
 
Linux IoT Botnet Wars - ESC Boston 2018
Linux IoT Botnet Wars - ESC Boston 2018Linux IoT Botnet Wars - ESC Boston 2018
Linux IoT Botnet Wars - ESC Boston 2018
Mender.io
 
Securing the Connected Car - SCaLE 2018
Securing the Connected Car - SCaLE 2018Securing the Connected Car - SCaLE 2018
Securing the Connected Car - SCaLE 2018
Mender.io
 
Mender.io | Securing the Connected Car
Mender.io | Securing the Connected CarMender.io | Securing the Connected Car
Mender.io | Securing the Connected Car
Mender.io
 
Linux IoT Botnet Wars and the lack of basic security hardening
Linux IoT Botnet Wars and the lack of basic security hardeningLinux IoT Botnet Wars and the lack of basic security hardening
Linux IoT Botnet Wars and the lack of basic security hardening
Mender.io
 
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and GolangMender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io
 

More from Mender.io (13)

Mender: The open-source software update solution
Mender: The open-source software update solutionMender: The open-source software update solution
Mender: The open-source software update solution
 
The ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devicesThe ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devices
 
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
 
Configuring wifi in open embedded builds
Configuring wifi in open embedded buildsConfiguring wifi in open embedded builds
Configuring wifi in open embedded builds
 
Mender; the open-source software update solution
Mender; the open-source software update solutionMender; the open-source software update solution
Mender; the open-source software update solution
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and images
 
Software Updates for Connected Devices - OSCON 2018
Software Updates for Connected Devices - OSCON 2018Software Updates for Connected Devices - OSCON 2018
Software Updates for Connected Devices - OSCON 2018
 
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
 
Linux IoT Botnet Wars - ESC Boston 2018
Linux IoT Botnet Wars - ESC Boston 2018Linux IoT Botnet Wars - ESC Boston 2018
Linux IoT Botnet Wars - ESC Boston 2018
 
Securing the Connected Car - SCaLE 2018
Securing the Connected Car - SCaLE 2018Securing the Connected Car - SCaLE 2018
Securing the Connected Car - SCaLE 2018
 
Mender.io | Securing the Connected Car
Mender.io | Securing the Connected CarMender.io | Securing the Connected Car
Mender.io | Securing the Connected Car
 
Linux IoT Botnet Wars and the lack of basic security hardening
Linux IoT Botnet Wars and the lack of basic security hardeningLinux IoT Botnet Wars and the lack of basic security hardening
Linux IoT Botnet Wars and the lack of basic security hardening
 
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and GolangMender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and Golang
 

Recently uploaded

The Power of Actions Slideshow by: Kal-el
The Power of Actions Slideshow by: Kal-elThe Power of Actions Slideshow by: Kal-el
The Power of Actions Slideshow by: Kal-el
Kal-el Shows
 
OM Meditation - ultimate meditation technique
OM Meditation - ultimate meditation techniqueOM Meditation - ultimate meditation technique
OM Meditation - ultimate meditation technique
Karuna Yoga Vidya Peetham
 
Powerful Magic Rings+27604255576 for Money Fame Job Promotions Gambling in So...
Powerful Magic Rings+27604255576 for Money Fame Job Promotions Gambling in So...Powerful Magic Rings+27604255576 for Money Fame Job Promotions Gambling in So...
Powerful Magic Rings+27604255576 for Money Fame Job Promotions Gambling in So...
MalikAliMohamad1
 
The Significance of the Locust Army in Revelation 9
The Significance of the Locust Army in Revelation 9The Significance of the Locust Army in Revelation 9
The Significance of the Locust Army in Revelation 9
bluetroyvictorVinay
 
New York City love spells in Dallas, TX.
New York City love spells in Dallas, TX.New York City love spells in Dallas, TX.
New York City love spells in Dallas, TX.
spellshealer8
 
sanskrit yoga mantras chanting for yoga class
sanskrit yoga mantras chanting for yoga classsanskrit yoga mantras chanting for yoga class
sanskrit yoga mantras chanting for yoga class
Karuna Yoga Vidya Peetham
 
Lesson 12 - The Blessed Hope: The Mark of the Christian.pptx
Lesson 12 - The Blessed Hope: The Mark of the Christian.pptxLesson 12 - The Blessed Hope: The Mark of the Christian.pptx
Lesson 12 - The Blessed Hope: The Mark of the Christian.pptx
Celso Napoleon
 
Deerfoot Church of Christ Bulletin 6 23 24
Deerfoot Church of Christ Bulletin 6 23 24Deerfoot Church of Christ Bulletin 6 23 24
Deerfoot Church of Christ Bulletin 6 23 24
deerfootcoc
 
Tracking "The Blessing" - Christianity · Spiritual Growth · Success
Tracking "The Blessing" - Christianity · Spiritual Growth · SuccessTracking "The Blessing" - Christianity · Spiritual Growth · Success
Tracking "The Blessing" - Christianity · Spiritual Growth · Success
Jeff Zahorsky (tkg.tf)
 
DaroodSharif for cure of all problems here and hereafter.
DaroodSharif for cure of all problems here and hereafter.DaroodSharif for cure of all problems here and hereafter.
DaroodSharif for cure of all problems here and hereafter.
ORIPL
 
"Lift off" by Pastor Mark Behr at North Athens Baptist Church
"Lift off" by Pastor Mark Behr at North Athens Baptist Church"Lift off" by Pastor Mark Behr at North Athens Baptist Church
"Lift off" by Pastor Mark Behr at North Athens Baptist Church
JurgenFinch
 
Is Lucid Dreaming Dangerous? Risks and Benefits!
Is Lucid Dreaming Dangerous? Risks and Benefits!Is Lucid Dreaming Dangerous? Risks and Benefits!
Is Lucid Dreaming Dangerous? Risks and Benefits!
Symbolic Whispers
 
Lição 12: João 15 a 17 – O Espírito Santo e a Oração Sacerdotal | 2° Trimestr...
Lição 12: João 15 a 17 – O Espírito Santo e a Oração Sacerdotal | 2° Trimestr...Lição 12: João 15 a 17 – O Espírito Santo e a Oração Sacerdotal | 2° Trimestr...
Lição 12: João 15 a 17 – O Espírito Santo e a Oração Sacerdotal | 2° Trimestr...
OmarBarrezueta1
 
THE IMPORTANCE OF AWARENESS AND CONSCIOUSNESS
THE IMPORTANCE OF AWARENESS AND CONSCIOUSNESSTHE IMPORTANCE OF AWARENESS AND CONSCIOUSNESS
THE IMPORTANCE OF AWARENESS AND CONSCIOUSNESS
giankumarmarketing
 
Tales of This and Another Life - Chapters.pdf
Tales of This and Another Life - Chapters.pdfTales of This and Another Life - Chapters.pdf
Tales of This and Another Life - Chapters.pdf
MashaL38
 
Introduction to World Religions and Belief Systems Lesson 5 - Islam.pptx
Introduction to World Religions and Belief Systems Lesson 5 - Islam.pptxIntroduction to World Religions and Belief Systems Lesson 5 - Islam.pptx
Introduction to World Religions and Belief Systems Lesson 5 - Islam.pptx
JonathanMansueto1
 
Monthly Khazina-e-Ruhaniyaat Jun’2024 (Vol.15, Issue 2)
Monthly Khazina-e-Ruhaniyaat Jun’2024 (Vol.15, Issue 2)Monthly Khazina-e-Ruhaniyaat Jun’2024 (Vol.15, Issue 2)
Monthly Khazina-e-Ruhaniyaat Jun’2024 (Vol.15, Issue 2)
Darul Amal Chishtia
 
Three Things Slideshow by: Kal-el Marcus
Three Things Slideshow by: Kal-el MarcusThree Things Slideshow by: Kal-el Marcus
Three Things Slideshow by: Kal-el Marcus
Kal-el Shows
 
taittreya upanishad - tradition of yoga and Upanishads, this concept of panch...
taittreya upanishad - tradition of yoga and Upanishads, this concept of panch...taittreya upanishad - tradition of yoga and Upanishads, this concept of panch...
taittreya upanishad - tradition of yoga and Upanishads, this concept of panch...
Karuna Yoga Vidya Peetham
 
Me and You Slideshow by: Kal-el Marcus L. Go
Me and You Slideshow by: Kal-el Marcus L. GoMe and You Slideshow by: Kal-el Marcus L. Go
Me and You Slideshow by: Kal-el Marcus L. Go
Kal-el Shows
 

Recently uploaded (20)

The Power of Actions Slideshow by: Kal-el
The Power of Actions Slideshow by: Kal-elThe Power of Actions Slideshow by: Kal-el
The Power of Actions Slideshow by: Kal-el
 
OM Meditation - ultimate meditation technique
OM Meditation - ultimate meditation techniqueOM Meditation - ultimate meditation technique
OM Meditation - ultimate meditation technique
 
Powerful Magic Rings+27604255576 for Money Fame Job Promotions Gambling in So...
Powerful Magic Rings+27604255576 for Money Fame Job Promotions Gambling in So...Powerful Magic Rings+27604255576 for Money Fame Job Promotions Gambling in So...
Powerful Magic Rings+27604255576 for Money Fame Job Promotions Gambling in So...
 
The Significance of the Locust Army in Revelation 9
The Significance of the Locust Army in Revelation 9The Significance of the Locust Army in Revelation 9
The Significance of the Locust Army in Revelation 9
 
New York City love spells in Dallas, TX.
New York City love spells in Dallas, TX.New York City love spells in Dallas, TX.
New York City love spells in Dallas, TX.
 
sanskrit yoga mantras chanting for yoga class
sanskrit yoga mantras chanting for yoga classsanskrit yoga mantras chanting for yoga class
sanskrit yoga mantras chanting for yoga class
 
Lesson 12 - The Blessed Hope: The Mark of the Christian.pptx
Lesson 12 - The Blessed Hope: The Mark of the Christian.pptxLesson 12 - The Blessed Hope: The Mark of the Christian.pptx
Lesson 12 - The Blessed Hope: The Mark of the Christian.pptx
 
Deerfoot Church of Christ Bulletin 6 23 24
Deerfoot Church of Christ Bulletin 6 23 24Deerfoot Church of Christ Bulletin 6 23 24
Deerfoot Church of Christ Bulletin 6 23 24
 
Tracking "The Blessing" - Christianity · Spiritual Growth · Success
Tracking "The Blessing" - Christianity · Spiritual Growth · SuccessTracking "The Blessing" - Christianity · Spiritual Growth · Success
Tracking "The Blessing" - Christianity · Spiritual Growth · Success
 
DaroodSharif for cure of all problems here and hereafter.
DaroodSharif for cure of all problems here and hereafter.DaroodSharif for cure of all problems here and hereafter.
DaroodSharif for cure of all problems here and hereafter.
 
"Lift off" by Pastor Mark Behr at North Athens Baptist Church
"Lift off" by Pastor Mark Behr at North Athens Baptist Church"Lift off" by Pastor Mark Behr at North Athens Baptist Church
"Lift off" by Pastor Mark Behr at North Athens Baptist Church
 
Is Lucid Dreaming Dangerous? Risks and Benefits!
Is Lucid Dreaming Dangerous? Risks and Benefits!Is Lucid Dreaming Dangerous? Risks and Benefits!
Is Lucid Dreaming Dangerous? Risks and Benefits!
 
Lição 12: João 15 a 17 – O Espírito Santo e a Oração Sacerdotal | 2° Trimestr...
Lição 12: João 15 a 17 – O Espírito Santo e a Oração Sacerdotal | 2° Trimestr...Lição 12: João 15 a 17 – O Espírito Santo e a Oração Sacerdotal | 2° Trimestr...
Lição 12: João 15 a 17 – O Espírito Santo e a Oração Sacerdotal | 2° Trimestr...
 
THE IMPORTANCE OF AWARENESS AND CONSCIOUSNESS
THE IMPORTANCE OF AWARENESS AND CONSCIOUSNESSTHE IMPORTANCE OF AWARENESS AND CONSCIOUSNESS
THE IMPORTANCE OF AWARENESS AND CONSCIOUSNESS
 
Tales of This and Another Life - Chapters.pdf
Tales of This and Another Life - Chapters.pdfTales of This and Another Life - Chapters.pdf
Tales of This and Another Life - Chapters.pdf
 
Introduction to World Religions and Belief Systems Lesson 5 - Islam.pptx
Introduction to World Religions and Belief Systems Lesson 5 - Islam.pptxIntroduction to World Religions and Belief Systems Lesson 5 - Islam.pptx
Introduction to World Religions and Belief Systems Lesson 5 - Islam.pptx
 
Monthly Khazina-e-Ruhaniyaat Jun’2024 (Vol.15, Issue 2)
Monthly Khazina-e-Ruhaniyaat Jun’2024 (Vol.15, Issue 2)Monthly Khazina-e-Ruhaniyaat Jun’2024 (Vol.15, Issue 2)
Monthly Khazina-e-Ruhaniyaat Jun’2024 (Vol.15, Issue 2)
 
Three Things Slideshow by: Kal-el Marcus
Three Things Slideshow by: Kal-el MarcusThree Things Slideshow by: Kal-el Marcus
Three Things Slideshow by: Kal-el Marcus
 
taittreya upanishad - tradition of yoga and Upanishads, this concept of panch...
taittreya upanishad - tradition of yoga and Upanishads, this concept of panch...taittreya upanishad - tradition of yoga and Upanishads, this concept of panch...
taittreya upanishad - tradition of yoga and Upanishads, this concept of panch...
 
Me and You Slideshow by: Kal-el Marcus L. Go
Me and You Slideshow by: Kal-el Marcus L. GoMe and You Slideshow by: Kal-el Marcus L. Go
Me and You Slideshow by: Kal-el Marcus L. Go
 

IoT Prototyping using BBB and Debian

  • 1. Drew Moseley Technical Solutions Architect Mender.io
  • 2. Session overview ● Discussion of basic IoT system architecture ● Overview of Beaglebone Black and Debian ● How to use them for quick prototyping of IoT application ● Demo application ● Considerations when moving beyond prototyping Goal: Get started quickly
  • 3. Thank you to our Sponsors ● Kevin Dankwardt and the Silicon Valley Linux Technology meetup group ● Ouster.io ● Red Alert Labs
  • 4. About me Drew Moseley ○ 10 years in Embedded Linux/Yocto development. ○ Longer than that in general Embedded Software. ○ Project Lead and Solutions Architect. drew.moseley@mender.io https://twitter.com/drewmoseley https://www.linkedin.com/in/drewmoseley/ https://twitter.com/mender_io Mender.io ○ Over-the-air updater for Embedded Linux ○ Open source (Apache License, v2) ○ Dual A/B rootfs layout (client) ○ Remote deployment management (server) ○ Under active development
  • 5. Motivation for this topic ● IoT product growth: $520 billion by 20211 ● Product lead time and life cycle time ● Developers lacking embedded background ● Maker movement 1 https://www.forbes.com/sites/louiscolumbus/2018/08/16/iot-market-predicted-to-double-by-2021-reaching-520b/
  • 6. Challenges for Embedded Device Development Hardware variety Storage Media Software may be maintained in forks Cross development Initial device provisioning
  • 7. ● “A network of internet-connected objects able to collect and exchange data using embedded sensors.”1 IoT Definition 1 http://www.businessinsider.com/what-is-the-internet-of-things-definition-2016-8 ● A “network of physical devices, vehicles, home appliances and other items embedded with electronics, software, sensors, actuators, and connectivity which enables these objects to connect and exchange data.”3 ● IEEE (86 page PDF)2 ● Key characteristics: ⎻ Connected ⎻ Sensors ⎻ Actuators ⎻ Cloud Infrastructure 2 https://iot.ieee.org/definition.html 3 https://en.wikipedia.org/wiki/Internet_of_things
  • 9. About Beagleboard Governed by a “non-profit corporation existing to provide education in and collaboration around the design and use of open-source software and hardware in embedded computing”1 ● Embedded development boards powerful enough to run full Linux system ● Active developer community ● Multiple form-factors ● Multiple OS providers ● Readily available from many vendors 1 https://beagleboard.org/about
  • 10. About Beagleboard, cont’d Onboard peripherals Expandable using capes: ● Beagleboard.org: 8 ● Elinux.org: 10 production/many “legacy” Cape Features: ● High power ● Servos/Motors ● Robotics ● Prototyping 1 https://beagleboard.org/about
  • 11. About Debian Debian is a free operating system (OS) for your computer. 1 ● Over 51000 packages ● 10 CPU architectures ● Used as the basis for many other distros (eg Ubuntu) 1 https://www.debian.org/
  • 12. IoT Demo Architecture Weather station: sensors and actuators Note: device and system management is not part of this demo Beaglebone black Debian WiFi/Ethernet Python MQTT
  • 13. Step 1: Host PC Prototyping Python code running on PC ● Any system capable of running python ○ Linux: likely already installed ○ MacOS: preinstalled(?) or from Homebrew ○ Windows: available from python.org ○ Docker: https://hub.docker.com/_/python 1 See also virtenv (https://virtualenv.pypa.io/en/latest/) for creating isolated Python environments https://github.com/drewmoseley/iot-mqtt-bbb.git ● Using python Paho MQTT library ○ $ sudo apt install python python-paho-mqtt ○ $ pip install paho-mqtt1 ● Using public MQTT broker2 2 Warning; any data shared with this server is publicly available.
  • 14. Step 2: Beaglebone Black Prototyping 1. Install IOT image1 2. Boot the board 3. Login with ssh (debian:temppwd) 4. Verify/install python and paho-mqtt library 5. Download sample code 6. Run it 1 https://beagleboard.org/latest-images
  • 15. ● Use a private MQTT broker ○ Encrypted transport ● Web management UI ○ Device management ○ Updates ● Automate offline image generation Ideas for Next Steps
  • 16. ● Device lifetimes. ● Managed vs unmanaged fleet: ○ Will you have direct control of deployed devices? ● Operating Environment: ○ How hostile is it? ○ How reliable is power and connectivity? ● Can the user modify the software? ● Is there some kind of end-user interface? ● Bandwidth: ○ Network ○ Cloud compute Production Considerations
  • 17. ● Developer workflow ○ Offline vs on-target steps ○ Incremental vs full image ○ Application vs System developers ○ “Golden Master” media is a bottleneck ● Manufacturing ○ First-boot actions slow the line ○ Need mechanism to inject data (certificates, host names, serial numbers) Development Considerations
  • 18. System Software Options - Linux ● Embedded Linux Options ⎻ Desktop Class Distro ■ Direct Install ■ Packaging scripts ⎻ Embedded Distro Builder ■ Yocto ■ Buildroot ■ OpenWRT ⎻ Hybrid ■ ISAR ■ ELBE I got this!! 1 https://en.wikipedia.org/wiki/Linux_on_embedded_systems
  • 19. Other Criteria ● Hardware vendor provided material ● Training and documentation ● Vendor for support ● Developer experience