Build a Weather Station with Elixir and Nerves (Pragmatic Bookshelf)

PragmaticBookshelf
This project based book gets you up to speed on building and deploying Elixir IoT applications using Nerves, as you develop a real-world IoT weather station.

Alexander Koutmos @akoutmos
Bruce A. Tate @redrapids
Frank Hunleth @fhunleth

edited by Jacquelyn Carter @jkcarter

The Elixir programming language has become a go-to tool for creating reliable, fault-tolerant, and robust server-side applications. Thanks to Nerves, those same exact benefits can be realized in embedded applications. This book will teach you how to structure, build, and deploy production grade Nerves applications to network-enabled devices. The weather station sensor hub project that you will be embarking upon will show you how to create a full stack IoT solution in record time. You will build everything from the embedded Nerves device, to the Phoenix backend and even the Grafana time-series data visualizations.

Elixir as a programming language has found its way into many different software domains, largely in part to the rock solid foundation of the Erlang virtual machine. Thanks to the Nerves framework, Elixir has also found success in the world of embedded systems and IoT. Having access to all of the Elixir and OTP constructs such as concurrency, supervision, and immutability makes for a powerful IoT recipe. Find out how to create fault-tolerant, reliable, and robust embedded applications using the Nerves framework.

Build and deploy a production grade weather station sensor hub using Elixir and Nerves, all while leveraging the best practices established by the Nerves community for structuring and organizing Nerves applications. Capture all of your weather station sensor data using Phoenix and Ecto in a lightweight server-side application. Efficiently store and retrieve the time-series weather data collected by your device using TimescaleDB (the Postgres extension for time-series data). Finally, complete the full stack IoT solution by using Grafana to visualize all of your time-series weather station data. Discover how to create software solutions where the underlying technologies and techniques are applicable to all layers of the project.

Take your project from idea to production-ready in record time with Elixir and Nerves.


Alexander Koutmos has been writing software professionally for almost a decade and has been working primarily with Elixir since 2016. He currently maintains a few Elixir libraries on Hex and also runs a software consultancy (www.stagira.com).

Bruce Tate is a kayaker, programmer, and father of two from Chattanooga, Tennessee. The author of more than 10 books has been around Elixir from the beginning. He is the founder of Groxio, a company that trains Elixir developers.

Frank Hunleth is an embedded systems programmer, OSS maintainer, and Nerves core team member. When not in front of a computer, he loves running and spending time with his family.


Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “devtalk.com" at checkout :+1:

33 1781 11

Latest Threads About This Book Top

New
gman
Hi All, I’ve followed pretty much all of the book so have most of the pieces in place. Really enjoyed it so far! Running on a rpi4. Usi...
0 998 2
New
p3d
I’m interested in this book but it appears that the VEML6030 light sensor is out of stock everywhere (US and UK) with year long lead time...
0 823 1
New
digitalbias
Title: Build a Weather Station with Elixir and Nerves: Problem connecting to Postgres with Grafana on (page 64) If you follow the defau...
0 1921 4
New
logan
The field name for light_in_lumens does not alight with the later work done to build the Phoenix server. Either the field name on pages ...
1 829 1
New
logan
There is a missing step before being able to publish data to the Phoenix application: the publisher application must be added as a depend...
1 804 1
New
matzko
Page 7 contains the following line: the weather station sensor hub project is comprised of sensors The whole comprises the parts, and...
1 725 0
New
petestmarie
I may doing something wrong, but I had to edit the WeatherTrackerWeb.Endpoint to change the IP to {0, 0, 0, 0} (as suggested in a boilerp...
0 680 0
New
fynn
This is as much a suggestion as a question, as a note for others. Locally the SGP30 wasn’t available, so I ordered a SGP40. On page 53, ...
0 1282 2
New
curtosis
Running mix deps.get in the sensor_hub directory fails with the following error: ** (Mix) No SSH public keys found in ~/.ssh. An ssh aut...
2 1433 3
New

Most Active This Week Top

Most Active This Month Top

Most Active This Year Top

curtosis
Running mix deps.get in the sensor_hub directory fails with the following error: ** (Mix) No SSH public keys found in ~/.ssh. An ssh aut...
2 1433 3
New

Most Active Last Three Years Top

New
fynn
This is as much a suggestion as a question, as a note for others. Locally the SGP30 wasn’t available, so I ordered a SGP40. On page 53, ...
0 1282 2
New
logan
The field name for light_in_lumens does not alight with the later work done to build the Phoenix server. Either the field name on pages ...
1 829 1
New

Most Active Over Three Years Top

PragmaticBookshelf
This project based book gets you up to speed on building and deploying Elixir IoT applications using Nerves, as you develop a real-world ...
33 1781 11
New
digitalbias
Title: Build a Weather Station with Elixir and Nerves: Problem connecting to Postgres with Grafana on (page 64) If you follow the defau...
0 1921 4
New
gman
Hi All, I’ve followed pretty much all of the book so have most of the pieces in place. Really enjoyed it so far! Running on a rpi4. Usi...
0 998 2
New
New
logan
There is a missing step before being able to publish data to the Phoenix application: the publisher application must be added as a depend...
1 804 1
New
p3d
I’m interested in this book but it appears that the VEML6030 light sensor is out of stock everywhere (US and UK) with year long lead time...
0 823 1
New
matzko
Page 7 contains the following line: the weather station sensor hub project is comprised of sensors The whole comprises the parts, and...
1 725 0
New
petestmarie
I may doing something wrong, but I had to edit the WeatherTrackerWeb.Endpoint to change the IP to {0, 0, 0, 0} (as suggested in a boilerp...
0 680 0
New

Book Info

Publisher: Pragmatic Bookshelf

Are you this book's author? To be notified of all posts made about it, sign up an account then click here, then select 'watching' from the bell icon in the top right corner.

Get money off!

The Pragmatic Bookshelf

35% off any eBook

Simply use coupon code "devtalk.com" at checkout. See full details here.