SlideShare uma empresa Scribd logo
1 de 34
Developing IoT devices
with mbed OS 5
Jan Jongboom
Liyou Zhou
mbed Connect 2016 - Shenzhen
© ARM 20162
Your hosts
Liyou Zhou
Software Engineer
Jan Jongboom
Developer Evangelist
©ARM2016
“I buy at the beginning of paradigm shifts.
We are at that moment now with Internet-
of-things.”
3
Masayoshi Son
© ARM 20164
mbed has changed
mbed State of the Union
© ARM 20165
Before mbed OS 5
Online compiler Hardware Abstraction Layer
+
© ARM 20166
HAL fueled growth, compiler brought people
in
© ARM 20167
But... embedded development is changing
MCUs get more powerful, communication cheaper
We want more from our devices
 Run full IP stacks
 Firmware upgrades
 Device management
Challenges galore!
© ARM 20168
Affects both professionals and hobbyists
Professionals Hobbyists
Bigger attack surface
Larger chance of bugs
Add value, not plumbing
Require sane defaults
Get to 90% without much effort
Need proper networking
Good battery life out of the box
© ARM 20169
Standardizing the ecosystem
Professionals Hobbyists
Bigger attack surface
Memory isolation
Larger chance of bugs
Well tested isolated middleware
Add value, not plumbing
Cloud features, RTOS, unified
network stacks
Require sane defaults
Get to 90% without much effort
Well tested cloud middleware
Need proper networking
Unified networking stacks
Good battery life out of the box
Optional schedular
© ARM 201610
mbed OS 5 is more...
More than the online compiler
More than the library ecosystem
Well-tested middleware for IoT
Not needed?
Still runs in 8K of RAM...
©ARM201611
Developing for mbed OS 5
Or... how to get away from the online
compiler
© ARM 201612
Not just the online compiler
© ARM 201613
Three development environments
Online compiler mbed CLI Offline IDE
© ARM 201614
Proper online / offline story
Syn
c
mbed.org
GitHub
Private DVCS
© ARM 201615
Full integration coming to uVision 5
mbed Library manager
mbed OS 5 as CMSIS-PACK
Reference for other IDEs
© ARM 201616
Getting started - online compiler
Choose 'mbed OS Blinky'
© ARM 201617
Getting started - mbed CLI
Install mbed CLI - https://github.com/ARMmbed/mbed-cli
$ mbed new my-awesome-project
© ARM 201618
Full RTOS or event scheduler
Full RTOS based on Keil RTX
Optional event scheduler - mbed-events
 Same concepts as minar in mbed OS 3
 Runs in an RTOS thread
 https://github.com/ARMmbed/mbed-
os/blob/master/docs/events.md
© ARM 2016
1 #include "mbed_events.h"
2
3 // Create an event queue
4 Queue queue(32 * EVENTS_EVENT_SIZE);
5 // Create a thread that'll run the event queue's dispatch function
6 Thread t;
7
8 int main () {
9 // Start the event queue's dispatch thread
10 t.start(callback(&queue, &EventQueue::dispatch_forever));
11
12 // Use normal constructs (like tickers, interrupts)
13 // but wrap them in queue.event to go from ISR->event loop
14 Ticker t2;
15 t2.attach(queue.event(&doSomething), 1.0f);
16 }
19
mbed Events
©ARM201620
Wait... There's an outside world?!
Adding networking
© ARM 201621
Available networking libraries
WiFi
Ethernet
Cellular
Thread
6LoWPAN
Bluetooth Low Energy
LoRaWAN
... many more by the community
© ARM 201622
Available networking libraries
WiFi
Ethernet
Cellular
Thread
6LoWPAN
Bluetooth Low Energy
LoRaWAN
... many more by the community
Unified networking API
Write once, run anywhere
Porting is fast for socket-based libraries
uBlox C027 ported in one day
mbed TLS included
© ARM 201623
Example - HTTP using ESP8266
Add https://github.com/ARMmbed/esp8266-driver
1 #include "mbed.h"
2 #include "ESP8266Interface.h"
3
4 ESP8266Interface esp(D1 /* TX */, D0 /* RX */);
5
6 int main() {
7 NetworkInterface* network = esp.connect("SSID", "Password");
8
9 if (network) {
10 const char *ip_addr = network_interface->get_ip_address();
11 printf("IP address is %sn", ip_addr);
12 }
© ARM 201624
Example - HTTP using ESP8266 (2)
1 socket.open(network);
2 socket.connect("developer.mbed.org", 80);
3
4 char sbuffer[] = "GET / HTTP/1.1rnHost: developer.mbed.orgrnrn";
5 int scount = socket.send(sbuffer, sizeof sbuffer);
6
7 char rbuffer[64];
8 int rcount = socket.recv(rbuffer, sizeof rbuffer);
9 printf("recv %d [%.*s]rn", rcount);
© ARM 201625
Security is bigger than TLS
© ARM 201626
Reducing attack area on microcontrollers
No MMU
Flat address space
Need component isolation
© ARM 201627
uVisor
Memory isolation
Trustzone on V8-M architecture (Cortex-M23, Cortex-M33)
Secure boxes
Will be integrated part of mbed OS 5.x
 Critical parts will be provided as well-tested isolated blocks
Currently available on 3 targets
© ARM 201628
uVisor Blocks
Exposed Critical
Secure
Storage
Crypto
Keys
Secure ID
Firmware
Update
Crypto API
PRNG
Application
Protocol
TLS Library
Diagnose
WiFi Stack
BLE Stack
Device
Management
©ARM201629
"Ceci n'est pas un nuage"
Adding mbed Client
© ARM 201630
mbed Client
Raw TCP / UDP sockets - easy data
streams
Device management through
mbed Device Connector
mbed Client is cloud middleware
© ARM 201631
Simple mbed Client
Library to easily bring variables into the cloud
https://developer.mbed.org/teams/sandbox/code/simple-mbed-
client
Cloud variables
 Define a variable
 Use it as normal variable, magic!
Easy to re-use existing mbed libraries...
(integrated in core mbed Client in next release)
One more thing...
© ARM 201633
http://mbed.com/js
Thank you!
http://developer.mbed.org
Thank you!

Mais conteúdo relacionado

Mais procurados

Developing functional safety systems with arm architecture solutions stroud
Developing functional safety systems with arm architecture solutions   stroudDeveloping functional safety systems with arm architecture solutions   stroud
Developing functional safety systems with arm architecture solutions stroudArm
 
A practical approach to securing embedded and io t platforms
A practical approach to securing embedded and io t platformsA practical approach to securing embedded and io t platforms
A practical approach to securing embedded and io t platformsArm
 
So you think developing an SoC needs to be complex or expensive?
So you think developing an SoC needs to be complex or expensive?So you think developing an SoC needs to be complex or expensive?
So you think developing an SoC needs to be complex or expensive?Arm
 
Software development in ar mv8 m architecture - yiu
Software development in ar mv8 m architecture - yiuSoftware development in ar mv8 m architecture - yiu
Software development in ar mv8 m architecture - yiuArm
 
BKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T SystemsBKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T SystemsLinaro
 
High end security for low-end microcontrollers
High end security for low-end microcontrollersHigh end security for low-end microcontrollers
High end security for low-end microcontrollersMilosch Meriac
 
Efficient software development with heterogeneous devices
Efficient software development with heterogeneous devicesEfficient software development with heterogeneous devices
Efficient software development with heterogeneous devicesArm
 
Optimizing ARM cortex a and cortex-m based heterogeneous multiprocessor syste...
Optimizing ARM cortex a and cortex-m based heterogeneous multiprocessor syste...Optimizing ARM cortex a and cortex-m based heterogeneous multiprocessor syste...
Optimizing ARM cortex a and cortex-m based heterogeneous multiprocessor syste...Arm
 
Microsoft Infopedia webinar "Secure Your Azure Cloud Deployments with VNS3 Ov...
Microsoft Infopedia webinar "Secure Your Azure Cloud Deployments with VNS3 Ov...Microsoft Infopedia webinar "Secure Your Azure Cloud Deployments with VNS3 Ov...
Microsoft Infopedia webinar "Secure Your Azure Cloud Deployments with VNS3 Ov...Cohesive Networks
 
Cisco Meraki - Let Simple Work for You
Cisco Meraki - Let Simple Work for YouCisco Meraki - Let Simple Work for You
Cisco Meraki - Let Simple Work for YouCisco Canada
 
Fortinet Icon Library
Fortinet Icon LibraryFortinet Icon Library
Fortinet Icon LibraryFortinet
 
Threat Landscape for Education
Threat Landscape for EducationThreat Landscape for Education
Threat Landscape for EducationColloqueRISQ
 
Build Redundant and Resilient Networks with Micro-Segmentation
Build Redundant and Resilient Networks with Micro-SegmentationBuild Redundant and Resilient Networks with Micro-Segmentation
Build Redundant and Resilient Networks with Micro-SegmentationWestermo Network Technologies
 
ARM: Trusted Zone on Android
ARM: Trusted Zone on AndroidARM: Trusted Zone on Android
ARM: Trusted Zone on AndroidKan-Han (John) Lu
 
Cisco asa 5500 series adaptive security appliances
Cisco asa 5500 series adaptive security appliancesCisco asa 5500 series adaptive security appliances
Cisco asa 5500 series adaptive security appliancesIT Tech
 
Cisco asa firewall
Cisco asa firewallCisco asa firewall
Cisco asa firewallIT Tech
 
Fortinet ixia ottawa, june 2013
Fortinet ixia ottawa, june 2013Fortinet ixia ottawa, june 2013
Fortinet ixia ottawa, june 2013juliankanarek
 
Next Generation Embedded Systems Security for IOT: Powered by Kaspersky
Next Generation Embedded Systems Security for IOT:  Powered by KasperskyNext Generation Embedded Systems Security for IOT:  Powered by Kaspersky
Next Generation Embedded Systems Security for IOT: Powered by KasperskyL. Duke Golden
 
Siprotec 5 - Expanded Cyber Security Capabilities
Siprotec 5  - Expanded Cyber Security CapabilitiesSiprotec 5  - Expanded Cyber Security Capabilities
Siprotec 5 - Expanded Cyber Security CapabilitiesRyan O'Mara
 

Mais procurados (20)

Developing functional safety systems with arm architecture solutions stroud
Developing functional safety systems with arm architecture solutions   stroudDeveloping functional safety systems with arm architecture solutions   stroud
Developing functional safety systems with arm architecture solutions stroud
 
A practical approach to securing embedded and io t platforms
A practical approach to securing embedded and io t platformsA practical approach to securing embedded and io t platforms
A practical approach to securing embedded and io t platforms
 
So you think developing an SoC needs to be complex or expensive?
So you think developing an SoC needs to be complex or expensive?So you think developing an SoC needs to be complex or expensive?
So you think developing an SoC needs to be complex or expensive?
 
Software development in ar mv8 m architecture - yiu
Software development in ar mv8 m architecture - yiuSoftware development in ar mv8 m architecture - yiu
Software development in ar mv8 m architecture - yiu
 
BKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T SystemsBKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T Systems
 
High end security for low-end microcontrollers
High end security for low-end microcontrollersHigh end security for low-end microcontrollers
High end security for low-end microcontrollers
 
Efficient software development with heterogeneous devices
Efficient software development with heterogeneous devicesEfficient software development with heterogeneous devices
Efficient software development with heterogeneous devices
 
Optimizing ARM cortex a and cortex-m based heterogeneous multiprocessor syste...
Optimizing ARM cortex a and cortex-m based heterogeneous multiprocessor syste...Optimizing ARM cortex a and cortex-m based heterogeneous multiprocessor syste...
Optimizing ARM cortex a and cortex-m based heterogeneous multiprocessor syste...
 
Microsoft Infopedia webinar "Secure Your Azure Cloud Deployments with VNS3 Ov...
Microsoft Infopedia webinar "Secure Your Azure Cloud Deployments with VNS3 Ov...Microsoft Infopedia webinar "Secure Your Azure Cloud Deployments with VNS3 Ov...
Microsoft Infopedia webinar "Secure Your Azure Cloud Deployments with VNS3 Ov...
 
Cisco Meraki - Let Simple Work for You
Cisco Meraki - Let Simple Work for YouCisco Meraki - Let Simple Work for You
Cisco Meraki - Let Simple Work for You
 
Fortinet Icon Library
Fortinet Icon LibraryFortinet Icon Library
Fortinet Icon Library
 
Threat Landscape for Education
Threat Landscape for EducationThreat Landscape for Education
Threat Landscape for Education
 
Build Redundant and Resilient Networks with Micro-Segmentation
Build Redundant and Resilient Networks with Micro-SegmentationBuild Redundant and Resilient Networks with Micro-Segmentation
Build Redundant and Resilient Networks with Micro-Segmentation
 
ARM: Trusted Zone on Android
ARM: Trusted Zone on AndroidARM: Trusted Zone on Android
ARM: Trusted Zone on Android
 
Cisco asa 5500 series adaptive security appliances
Cisco asa 5500 series adaptive security appliancesCisco asa 5500 series adaptive security appliances
Cisco asa 5500 series adaptive security appliances
 
Cisco asa firewall
Cisco asa firewallCisco asa firewall
Cisco asa firewall
 
Fortinet ixia ottawa, june 2013
Fortinet ixia ottawa, june 2013Fortinet ixia ottawa, june 2013
Fortinet ixia ottawa, june 2013
 
Next Generation Embedded Systems Security for IOT: Powered by Kaspersky
Next Generation Embedded Systems Security for IOT:  Powered by KasperskyNext Generation Embedded Systems Security for IOT:  Powered by Kaspersky
Next Generation Embedded Systems Security for IOT: Powered by Kaspersky
 
Siprotec 5 - Expanded Cyber Security Capabilities
Siprotec 5  - Expanded Cyber Security CapabilitiesSiprotec 5  - Expanded Cyber Security Capabilities
Siprotec 5 - Expanded Cyber Security Capabilities
 
System design for the water industry - Andy Verwer
System design for the water industry -  Andy VerwerSystem design for the water industry -  Andy Verwer
System design for the water industry - Andy Verwer
 

Destaque

mbed Connect Asia 2016 David Morning Welcome and Kickoff
mbed Connect Asia 2016 David Morning Welcome and Kickoffmbed Connect Asia 2016 David Morning Welcome and Kickoff
mbed Connect Asia 2016 David Morning Welcome and Kickoffarmmbed
 
LAS16-203: Platform security architecture for embedded devices
LAS16-203: Platform security architecture for embedded devicesLAS16-203: Platform security architecture for embedded devices
LAS16-203: Platform security architecture for embedded devicesLinaro
 
Tutorial1: mbed開發快速上手
Tutorial1: mbed開發快速上手Tutorial1: mbed開發快速上手
Tutorial1: mbed開發快速上手艾鍗科技
 
mbed Connect Asia 2016 Andy Chen ARM Accelerator
mbed Connect Asia 2016 Andy Chen ARM Accelerator mbed Connect Asia 2016 Andy Chen ARM Accelerator
mbed Connect Asia 2016 Andy Chen ARM Accelerator armmbed
 
mbed Connect Asia 2016 Intro to mbed OS
mbed Connect Asia 2016 Intro to mbed OSmbed Connect Asia 2016 Intro to mbed OS
mbed Connect Asia 2016 Intro to mbed OSarmmbed
 
ARM mbed connect
ARM mbed connectARM mbed connect
ARM mbed connectJinbuhm Kim
 
mbed Connect Asia 2016 Overview of mbed Device Connector
mbed Connect Asia 2016 Overview of mbed Device Connectormbed Connect Asia 2016 Overview of mbed Device Connector
mbed Connect Asia 2016 Overview of mbed Device Connectorarmmbed
 
Building IoT devices with ARM mbed - RISE Manchester
Building IoT devices with ARM mbed - RISE ManchesterBuilding IoT devices with ARM mbed - RISE Manchester
Building IoT devices with ARM mbed - RISE ManchesterJan Jongboom
 
Resilient IoT Security: The end of flat security models
Resilient IoT Security: The end of flat security modelsResilient IoT Security: The end of flat security models
Resilient IoT Security: The end of flat security modelsMilosch Meriac
 
Crypto Performance on ARM Cortex-M Processors
Crypto Performance on ARM Cortex-M ProcessorsCrypto Performance on ARM Cortex-M Processors
Crypto Performance on ARM Cortex-M ProcessorsHannes Tschofenig
 
2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARM2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARMAntonio Mondragon
 
HEALTH MONITORING SYSTEM using mbed NXP LPC11U24
HEALTH MONITORING SYSTEM using mbed NXP LPC11U24HEALTH MONITORING SYSTEM using mbed NXP LPC11U24
HEALTH MONITORING SYSTEM using mbed NXP LPC11U24Jigyasa Singh
 
Power the world with mbed LPC1768
Power the world with mbed LPC1768Power the world with mbed LPC1768
Power the world with mbed LPC1768yoonghm
 

Destaque (14)

mbed Connect Asia 2016 David Morning Welcome and Kickoff
mbed Connect Asia 2016 David Morning Welcome and Kickoffmbed Connect Asia 2016 David Morning Welcome and Kickoff
mbed Connect Asia 2016 David Morning Welcome and Kickoff
 
LAS16-203: Platform security architecture for embedded devices
LAS16-203: Platform security architecture for embedded devicesLAS16-203: Platform security architecture for embedded devices
LAS16-203: Platform security architecture for embedded devices
 
Tutorial1: mbed開發快速上手
Tutorial1: mbed開發快速上手Tutorial1: mbed開發快速上手
Tutorial1: mbed開發快速上手
 
mbed Connect Asia 2016 Andy Chen ARM Accelerator
mbed Connect Asia 2016 Andy Chen ARM Accelerator mbed Connect Asia 2016 Andy Chen ARM Accelerator
mbed Connect Asia 2016 Andy Chen ARM Accelerator
 
mbed Connect Asia 2016 Intro to mbed OS
mbed Connect Asia 2016 Intro to mbed OSmbed Connect Asia 2016 Intro to mbed OS
mbed Connect Asia 2016 Intro to mbed OS
 
ARM mbed connect
ARM mbed connectARM mbed connect
ARM mbed connect
 
mbed Connect Asia 2016 Overview of mbed Device Connector
mbed Connect Asia 2016 Overview of mbed Device Connectormbed Connect Asia 2016 Overview of mbed Device Connector
mbed Connect Asia 2016 Overview of mbed Device Connector
 
Building IoT devices with ARM mbed - RISE Manchester
Building IoT devices with ARM mbed - RISE ManchesterBuilding IoT devices with ARM mbed - RISE Manchester
Building IoT devices with ARM mbed - RISE Manchester
 
Presentation
PresentationPresentation
Presentation
 
Resilient IoT Security: The end of flat security models
Resilient IoT Security: The end of flat security modelsResilient IoT Security: The end of flat security models
Resilient IoT Security: The end of flat security models
 
Crypto Performance on ARM Cortex-M Processors
Crypto Performance on ARM Cortex-M ProcessorsCrypto Performance on ARM Cortex-M Processors
Crypto Performance on ARM Cortex-M Processors
 
2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARM2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARM
 
HEALTH MONITORING SYSTEM using mbed NXP LPC11U24
HEALTH MONITORING SYSTEM using mbed NXP LPC11U24HEALTH MONITORING SYSTEM using mbed NXP LPC11U24
HEALTH MONITORING SYSTEM using mbed NXP LPC11U24
 
Power the world with mbed LPC1768
Power the world with mbed LPC1768Power the world with mbed LPC1768
Power the world with mbed LPC1768
 

Semelhante a mbed Connect Asia 2016 Developing IoT devices with mbed OS 5

LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your networkLT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your networkIndonesia Network Operators Group
 
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple Steps
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple StepsIDNOG 4 Lightning Talks - Documenting your Network in 3 Simple Steps
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple StepsAffan Basalamah
 
Web Machine Learning (ML) API POC march update
Web Machine Learning (ML) API POC march updateWeb Machine Learning (ML) API POC march update
Web Machine Learning (ML) API POC march updatehuningxin
 
Creating IoT application using ARM mbed and NanoService solution
Creating IoT application using ARM mbed and NanoService solutionCreating IoT application using ARM mbed and NanoService solution
Creating IoT application using ARM mbed and NanoService solutionPratul Sharma
 
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...ryancox
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rulesFreddy Buenaño
 
Maker of Things - the open IoT cloud for makers chapter.
Maker of Things - the open IoT cloud for makers chapter.Maker of Things - the open IoT cloud for makers chapter.
Maker of Things - the open IoT cloud for makers chapter.Jollen Chen
 
Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Haim Michael
 
Flutter Vikings 2022 - Full Stack Dart
Flutter Vikings 2022  - Full Stack DartFlutter Vikings 2022  - Full Stack Dart
Flutter Vikings 2022 - Full Stack DartChris Swan
 
How to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsHow to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsToradex
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?Damir Dobric
 
NET core 2 e i fratelli
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelliAndrea Tosato
 
Maxbox starter18
Maxbox starter18Maxbox starter18
Maxbox starter18Max Kleiner
 
Node JS Crash Course
Node JS Crash CourseNode JS Crash Course
Node JS Crash CourseHaim Michael
 
maXbox Arduino Tutorial
maXbox Arduino TutorialmaXbox Arduino Tutorial
maXbox Arduino TutorialMax Kleiner
 
Asterisk quick start Guide
Asterisk quick start GuideAsterisk quick start Guide
Asterisk quick start GuideKing Asterisk
 
Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019Cisco DevNet
 
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥Marc Müller
 

Semelhante a mbed Connect Asia 2016 Developing IoT devices with mbed OS 5 (20)

LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your networkLT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
 
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple Steps
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple StepsIDNOG 4 Lightning Talks - Documenting your Network in 3 Simple Steps
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple Steps
 
Web Machine Learning (ML) API POC march update
Web Machine Learning (ML) API POC march updateWeb Machine Learning (ML) API POC march update
Web Machine Learning (ML) API POC march update
 
Creating IoT application using ARM mbed and NanoService solution
Creating IoT application using ARM mbed and NanoService solutionCreating IoT application using ARM mbed and NanoService solution
Creating IoT application using ARM mbed and NanoService solution
 
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
 
Automation day red hat ansible
   Automation day red hat ansible    Automation day red hat ansible
Automation day red hat ansible
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
 
Maker of Things - the open IoT cloud for makers chapter.
Maker of Things - the open IoT cloud for makers chapter.Maker of Things - the open IoT cloud for makers chapter.
Maker of Things - the open IoT cloud for makers chapter.
 
Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start)
 
Flutter Vikings 2022 - Full Stack Dart
Flutter Vikings 2022  - Full Stack DartFlutter Vikings 2022  - Full Stack Dart
Flutter Vikings 2022 - Full Stack Dart
 
How to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsHow to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux Systems
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
NET core 2 e i fratelli
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelli
 
Maxbox starter18
Maxbox starter18Maxbox starter18
Maxbox starter18
 
Node JS Crash Course
Node JS Crash CourseNode JS Crash Course
Node JS Crash Course
 
maXbox Arduino Tutorial
maXbox Arduino TutorialmaXbox Arduino Tutorial
maXbox Arduino Tutorial
 
Asterisk quick start Guide
Asterisk quick start GuideAsterisk quick start Guide
Asterisk quick start Guide
 
Asterisk quick start Guide
Asterisk quick start Guide Asterisk quick start Guide
Asterisk quick start Guide
 
Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019
 
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
 

Último

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Último (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

mbed Connect Asia 2016 Developing IoT devices with mbed OS 5

  • 1. Developing IoT devices with mbed OS 5 Jan Jongboom Liyou Zhou mbed Connect 2016 - Shenzhen
  • 2. © ARM 20162 Your hosts Liyou Zhou Software Engineer Jan Jongboom Developer Evangelist
  • 3. ©ARM2016 “I buy at the beginning of paradigm shifts. We are at that moment now with Internet- of-things.” 3 Masayoshi Son
  • 4. © ARM 20164 mbed has changed mbed State of the Union
  • 5. © ARM 20165 Before mbed OS 5 Online compiler Hardware Abstraction Layer +
  • 6. © ARM 20166 HAL fueled growth, compiler brought people in
  • 7. © ARM 20167 But... embedded development is changing MCUs get more powerful, communication cheaper We want more from our devices  Run full IP stacks  Firmware upgrades  Device management Challenges galore!
  • 8. © ARM 20168 Affects both professionals and hobbyists Professionals Hobbyists Bigger attack surface Larger chance of bugs Add value, not plumbing Require sane defaults Get to 90% without much effort Need proper networking Good battery life out of the box
  • 9. © ARM 20169 Standardizing the ecosystem Professionals Hobbyists Bigger attack surface Memory isolation Larger chance of bugs Well tested isolated middleware Add value, not plumbing Cloud features, RTOS, unified network stacks Require sane defaults Get to 90% without much effort Well tested cloud middleware Need proper networking Unified networking stacks Good battery life out of the box Optional schedular
  • 10. © ARM 201610 mbed OS 5 is more... More than the online compiler More than the library ecosystem Well-tested middleware for IoT Not needed? Still runs in 8K of RAM...
  • 11. ©ARM201611 Developing for mbed OS 5 Or... how to get away from the online compiler
  • 12. © ARM 201612 Not just the online compiler
  • 13. © ARM 201613 Three development environments Online compiler mbed CLI Offline IDE
  • 14. © ARM 201614 Proper online / offline story Syn c mbed.org GitHub Private DVCS
  • 15. © ARM 201615 Full integration coming to uVision 5 mbed Library manager mbed OS 5 as CMSIS-PACK Reference for other IDEs
  • 16. © ARM 201616 Getting started - online compiler Choose 'mbed OS Blinky'
  • 17. © ARM 201617 Getting started - mbed CLI Install mbed CLI - https://github.com/ARMmbed/mbed-cli $ mbed new my-awesome-project
  • 18. © ARM 201618 Full RTOS or event scheduler Full RTOS based on Keil RTX Optional event scheduler - mbed-events  Same concepts as minar in mbed OS 3  Runs in an RTOS thread  https://github.com/ARMmbed/mbed- os/blob/master/docs/events.md
  • 19. © ARM 2016 1 #include "mbed_events.h" 2 3 // Create an event queue 4 Queue queue(32 * EVENTS_EVENT_SIZE); 5 // Create a thread that'll run the event queue's dispatch function 6 Thread t; 7 8 int main () { 9 // Start the event queue's dispatch thread 10 t.start(callback(&queue, &EventQueue::dispatch_forever)); 11 12 // Use normal constructs (like tickers, interrupts) 13 // but wrap them in queue.event to go from ISR->event loop 14 Ticker t2; 15 t2.attach(queue.event(&doSomething), 1.0f); 16 } 19 mbed Events
  • 20. ©ARM201620 Wait... There's an outside world?! Adding networking
  • 21. © ARM 201621 Available networking libraries WiFi Ethernet Cellular Thread 6LoWPAN Bluetooth Low Energy LoRaWAN ... many more by the community
  • 22. © ARM 201622 Available networking libraries WiFi Ethernet Cellular Thread 6LoWPAN Bluetooth Low Energy LoRaWAN ... many more by the community Unified networking API Write once, run anywhere Porting is fast for socket-based libraries uBlox C027 ported in one day mbed TLS included
  • 23. © ARM 201623 Example - HTTP using ESP8266 Add https://github.com/ARMmbed/esp8266-driver 1 #include "mbed.h" 2 #include "ESP8266Interface.h" 3 4 ESP8266Interface esp(D1 /* TX */, D0 /* RX */); 5 6 int main() { 7 NetworkInterface* network = esp.connect("SSID", "Password"); 8 9 if (network) { 10 const char *ip_addr = network_interface->get_ip_address(); 11 printf("IP address is %sn", ip_addr); 12 }
  • 24. © ARM 201624 Example - HTTP using ESP8266 (2) 1 socket.open(network); 2 socket.connect("developer.mbed.org", 80); 3 4 char sbuffer[] = "GET / HTTP/1.1rnHost: developer.mbed.orgrnrn"; 5 int scount = socket.send(sbuffer, sizeof sbuffer); 6 7 char rbuffer[64]; 8 int rcount = socket.recv(rbuffer, sizeof rbuffer); 9 printf("recv %d [%.*s]rn", rcount);
  • 25. © ARM 201625 Security is bigger than TLS
  • 26. © ARM 201626 Reducing attack area on microcontrollers No MMU Flat address space Need component isolation
  • 27. © ARM 201627 uVisor Memory isolation Trustzone on V8-M architecture (Cortex-M23, Cortex-M33) Secure boxes Will be integrated part of mbed OS 5.x  Critical parts will be provided as well-tested isolated blocks Currently available on 3 targets
  • 28. © ARM 201628 uVisor Blocks Exposed Critical Secure Storage Crypto Keys Secure ID Firmware Update Crypto API PRNG Application Protocol TLS Library Diagnose WiFi Stack BLE Stack Device Management
  • 29. ©ARM201629 "Ceci n'est pas un nuage" Adding mbed Client
  • 30. © ARM 201630 mbed Client Raw TCP / UDP sockets - easy data streams Device management through mbed Device Connector mbed Client is cloud middleware
  • 31. © ARM 201631 Simple mbed Client Library to easily bring variables into the cloud https://developer.mbed.org/teams/sandbox/code/simple-mbed- client Cloud variables  Define a variable  Use it as normal variable, magic! Easy to re-use existing mbed libraries... (integrated in core mbed Client in next release)

Notas do Editor

  1. 如何用mbed OS 5来开发物联网设备 粗略得阐释一些概念,下午我们有一个workshop,手把手教一个整的物联网的案例。
  2. From Cambridge we have Liyou Zhou, from Amsterdam Jan Jongboom.
  3. 孙正义,软银的老板,刚刚付了320亿美元来买下了我们这个只有5000人的公司,他说:我永远是在巨大变化之初买入,物联网这个领域,马上要开始翻天覆地的变化。我希望他的这番话,能够增强你们对mbed这个生态系统的信心。 Let me start with a quote, by Masa Son, the guy that just paid 32 billion$ for ARM. I hope that justifies the investment you've made in mbed in the past, we are at a great point in computer science history.
  4. 如果你今天早上有听SAM GROVE的发言,你会发现mbed OS有很多新的更新。 Just heard the mbed 'state of the union', might realize that mbed has changed quite a lot.
  5. 曾经,mbed OS是一个在线的开发环境,mbed OS 是一个硬件适配层。HAL 让我们写一遍代码,就可以运行在数十种开发板上面。 这就是我们当年的商标,谢天谢地我们现在有专门的商标设计师了。 我们这个旧的mbed生态圈叫做'mbed 2.0'或者 'mbed Classic’。在座各位很有可能就是在这个原来的mbed的时候加入我们的生态圈的。 对我个人来说,我也是通过mbed第一次接触到这么现代的嵌入式编程模式。 mbed used to be the online compiler & a HAL "yes, that was the real mbed SDK logo, thank God we have designers now!" . Ecosystem now known as 'mbed 2.0' or 'mbed Classic'. Probably the thing that has dragged you into mbed. Jan: for me it was the first time I figured 'this is how micros should be programmed'
  6. mbed成果的另外一个原因就是众多的公开程序库。 我们也无法预料到的是下这这两个数字,28900 个公开程序,每个月一百二十万在线编译。 Pretty great, allows to write code once and target many platforms. Reason mbed has grown so much. Thousands of libraries. Then: 'Also, probably when writing this code we didn't expect this much. There's no comma between the thousands separators ;-)' Click: also doing 1.2 million compiles per month in the online compiler
  7. 但是,嵌入式正在发生着潜移默化的变革。PADI IoT Stamp, 2$ Cortex-M3, 512K RAM, 1MB Flash, Realtek WiFi chip. 24mm by 16mm. 我们需要重新整合,兼顾电池续航和系统安全。 PADI IoT Stamp, 2$ Cortex-M3, 512K RAM, 1MB Flash, Realtek WiFi chip. 24mm by 16mm. Need to balance everything, while maintaining battery life and keeping the system secure.
  8. 我们在做的东西,同时影响了专业的嵌入式工程师和业余电子爱好者。 我们要让专业人士认可我们可以做好网络程序库,也可以坚持低功耗。对于专业人士来说,更复杂的程序,意味着更大的攻击面。更大的机会产生错误。我们现在渐渐进入一个阶段,我们没办法一个人从头到位全包全览得把一个项目做完。现在的程序猿想专注于如何为产品添加价值,做高层的应用,而不是花很多时间做底层硬件的整合。 对于电子爱好者来说,他们想要的是程序容易上手,你的平台应该把90%的问题都帮他们解决了,他们专注做最后的10%。你的网络程序库应该开箱即用,功耗也不能太差。 For professionals, bigger application means a bigger attack surface. Bigger chance of bugs, getting to a state where you cannot fit the whole problem space in your head anymore. Want to add value to the product rather than do the plumbing on device side.  For hobbyist, want sane defaults. Your platform should help you get to 90% without too much effort. Networking stack should work pretty well out of the box, and power consumption should be decent too. 
  9. 所以在mbed OS 5里面,我们统一了许多新特性,对我们两种不同的用户需求都考虑周到。 So, in mbed OS 5 we're standardizing more things, catering for both groups. Unify network APIs (both IP and non-IP). Adding security features. Isolating memory. Preparing the way for firmware updates.
  10. Don't need all that? Fall back to just RTOS+HAL and continue developing as-is. 
  11. * Three development environments:          1. Online compiler - has been updated to also support mbed OS 5          2. Local IDE - refactored exporters for mbed OS 5 and should be more stable than ever. Can export to your favourite IDE. IDE not supported? Use projgen project to add an exporter.          3. mbed CLI - command line interface for mbed, contains library management (like online compiler) and compilation supported with GCC, ARMCC and IAR.
  12. Due to mbed CLI we have a story for online -> offline -> online for the first time. At the moment there's no IDEs with mbed OS 5 library management in there, can use CLI for that. Clone project locally with mbed CLI, export to toolchain, project files generated in same directory. Use IDE as normal, then use CLI to load new libaries, sync back to developer.mbed.org etc.
  13. Not just exporting, but actually as middleware CMSIS-PACK. Establishing mbed OS 5 as Cortex-M middleware, outside mbed.org.
  14. We can go two ways from here, either use RTOS directly or use the Events library. Events library is similar to minar in mbed OS 3 but can run in an RTOS thread, so you can mix and match. 
  15. We want to use this model in more places, for example BLE libraries. It makes radio isolation nicer. No need to dedicate your event loop to your radio driver.
  16. Libraries for Ethernet, WiFi, Cellular, Thread, 6LoWPAN, BLE, LoRaWAN available. Plus more from community.
  17. Libraries for Ethernet, WiFi, Cellular, Thread, 6LoWPAN, BLE, LoRaWAN available. Plus more from community.
  18. x:53
  19. Idea is that core things like Update service, keystore are separate blocks. Super well tested. Then your app code talks to it through a bus, like CAN bus in cars, to execute calls in those blocks.
  20. Can run anything on top of this. For IoT devices we have mbed Client, which is cloud-middleware. Standard way of sending data to mbed Device Connector - cloud service for device management.