Build a Weather Station with Elixir and Nerves: Visualize Your Sensor Data with Phoenix and Grafana
暫譯: 使用 Elixir 和 Nerves 建立氣象站:用 Phoenix 和 Grafana 可視化您的感測器數據
Koutmos, Alexander, Tate, Bruce, Hunleth, Frank
- 出版商: Pragmatic Bookshelf
- 出版日期: 2022-02-15
- 售價: $1,270
- 貴賓價: 9.5 折 $1,207
- 語言: 英文
- 頁數: 92
- 裝訂: Quality Paper - also called trade paper
- ISBN: 1680509020
- ISBN-13: 9781680509021
-
相關分類:
Functional-programming、感測器 Sensor
立即出貨 (庫存=1)
相關主題
商品描述
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 images
- A Raspberry Pi Zero W or any other Nerves supported target (https://hexdocs.pm/nerves/targets.html#supported-targets-and-systems)
- A VEML6030 light sensor
- An BME680 environmental sensor
- An SGP30 air quality sensor
- Qwiic connect cables for weather sensors
商品描述(中文翻譯)
Elixir 程式語言已成為創建可靠、容錯且穩健的伺服器端應用程式的首選工具。得益於 Nerves,這些相同的優勢也可以在嵌入式應用程式中實現。本書將教您如何結構、構建和部署生產級的 Nerves 應用程式到網路啟用的設備上。您將參與的氣象站感測器集線器專案將展示如何在短時間內創建完整的 IoT 解決方案。您將從嵌入式 Nerves 設備構建到 Phoenix 後端,甚至還會包括 Grafana 時序數據可視化。
作為一種程式語言,Elixir 已經進入許多不同的軟體領域,這在很大程度上得益於 Erlang 虛擬機的堅實基礎。得益於 Nerves 框架,Elixir 在嵌入式系統和 IoT 領域也取得了成功。擁有所有 Elixir 和 OTP 構造,如併發、監督和不可變性,使得 IoT 解決方案更具威力。了解如何使用 Nerves 框架創建容錯、可靠且穩健的嵌入式應用程式。
使用 Elixir 和 Nerves 構建並部署生產級的氣象站感測器集線器,同時利用 Nerves 社群建立的最佳實踐來結構和組織 Nerves 應用程式。使用 Phoenix 和 Ecto 在輕量級伺服器端應用程式中捕獲所有氣象站感測器數據。有效地使用 TimescaleDB(Postgres 的時序數據擴展)存儲和檢索您的設備收集的時序氣象數據。最後,使用 Grafana 可視化您所有的時序氣象站數據,完成完整的 IoT 解決方案。發現如何創建軟體解決方案,使底層技術和技術適用於專案的所有層級。
使用 Elixir 和 Nerves,將您的專案從想法轉變為生產就緒的狀態,並在短時間內完成。
您需要的條件:
要完成本書中的 Nerves 氣象站專案,您需要以下設備:
- 一台 Linux、MacOS 或 Windows 電腦來構建和部署 Nerves 韌體映像
- 一個 Raspberry Pi Zero W 或任何其他 Nerves 支援的目標設備(https://hexdocs.pm/nerves/targets.html#supported-targets-and-systems)
- 一個 VEML6030 光感測器
- 一個 BME680 環境感測器
- 一個 SGP30 空氣品質感測器
- 用於氣象感測器的 Qwiic 連接電纜
作者簡介
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.
作者簡介(中文翻譯)
亞歷山大·庫特莫斯(Alexander Koutmos)專業從事軟體開發近十年,自2016年以來主要使用Elixir。他目前在Hex上維護幾個Elixir函式庫,並經營一家軟體顧問公司(www.stagira.com)。
布魯斯·泰特(Bruce Tate)是來自田納西州查塔努加的皮划艇愛好者、程式設計師和兩個孩子的父親。他是超過10本書的作者,自Elixir誕生以來便一直參與其中。他是Groxio的創辦人,這是一家專門培訓Elixir開發者的公司。
法蘭克·亨萊斯(Frank Hunleth)是一名嵌入式系統程式設計師、開源軟體維護者及Nerves核心團隊成員。當不在電腦前時,他喜歡跑步並與家人共度時光。