Welcome to our Elixir Nerves course! In this program, you will explore Elixir and Nerves, a framework for building embedded systems and IoT devices. Through your own projects, you’ll learn how to develop robust applications for resource-constrained environments. From setting up a Nerves project to implementing basic circuits, this course equips you with the skills to bring your ideas to life in the world of embedded systems. Whether you’re a beginner or an experienced Elixir developer, you’ll learn to design effective Nerves applications with Elixir and OTP.
Elixir is an excellent general purpose language. It has features that let you write programs that are more reliable, easier to understand, and highly concurrent. Many of those same capabilities make Elixir an ideal language for embedded systems.
Embedded systems are smaller, special purpose computers used to control hardware. As embedded processors get more sophisticated, the demand for more complex systems grows, such as fridges that double as web browsers and doorbells that double as security cameras and networked intercoms. To support these new requirements, we need higher level languages with more powerful features.
Enter Nerves, Because many of today’s embedded apps are full-featured distributed, concurrent systems, they are ideally matched to functional programming languages like Elixir.
|Setup and Circuit|
|1. Elixir Nerves, SSH to a Nerves Target||6:16|
|2. Elixir Nerves, Burning Firmware||8:53|
|3. Elixir Nerves, Building an LED Circuit||29:20|
|4. Blink an LED Circuit With Elixir Nerves||9:25|
|5. mix firmware and Uploading Code||16:22|
|Design and Configuration|
|6. Building a Boundary Layer for Nerves||25:02|
|7. Building an Adapter Layer||19:21|
|Behaviours and OTP|
|9. Behaviours and Interfaces||22:21|
|10. Using GenServers with Nerves||16:18|
|11. Implementing Nerves Lifecycles with Supervisors||19:29|
|Networking and Organization|
|12. Networking with VintageNet||17:24|
|13. Poncho Projects||16:15|
|14. Communication with PubSub||19:29|
|Binary Clock Build|
|Project Intro: Binary Clock Intro||1:45|
|Project 1-1: Clock Cabinet||21:05|
|Project 1-2: Clock Connections||18:32|
|Project 1-3: Solderless Option||6:58|
|Binary Clock Software|
|Project 2-1: Light LEDs Using the Serial Peripheral Interface||24:56|
|Project 2-2: Explore Time and Bits in IEx||16:27|
|Project 2-3: Build a Core Layer||31:10|
|Project 2-4: Build the Boundary Layer||34:37|