Happy New Year from the Nerves team!
We’re marching ahead with our 1.0 plans and methodically going through our constituent projects to get them across the “finish” line. Work priorities have forced some Nerves development on tangents, but some of those may be of interest as well. Here’s a summary of what’s been happening:
- nerves_uart graduated to 1.0! If you’re working with serial ports, you may have encountered this project. The Nerves part of the name is often misunderstood. We use it a lot on Nerves devices, but it runs on Windows, Mac, and Linux too. If you’re working with serial ports, don’t forget that you can develop on your laptop too!
- Tim Mecklem and Michael Schmidt have been busy making Windows support better. Tim posted a video and we hope to update the docs to make things easier on Windows users.
- Connor Rigby’s linter is now live in almost all of our officially-supported systems. We recommend including it in your custom systems to catch subtle assumptions that Elixir and Nerves have with the Buildroot and Linux configurations. If you’ve run into a custom system issue, let us know about it - maybe we can help others avoid it using the linter.
- We’ve been busy making it easier to revert software images loaded on devices. While this has always been possible with our A/B partition setup, it isn’t obvious how to use it. nerves_runtime now has a helper function for reverting to the previous good firmware. It relies on updates to the official systems that haven’t been released yet, but they’re coming soon.
- While not a Nerves feature that we worked on, we recently merged in Erlang
20.2.1 to nerves_system_br. This brings in support in
sshapplication for using ssh-agent. If you use nerves_firmware_ssh or anything ssh-related on your devices and password protect your ssh private keys, this will be life-changing. Thank you OTP team!
- Work has progressed on the Chromium integration in LeTote’s kiosk_system_rpi3 and kiosk_system_x86_64 projects. Users comfortable with custom Nerves systems who have very fast Linux machines may want to try it out. This provides an alternative to the somewhat limited WebKit-based browser.
- Smartrent has promised sponsorship of an open source pull-based firmware update server. This will fill a big gap in the Nerves ecosystem, so we’re quite excited about it.
- Our hardware-based regression test setup is progressing. I had hoped to have pictures of it in operation right now, but it’s not ready yet. It’s sooo close, though.
We continue to hear about interesting projects and posts around our community. Here are a few:
- Steven Fuchs wrote a great blog post on setting up a Nerves device that includes Phoenix and some Python.
- Garry Hill has an open source multi-room audio project that looks awesome
- Derek Kraan is making good progress with an Elixir-based Z-wave serial API stack for controlling devices in his home
- If you’re into home automation and using WeMo, check out Chris Coté’s new ex_wemo library.
- Tim Gilbert described how he was able to collect logs from a Nerves device with Papertrail.
- Michał Kalbarczyk showed how he used Nerves with a Raspberry Pi to control an LED matrix display.
Upcoming Nerves talks and training:
CodeMash - Sandusky, Ohio, January 9-12, 2018
- Building an Artificial Pancreas - Tim Mecklem
Lonestar ElixirConf - Austin, TX, February 22-24, 2018
- Keynote - Tim Mecklem
- Customize your Car: An Adventure in Using Elixir and Nerves to Hack Your Vehicle’s Electronics Network - Brian Wankel
- Nerves Training w/ Greg Mefford - Come build your own Nerves-based, WiFi-enabled camera based on the Raspberry Pi Zero W. There’s still space left, but registration will close around the end of January, so don’t delay if you’re planning to sign up!
ElixirConfEU 2018 - Warsaw, April 18th, 2018
- Nerves Training w/ Frank Hunleth - I’ve created a new project for this one-day training class that includes the best parts of the popular ElixirConf 2017 training in Seattle.
As always, if I’ve missed anything, please let me know either here or on the elixir-lang Slack.