Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634840)
Контекстум
Руконтекст антиплагиат система

Творческие проекты с микроконтроллером в среде TinyGo и WebAssembly. Практическое руководство по созданию встроенных приложений для маломощных устройств, интернета вещей и умного дома (4000,00 руб.)

0   0
Первый авторТил Тобиас
ИздательствоМ.: ДМК Пресс
Страниц276
ID811001
АннотацияВ книге содержатся творческие проекты, по мере выполнения которых вы научитесь создавать встраиваемые приложения для микроконтроллеров. В каждой главе представлено несколько проектов с использованием различных популярных электронных устройств, таких как светодиоды, 7-сегментные дисплеи, таймеры. Вы узнаете, как программировать датчики и работать с микроконтроллерами, такими как Arduino UNO и Arduino Nano IoT 33. Затем перейдете к созданию интерактивных прототипов электронных систем, в частности системы светофоров, таймера для бесконтактного мытья рук и др. Создадите модель системы интернет вещей (IoT) для оповещения о погоде и разработаете приложения мониторинга к ней. К концу чтения ваших навыков будет достаточно для создания новых проектов для встраиваемой электроники с помощью TinyGo.
Кому рекомендованоКнига адресована разработчикам на языке Go, а также программистам-любителям, заинтересованным в изучении TinyGo.
ISBN978-5-97060-985-9 (рус.)
УДК004.4
ББК32.372
Тил, Т. . Творческие проекты с микроконтроллером в среде TinyGo и WebAssembly. Практическое руководство по созданию встроенных приложений для маломощных устройств, интернета вещей и умного дома / Т. . Тил .— Пер. с англ. А. В. Корягина .— Москва : ДМК Пресс, 2022 .— 276 с. : ил. — ISBN 978-1-80056-020-8 (англ.) .— ISBN 978-5-97060-985-9 (рус.) .— URL: https://rucont.ru/efd/811001 (дата обращения: 27.04.2024)

Предпросмотр (выдержки из произведения)

Творческие_проекты_с_микроконтроллером_в_среде_TinyGo_и_WebAssembly._Практическое_руководство_по_созданию_встроенных_приложений_для_маломощных_устройств,_интернета_вещей_и_умного_дома.pdf
УДК 004.4 ББК 32.372 Т39 Т39 Тобиас Тил Творческие проекты с микроконтроллером в среде TinyGo и WebAssembly. Практическое руководство по созданию встроенных приложений для маломощных устройств, интернета вещей и умного дома. / Пер. с англ. А. В. Корягина. – М.: ДМК Пресс, 2022. – 274 с.: ил. ISBN 978-5-97060-985-9 В книге содержатся творческие проекты, по мере выполнения которых вы научитесь создавать встраиваемые приложения для микроконтроллеров. В каждой главе представлено несколько проектов с использованием различных популярных электронных устройств, таких как светодиоды, 7-сегментные дисплеи, таймеры. Вы узнаете, как программировать датчики и работать с микроконтроллерами, такими как Arduino UNO и Arduino Nano IoT 33. Затем перей дете к созданию интерактивных прототипов электронных систем, в частности системы светофоров, таймера для бесконтактного мытья рук и др. Создадите модель системы интернет вещей (IoT) для оповещения о погоде и разработаете приложения мониторинга к ней. К концу чтения ваших навыков будет достаточно для создания новых проектов для встраиваемой электроники с помощью TinyGo. Книга адресована разработчикам на языке Go, а также программистам-любителям, заинтересованным в изучении TinyGo. Copyright ©Packt Publishing 2021. First published in the English language under the title ‘Creative DIY Microcontroller Projects with TinyGo and WebAssembly’. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-80056-020-8 (англ.) ISBN 978-5-97060-985-9 (рус.) Copyright © Packt Publishing, 2021 © Оформление, перевод на русский язык, издание, ДМК Пресс, 2022
Стр.5
Оглавление Предисловие от издательства .......................................................... 11 Об авторе ............................................................................................ 12 О рецензентах .................................................................................... 13 Предисловие ...................................................................................... 14 Для кого предназначена книга ..............................................................................14 О чем эта книга ......................................................................................................15 Максимальная отдача от книги .............................................................................15 Загрузите файлы с примерами кода .....................................................................16 Код в действии ........................................................................................................16 Загрузите цветные изображения ..........................................................................16 Используемые соглашения ....................................................................................16 Обратная связь .......................................................................................................17 Отзывы ....................................................................................................................18 Глава 1. Начало работы с TinyGo ...................................................... 19 Технические требования ..................................................................................19 Знакомимся с языком TinyGo ..........................................................................20 Как работает TinyGo ...............................................................................................20 Сравнение TinyGo с Go ..........................................................................................21 Поддерживаемые языковые функции ..................................................................22 Поддерживаемые стандартные пакеты ................................................................22 Операции volatile ...................................................................................................23 Встроенный ассемблер...........................................................................................23 Распределение памяти ..........................................................................................23 Сборка мусора ........................................................................................................23 Установка TinyGo ..............................................................................................24 Установка в Linux ...................................................................................................24 Установка в Windows ..............................................................................................25 Установка на macOS ...............................................................................................26 Установка в Docker .................................................................................................27 Настройка интеграции IDE с TinyGo ...............................................................27 Интеграция в VS Code ............................................................................................28 Общая интеграция с IDE ........................................................................................31 Настройка Goland ...................................................................................................32 Интеграция любого редактора ..............................................................................33 Arduino UNO ......................................................................................................34 Знакомство с техническими характеристиками ..................................................34 Изучение распиновки ............................................................................................35 Проверяем работу программы Hello world в устройстве ...............................36 Подготовка ..............................................................................................................36 Подготовка проекта ...............................................................................................36 Программирование микроконтроллера ...............................................................36
Стр.7
Оглавление  7 Прошивка программы ...........................................................................................38 Использование игровой площадки TinyGo ..........................................................39 Резюме ...............................................................................................................39 Вопросы .............................................................................................................39 Глава 2. Построение системы управления светофорами .............. 40 Технические требования ..................................................................................40 Освещение внешним светодиодом .................................................................41 Использование макетных плат .............................................................................41 Знакомство со структурой светодиодов ...............................................................42 Использование портов GPIO .................................................................................42 Сборка электрической схемы ................................................................................43 Написание кода ......................................................................................................44 Управление светодиодом с помощью кнопки ................................................45 Построение электрической схемы ........................................................................45 Программирование логики ...................................................................................47 Функция main .........................................................................................................47 Подтягивающий резистор .....................................................................................49 Создание светофора .........................................................................................49 Построение электрической схемы ........................................................................49 Создание структуры папок ....................................................................................51 Написание логики ..................................................................................................51 Создание светофора со световыми индикаторами для пешеходов ..............53 Сборка схемы ..........................................................................................................53 Написание логики ..................................................................................................55 Реализация основной логики ................................................................................59 Резюме ...............................................................................................................61 Вопросы .............................................................................................................61 Дополнительное чтение ...................................................................................61 Глава 3. Создание кодового замка с использованием клавиатуры ........................................................................................ 62 Технические требования ..................................................................................63 Запись в последовательный порт ....................................................................63 Мониторинг последовательного порта ...........................................................64 Отслеживание ввода с клавиатуры .................................................................67 Создание электрической схемы ............................................................................67 Понимание работы клавиатуры 4×4 .....................................................................69 Написание драйвера .........................................................................................70 Переменные Driver .................................................................................................70 Configure..................................................................................................................71 GetIndices ................................................................................................................72 GetKey ......................................................................................................................74 main .......................................................................................................................74 Поиск драйверов для TinyGo ...........................................................................76 Помощь в поиске и создания драйверов для TinyGo ...........................................76
Стр.8
8  Оглавление Управление сервомотором ..............................................................................77 Изучение сервомоторов SG90 ...............................................................................77 Построение схемы ..................................................................................................77 Написание логики сервоуправления ....................................................................78 Создание кодового замка с помощью клавиатуры ........................................83 Построение схемы ..................................................................................................84 Написание логики ..................................................................................................85 Глава 4. Создание системы полива растений ................................. 91 Технические требования ..................................................................................91 Считывание данных датчика влажности почвы ............................................92 Сборка схемы ..........................................................................................................92 Нахождение пороговых значений ........................................................................93 Понимание АЦП в TinyGo ......................................................................................97 Написание библиотеки для датчика .....................................................................98 Тестирование библиотеки ...................................................................................102 Считывание данных датчика уровня воды ...................................................104 Написание библиотеки датчиков уровня воды ..................................................105 Тестирование библиотеки ...................................................................................107 Управление насосом .......................................................................................112 Работа с реле .........................................................................................................112 Написание библиотеки для насоса .....................................................................114 Полив ваших растений.........................................................................................116 Управление зуммером ...................................................................................109 Написание библиотеки для зуммеров ................................................................110 Резюме ...............................................................................................................89 Вопросы .............................................................................................................90 Резюме .............................................................................................................119 Вопросы ...........................................................................................................119 Рекомендации .................................................................................................119 Глава 5. Создание таймера для бесконтактного мытья рук ........ 120 Технические требования ................................................................................120 Разбираем функционал Arduino Nano 33 IoT ...............................................121 Установка Bossa ....................................................................................................123 Учимся измерять расстояния ........................................................................124 Разбираемся в датчике HC-SR04 .........................................................................124 Сборка схемы ........................................................................................................126 Написание библиотеки ........................................................................................127 Модульное тестирование в TinyGo .....................................................................131 Написание примера программы для библиотеки .............................................135 Использование четырехзначных семисегментных дисплеев .....................136 Использование MAX7219 .....................................................................................137 Написание библиотеки для управления MAX7219 ............................................140 Написание библиотеки для управления дисплеем hs42561k ............................144 Собирая все это вместе...................................................................................150
Стр.9
Оглавление  9 Резюме .............................................................................................................154 Вопросы ...........................................................................................................155 Глава 6. Построение дисплеев для связи с использованием интерфейса I2C и SPI ...................................................................... 156 Технические требования ................................................................................156 Изучение драйверов TinyGo ..........................................................................157 Отображение текста на ЖК-дисплее HD44780 16×2 .....................................158 Построение схемы ................................................................................................160 Знакомимся с I2C .................................................................................................161 Написание кода ....................................................................................................162 Отображение пользовательского ввода на дисплее .....................................164 Создание интерфейса командной строки ....................................................167 Понимание SPI ................................................................................................172 Отображение простой игры ...........................................................................173 Построение схемы ................................................................................................174 Использование дисплея ST7735 ..........................................................................175 Разработка игры ...................................................................................................180 Глава 7. Мониторинг погоды на панели управления Wasm TinyGo .................................................................................... 190 Технические требования ................................................................................190 Создание метеостанции .................................................................................191 Сборка схемы ........................................................................................................191 Программирование метеостанции .....................................................................193 Расчет предупреждений о погоде .......................................................................196 Отправка сообщений MQTT брокеру ............................................................200 Реализация пакета Wi-Fi......................................................................................200 Реализация вариации универсальности клиента MQTT ...................................204 Изучение MQTT ....................................................................................................205 Внедрение метеостанции ....................................................................................210 Представляем Wasm .............................................................................................219 Резюме .............................................................................................................189 Вопросы ...........................................................................................................189 Отображение данных датчиков и предупреждений о погоде на странице Wasm........................................................................................ 220 Обслуживание заявки ..........................................................................................220 Внедрение приложения «Погода» .......................................................................221 Резюме .............................................................................................................232 Вопросы ...........................................................................................................233 Глава 8. Автоматизация и мониторинг вашего дома с помощью панели управления TinyGo Wasm .................................................. 234 Технические требования ................................................................................235 Создание панели управления домашней автоматизацией .........................235 Создание универсального компонента MQTT ...................................................235
Стр.10
10  Оглавление Настройка кода создания экземпляра Wasm......................................................238 Создание HTML-шаблона ....................................................................................239 Реализация логики представления входа в систему .........................................240 Реализация компонента панели мониторинга ..................................................245 Реализация основной логики ..............................................................................249 Обслуживание приложения .................................................................................251 Создание клиента домашней автоматизации ...................................................253 Настройка схемы ..................................................................................................253 Реализация логики ...............................................................................................254 Запрос данных с микроконтроллера .............................................................257 Проверка других идей реализации .....................................................................263 Резюме .............................................................................................................264 Вопросы ...........................................................................................................264 Приложение «Go»ing Ahead ............................................................ 265 Блокирование горутины ................................................................................265 Чтение с канала ....................................................................................................265 Инструкция select .................................................................................................265 Задержка по времени – блокирующий вызов ....................................................266 Поиск распределений кучи (объема памяти) ...............................................267 Замечания ........................................................................................ 269 Послесловие ..................................................................................... 271 Предметный указатель ................................................................... 272
Стр.11

Облако ключевых слов *


* - вычисляется автоматически
Антиплагиат система на базе ИИ