Any recommended books to learn and master Nerves?

Any recommended book or books to learn and master Nerves?

Haven’t seen or heard of any books. There’s a few tutorials but currently you’ll need to pull together disparate knowledge like dealing with hardware and similar. Though start small and learn each part as you delve deeper into Nerves. Others may have some more in depth resources but I’m not aware of any.

Welcome @jslearner! Sadly no books yet. We are very lucky to have a supportive community here and on the Elixir Slack so if you have any projects in mind, please ask around.

As for resources, here’s what’s available:

  1. You’ve probably found the docs at https://nerves-project.org/. There are also simple example projects at https://github.com/nerves-project/nerves_examples.
  2. Nerves can start pretty minimal which can be hard to get used to. Many people use the nerves_init_gadget library to bring up the basics like networking. That’s a default with the new project generator.
  3. As a side note on nerves_init_gadget, we are in the process of a major change to our networking support. It’s slowly making its way through the docs, so you may start to see references to nerves_pack and vintage_net. If you have any ideas of running multiple network connections simultaneously or making your device an access point, please see https://embedded-elixir.com/post/2019-11-22-embedded-networking/.
  4. For low level hardware, see https://github.com/elixir-circuits/circuits_quickstart. Elixir Circuits runs on Raspbian and Debian in addition to Nerves. If you’re new to Elixir and hardware, but comfortable with a Raspbian and Raspberry Pis, a lot of people have had success using Elixir Circuits there and then when they’re comfortable, they start packaging their apps using Nerves.
  5. There are a few options for deploying lots of Nerves devices. If you’re interested in that, see https://www.nerves-hub.org/.
  6. We try to collect talks on Nerves at https://nerves-project.org/watch/. There are a few really good “getting started” ones and a few that talk about specific technologies.

A final comment is on picking hardware. Nerves runs on a lot of devices, but the support that you’ll find online is mostly for Raspberry Pis and BeagleBone (BeagleBone Black, Green, PocketBeagle, etc.) boards. At the moment, the Raspberry Pi 4’s display doesn’t work with Nerves, so I’d go with another RPi for now (that will hopefully be fixed in the coming months).

Hope this helps!

14 Likes

Hi @jslearner, if you have not found it out already, here is the link for a course: Nerves Course
I have not done it myself, so cannot comment on content.

There is also some Nerves related content in “Build a Weather Station with Elixir and Nerves” book: Build a Weather Station with Elixir and Nerves: Visualize Your Sensor Data with Phoenix and Grafana by Alexander Koutmos, Bruce A. Tate, Frank Hunleth