Build a Weather Station with Elixir and Nerves

Visualize Your Sensor Data with Phoenix and Grafana

Alexander Koutmos ,

 
Tap to preview
Build a Weather Station with Elixir and Nerves: Visualize Your Sensor Data with Phoenix and Grafana

About the eBook

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.

What You Need:

To complete the Nerves weather station project in this book, you will need the following:

A Linux, MacOS, or Windows computer to build and deploy Nerves firmware imagesA Raspberry Pi Zero W or any other Nerves supported target (https://hexdocs.pm/nerves/targets.html#supported-targets-and-systems)A VEML6030 light sensorAn BME680 environmental sensorAn SGP30 air quality sensorQwiic connect cables for weather sensors
Show more



In The Press


About the Author


  • Publisher:
  • Published: ; Copyright:
  • ISBN:
  • Edition:
  • Title:
  • Series:
  • Author:
  • Imprint:
  • Language:
  • Number of Pages:  [disclaimer] Page count shown is an approximation provided by the publisher. The actual page count will vary based on various factors such your device's screen size and font-size.

Read online

You can read this ebook online in a web browser, without downloading anything or installing software.

Download file formats

This ebook is available in file types:

This ebook is available in:

After you've bought this ebook, you can choose to download either the PDF version or the ePub, or both.

DRM Free

The publisher has supplied this book in DRM Free form with digital watermarking.

Required software

You can read this eBook on any device that supports DRM-free EPUB or DRM-free PDF format.

Digital Rights Management (DRM)

The publisher has supplied this book in encrypted form, which means that you need to install free software in order to unlock and read it.

Required software

To read this ebook on a mobile device (phone or tablet) you'll need to install one of these free apps:

To download and read this eBook on a PC or Mac:

  • Adobe Digital Editions (This is a free app specially developed for eBooks. It's not the same as Adobe Reader, which you probably already have on your computer.)

Limits on printing and copying

The publisher has set limits on how much of this ebook you may print or copy. See details.

  • {{ format_drm_information.format_name }} unrestricted {{ format_drm_information.format_name }} {{format_drm_information.page_percent}}% pages every day{{format_drm_information.interval}} days {{ format_drm_information.format_name }} off
Read Aloud
  • {{ read_aloud_information.format_name }} on {{ read_aloud_information.format_name }} off
Categories
  •  > 
ISBNs