A Nerves history from a non-
embedded developers team,
building a world-class IoT for AI
product
Alfonso Gonzalez
a.k.a @phonnz
[email protected]
Slide 2
Slide 2 text
A Nerves history from a non-embedded
developers team, building a world-class
IoT for AI product
A history of embedded
systems made easy by
Elixir & Nerves!
Actually
neither
Embedded nor
Erlang/Elixir.
Slide 3
Slide 3 text
Embedded systems made easy with
Elixir & Nerves!
Go for it! Nerves-Project
made super approachable
Embedded systems!!!
Slide 4
Slide 4 text
Embedded systems made easy with
Elixir & Nerves!
Go for it! Nerves-Project
made super approachable
Embedded systems!!!
No so technical
talk
Slide 5
Slide 5 text
> Our Product
> Team Scene
> Iterations
> Why Nerves ?
> Nerves Process
Agenda
Slide 6
Slide 6 text
the_magic_keys =
Our Product
|> Team Scene
|> Iterations
|> Why Nerves?
|> Nerves Process
Agenda
Slide 7
Slide 7 text
Phonnz
- +10 yrs software
development
- ASM
- Desktop Applications
- Web Development
- Building Teams & Embedded
Applications
Slide 8
Slide 8 text
Elixir taught me about
concurrency and fault tolerance
💟
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
Team Scene
The team didn’t know anything about
embedded systems.
- Hardware background
- Web Development experience
“Oh! We can communicate via SSH”
…
“Why not to write a webserver?”
Slide 12
Slide 12 text
Step 1
- Sensors & controllers via
GPIO
- Gstreamer video recorder
- SSH management
- SCP file uploading
Slide 13
Slide 13 text
Step 1
- Sensors & controllers via
GPIO
- Gstreamer video recorder
- SSH management
- SCP file uploading
Slide 14
Slide 14 text
Step 2
- Remote control over the
network
- Remote upgrades
- POST data to main server
Slide 15
Slide 15 text
Reliable (?)
Almost every exception results in
reboot
Slide 16
Slide 16 text
Step 3
- Robust application manager
- Robust remote upgrades
*not easy for the team
Slide 17
Slide 17 text
Houston...!
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
> Elixir
> OTP
> Good Learning Resources
> Community
Slide 21
Slide 21 text
Approachable!
Was so easy to jump into
Embedded applications.
(Embedded systems as well)
Slide 22
Slide 22 text
> Elixir
> OTP
> Good Learning Resources
> Community
Slide 23
Slide 23 text
def
amazing_development_experience() do
Elixir
|> OTP
|> Good Learning Resources
|> Community
end
Thanks
Jose Vicente Rodriguez
And all the community supporters
Frank
Hunleth
Slide 36
Slide 36 text
The magic keys!
… and the
most
important
Find your learning
resources
Docs, elixir school, video,
blogs
Embrace the
community!
Slack, elixir forum, meetups
This is not magic
Slide 37
Slide 37 text
Lose the Hardware Fear!
Start Now!
Elixir ecosystem
community is amazing!
Slide 38
Slide 38 text
Embedded systems made easy with
Elixir & Nerves!
Go for it! Nerves-Project
made super approachable
Embedded systems!!!
Slide 39
Slide 39 text
Embedded systems made easy with
Elixir & Nerves!
Go for it! Nerves-Project
made super approachable
Embedded Systems!!!
Slide 40
Slide 40 text
Go for it! Nerves-Project made super
approachable Embedded Systems!!!
Q&A
@phonnz
[email protected]