class: background-image: url(img/s0.jpg)
name: about class: left background-image: url(img/about.jpg)
.right-column[
Open Minded
|> Science
|> Craftsman
.footnote[ cmg-dev
@codethonian ] ]
??? Coder in natural Environment
name: motivation class: left background-image: url(img/motivation.jpg)
.regular[
]
.footnote[ Read the Paper ] ???
name: motivation class: left background-image: url(img/motivation_elixir.jpg)
.regular[
]
name: iot class: center, middle background-image: url(img/iot.jpg)
.heading[
]
name: iot class: left background-image: url(img/iot_development.jpg)
.regular[
] .right-column[
Device democracy will emerge,
... after rebooting the IoT ]
.footnote[ [1] ]
??? Why the IoT already needs a reboot:
-
First wave of the IoT; focused on very high-value applications
jet engines, automated smart meters and remote healthcare management
-
Demand has been slow
-
Only 30 percent of heavy industrial equipment is networked
-
Only 10 percent of smart TVs are used for Internet viewing
-
consumers have failed to embrace devices from smart toothbrushes to refrigerators.
-
Enterprises and entrepreneurs treating the IoT as if it were just another computing platform
-
Applying the same set of business models, services, ecosystems, applications and analytic.
name: iot class: left background-image: url(img/iot_comparison.jpg)
.regular[
]
.footnote[ [2] ]
???
-
The application of old world approaches to this field
-
Apply "as a Service" does not increase product quality
-
IOT isn't new
name: iot class: left background-image: url(img/iot_problems.jpg)
.regular[ ]
???
- High costs
- Broken Buisiness Models
- Trust
- Not Future Proof
- Function
Why the IoT already needs a reboot:
-
First wave of the IoT; focused on very high-value applications
jet engines, automated smart meters and remote healthcare management
-
Demand has been slow
-
Only 30 percent of heavy industrial equipment is networked
-
Only 10 percent of smart TVs are used for Internet viewing
-
consumers have failed to embrace devices from smart toothbrushes to refrigerators.
-
Enterprises and entrepreneurs treating the IoT as if it were just another computing platform
-
Applying the same set of business models, services, ecosystems, applications and analytic.
name: iot class: left background-image: url(img/mr_tomatan.jpg)
.regular[
.footnote[ @Internet of Shit ]
name: iot class: left background-image: url(img/iot_design_rules.jpg)
.regular[
]
.footnote[ [3] ]
name: iot class: left background-image: url(img/iot.jpg)
.right-column[
IBM's conclusion
"This first report of our study shows that a low-cost,
private-by-design “democracy of devices” will emerge
that will enable new digital economies and create new
value, while offering consumers and enterprises
fundamentally better products and user experiences."
Well, and how? ]
.footnote[ [4] ]
???
- End of chapter 1
name: nerves class: left background-image: url(img/electronics_1_rpi_vs_ardiuno_0.jpg)
name: nerves class: left background-image: url(img/electronics_1_rpi_vs_ardiuno_1.jpg)
name: nerves class: left background-image: url(img/electronics_1_rpi_vs_ardiuno_2.jpg)
name: nerves class: left background-image: url(img/embedded_linux_is_pain.jpg)
class: left background-image: url(img/electronics_0_nerves-vs-raspbian.jpg)
.right-column[ ]
class: left background-image: url(img/electronics_1_partitioning.jpg)
.right-column[ ]
name: elixir class: left background-image: url(img/motivation_elixir.jpg)
.regular[
Functional
|> Concurrent
|> Pragmatic
|> Fun
]
name: elixir class: left background-image: url(img/elixir.jpg)
.regular[
-
Fault Tolerant
-
Concurrent
-
Fast Garbage Collection
-
Constraint Hardware
-
Binary Protocols ]
name: nerves class: left background-image: url(img/nerves_intro0.jpg)
name: nerves class: left background-image: url(img/nerves_intro.jpg)
.footnote[ Homepage
??? platform
Using a lean, custom cross-compiled linux, nerves boots directly to the battle hardened BEAM VM, starting your application in seconds.
framework
Most devices need to get on a network, get discovered, update firmware, and deal with I/O of various kinds. You're not on your own.
tooling
Cross-compliation can be a total drag. Our tools make it smooth as silk. Go from "mix new" to running code on your device in minutes.
name: nerves class: left background-image: url(img/nerves_features.jpg)
.regular[
]
name: nerves class: left background-image: url(img/nerves_targets.jpg)
.regular[
]
class: left background-image: url(img/nerves_build.jpg)
.right-column[ ]
name: inverse class: left background-image: url(img/bakeware_1.jpg)
.right-column[
a tool and service to build your cross compiled firmware
Configure, compile and share systems, toolchains and firmware
Find it here ]
name: inverse class: left, middle background-image: url(img/extinct.jpg)
.example_page_left[
Good News!
Everythong is now integrated into mix
...
]
name: inverse class: left background-image: url(img/extinct.jpg)
.example_page[
Start a project
$ mix nerves.new my_project --target rpi3
Does the boilerplate
creating my_project/config/config.exs
creating my_project/lib/my_app.ex
creating my_project/test/test_helper.exs
creating my_project/test/my_app_test.exs
creating my_project/rel/vm.args
creating my_project/rel/.gitignore
creating my_project/.gitignore
creating my_project/mix.exs
creating my_project/README.md
]
name: inverse class: left background-image: url(img/extinct.jpg)
.example_page[ Compile
$ mix compile
Nerves Precompile Start
...
Compile Nerves toolchain
Downloading from Github Cache
Unpacking toolchain to build dir
...
Generated nerves_system_rpi3 app
[nerves_system][compile]
[nerves_system][http] Downloading system from cache
[nerves_system][http] System Downloaded
[nerves_system][http] Unpacking System
...
Nerves Env loaded
Nerves Precompile En
]
name: inverse class: left background-image: url(img/extinct.jpg)
.example_page[ Create Firmware
$ mix firmware
Nerves Env loaded
Nerves Firmware Assembler
...
Building _images/rpi3/my_project.fw...
$ mix firmware.burn
Burn rpi3-0.0.1 to SD card at /dev/rdisk3, Proceed? [Y/n]
]
name: demo class: left background-image: url(img/solo_0.jpg)
.left-column[
Demo time... ]
???
-
More Doing less talking
-
Lots of demos on the internet
- nerves-io-led
name: inverse class: left background-image: url(img/elixir_nerves_phonix.jpg)
.example_page[ ]
name: video class: left background-image: url(img/tv1.jpg)
.regular[ Embedded Elixir in Action