Откройте для себя современный и понятный подход к разработке встраиваемых систем с использованием Elixir и Nerves. Эта книга показывает, как перейти от простых экспериментов с мигающими светодиодами к промышленным решениям — например, киоскам на базе LiveView — без сложности и боли, традиционно ассоциируемых с embedded-разработкой.
Аппаратная разработка долгое время считалась закрытой и трудной областью: долгие циклы разработки, непонятный C-код и риск «окирпичить» дорогое устройство. Однако с Elixir и Nerves всё меняется. Вы уже умеете создавать веб-приложения на Elixir — теперь вы научитесь применять те же навыки для работы с физическими устройствами. Вы будете писать код на своём компьютере, развёртывать его на Raspberry Pi и наблюдать, как ваше устройство буквально оживает.
Цель книги — провести вас путь от базовых принципов работы с железом до готовых к продакшену embedded-систем. Вы начнёте с быстрого прототипирования приложений Nerves в Livebook, а затем создадите и развернёте собственную прошивку, способную считывать данные с датчиков, управлять дисплеями и взаимодействовать с окружающим миром.
В книге вы научитесь:
управлять аппаратурой через GPIO с помощью Nerves и сопутствующих библиотек;
быстро прототипировать аппаратные проекты в Livebook;
работать с электронными компонентами: светодиодами, резисторами, пьезодинамиками, потенциометрами и АЦП;
создавать практические проекты, такие как переводчик азбуки Морзе, игра на реакцию и даже Etch A Sketch;
читать datasheet’ы и управлять нестандартными компонентами;
взаимодействовать с внешними устройствами по протоколам SPI и I2C;
развёртывать продакшен-прошивки с использованием OTP, супервизии и отказоустойчивости.
К концу книги вы будете готовы создавать собственные IoT-устройства, контроллеры умного дома и полноценные встраиваемые системы. Вы глубоко поймёте, как на самом деле работают цифровые устройства, и расширите свои навыки в совершенно новую область — не выходя за пределы экосистемы Elixir.
Alex Koutmos — профессиональный разработчик программного обеспечения с более чем десятилетним опытом. С 2016 года он в основном работает с языком Elixir. Александр поддерживает несколько библиотек Elixir, опубликованных в репозитории Hex, является соведущим подкаста BEAM Radio, а также автором книг Build a Weather Station with Elixir and Nerves и Elixir Patterns.
Hugo Baraúna — developer advocate в компании Dashbit (проекты Livebook и Tidewave), а также мейнтейнер проекта Elixir Radar. Ранее он был одним из сооснователей компании Plataformatec, где был создан язык программирования Elixir.