functional firmware - home - lambda...

38
Functional Firmware with Nerves

Upload: ngocong

Post on 22-May-2018

229 views

Category:

Documents


2 download

TRANSCRIPT

FunctionalFirmwarewith

Nerves

Someone told me I shouldstart with a joke.

Who owned one of these?

My purpose today...

To demonstrate the canonical method for the construction of functional firmware

To demonstrate the canonical method for the construction of functional firmware

To inspire you

To show you some tools

Let's talkaboutfirmware

On the internet of things,no one knows you're a fridge

But I digress...

How is itusuallydone?

What are therequirements?

Which brings us to

Erlang

Making reliabledistributed systems

in the presenceof software errors

(Joe Armstrong 2003)

Concurrency

HardwareInteraction

FaultTolerance

"Our system has very little need of an operating system. We make use of very few operating system services, thus it is relatively easy to port our system to specialised environments such as embedded

systems."

And so comes

Elixir

Meta-programmingwith Macros

Polymorphismwith Protocols

Now what you actually came to hear about...

Nerves!

PlatformA ~12MB Linux platform designed for the target hardware.

FrameworkA set of libraries for doing the stuff, like networking, GPIO, and common protocols like I2C, SPI and Firmata.

ToolingAll the bits you need to get the platform, framework, and your code put together and onto the target device.

Target Hardware

— Raspberry Pi (All of them)

— BeagleBone Black

— Intel Gallileo

— Lego EV3

— Linkit Smart 7688 (and Duo)

— Qemu Arm Emulator

What canit do?

Enough TalkLet's build a thing!

How is itreally?

Questions?

nerves-project.org

@mootpointer