Transcript of Functional Firmware - Home - Lambda...
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.