Всё, что уже отработано в этой книге — модули (глава 20), объекты (глава 24), файлы (глава 19) — здесь встречается с Arduino-скетчами из учебника самоделок, только логика теперь может жить на стороне компьютера, а не только внутри самого микроконтроллера.
В учебнике самоделок Arduino программировался самостоятельно — вся логика (прочитать датчик, принять решение, включить реле) жила внутри самой платы. Это отлично работает для автономных устройств. Но у связки Python + Arduino есть свои сильные стороны: Arduino берёт на себя то, в чём он силён — точное взаимодействие с реальным временем и электрическими сигналами, а Python на стороне компьютера — то, в чём силён он: сложная логика, запись данных в файл (глава 19), работа с сетью, удобный текстовый интерфейс — вообще всё, для чего у маленького микроконтроллера просто не хватит памяти или мощности.
Объект serial.Serial — прямое практическое применение ООП из главы 24: он
хранит открытое соединение как своё состояние и предоставляет методы для чтения и записи,
не заставляя каждый раз заново разбираться, какой именно порт использовать.
На macOS Arduino обычно появляется как /dev/tty.usbmodemXXXX или
/dev/cu.usbmodemXXXX — найти точное имя можно командой
ls /dev/tty.* в терминале (глава 09) до и после подключения платы, сравнив
список. На Windows порт называется вроде COM3, COM4 — видно в
Диспетчере устройств или через PowerShell (глава 11). Имя порта различается от компьютера
к компьютеру и даже от порта USB к порту USB — универсального значения "по умолчанию"
не существует, его нужно определять каждый раз заново под конкретную машину.
Здесь видна прямая практика главы 18: .encode() перед отправкой (Python-строка
→ байты для передачи), .decode() после получения (байты обратно в текст).
Небольшая пауза после открытия порта нужна, потому что многие платы Arduino автоматически
перезагружаются при установке нового serial-соединения — без паузы первые отправленные
команды рискуют потеряться, пока плата ещё не успела запуститься заново.
Это ровно то, что физически невозможно сделать удобно на самом Arduino без дополнительного модуля SD-карты — а на стороне Python получается естественно и просто: та же плата (например, с термистором из учебника самоделок), периодически отправляющая показания по Serial, теперь ведёт полноценный файл-журнал с меткой времени каждой записи, готовый для дальнейшего анализа.
Финальная глава книги собирает всё это в единый инструмент командной строки — не просто пример кода, а нечто, что реально можно вызывать как полноценную команду со своими аргументами и опциями.
Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.