LEADER 05272nam 22006133 450 001 9911009192503321 005 20250502195427.0 010 $a9781680509489 010 $a1680509489 010 $a9781680509472 010 $a1680509470 035 $a(MiAaPQ)EBC6964077 035 $a(Au-PeEL)EBL6964077 035 $a(CKB)21708327300041 035 $a(OCoLC)1313668685 035 $a(OCoLC-P)1313668685 035 $a(CaSebORM)9781680509465 035 $a(OCoLC)1321799673 035 $a(MiAaPQ)EBC31929318 035 $a(Au-PeEL)EBL31929318 035 $a(MiAaPQ)EBC31929461 035 $a(Au-PeEL)EBL31929461 035 $a(OCoLC)1505736741 035 $a(Perlego)4454309 035 $a(EXLCZ)9921708327300041 100 $a20250502d2022 uy 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aBuild a Weather Station with Elixir and Nerves /$fAlexander Koutmos, Bruce Tate, and Frank Hunleth 205 $aFirst edition. 210 1$aRaleigh, North Carolina :$cThe Pragmatic Programmers, LLC,$d[2022] 210 4$dİ2022 215 $a1 online resource (90 pages) 311 08$aPrint version: Koutmos, Alexander Build a Weather Station with Elixir and Nerves Sebastopol : Pragmatic Programmers, LLC, The,c2022 9781680509021 327 $aCover -- Table of Contents -- Acknowledgments -- Alexander Koutmos -- Bruce Tate -- Frank Hunleth -- Introduction -- What You Will Build -- How to Read This Book -- Running the Code Exercises -- Online Resources -- 1. Elixir and Nerves for IoT -- Why Nerves for IoT? -- Time-Series Sensor Hub -- Laying Out the Architecture -- Organizing Your Nerves Project -- Assembling the Weather Station -- Your Turn -- 2. Wirelessly Reading Sensor Data -- Creating a Network-Enabled Sensor Hub Project -- Getting on to the Network -- Capturing Sensor Data -- Your Turn -- 3. Aggregating Sensor Data -- Wrapping Sensors in GenServers -- Build the Firmware Project -- Managing the Life Cycle -- Your Turn -- 4. Publishing Sensor Data -- Setting up Docker Compose -- Creating the Phoenix Application -- Publishing Metrics -- Your Turn -- 5. Pulling It All Together -- Adding Grafana to Docker Compose -- Exploring the Data with SQL -- Creating a Weather Dashboard -- Your Turn. 330 $aThe 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. 606 $aMeteorological stations 606 $aElixir (Computer program language) 615 0$aMeteorological stations. 615 0$aElixir (Computer program language) 676 $a551.6 700 $aKoutmos$b Alexander$01829114 702 $aNew Bruce 702 $aHunleth$b Frank 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9911009192503321 996 $aBuild a Weather Station with Elixir and Nerves$94398284 997 $aUNINA