Уроки Arduino. Общение по Serial, парсинг данных, протоколы связи

preview_player
Показать описание
В этом уроке разберём основные алгоритмы парсинга данных и общения по Serial/COM/UART. Научимся создавать свои протоколы связи и управлять чем угодно при помощи текстовых команд.

00:00 - Начало
02:03 - Встроенные функции парсинга
03:28 - Управляем яркостью светодиода
03:50 - Протоколы передачи данных
05:31 - Делаем простейший протокол
06:28 - Подключаем RGB светодиод
07:09 - Работаем с readBytes
08:58 - Парсим N значений, strtok
09:40 - Парсим N чисел
10:29 - Парсим разнородные данные, Parser.h
12:25 - Пишем протокол для ледов и серво
13:25 - Ардуина управляет Ардуиной
13:57 - Ускоряем readBytes, костыли

Теги: #arduino #уроки #ардуино #alexgyver
●●●●●●●●●●●●●●●●●●●●
Рекомендации по теме
Комментарии
Автор

15:13 ошибка, вместо логического "И" там бинарный, странно, что не вылезло при тестировании.

bumbarabun
Автор

Второе название канала - "ценнейшая находка для ардуинщика".

notsaucemanofficial
Автор

Высший пилотаж, объяснить сложное просто. Спасибо!😊

sorochinsky
Автор

Ты мои мысли прям читаешь) Перелопатил по этой теме уже все что можно

IgorStepochkin
Автор

Я вот в этом ничего не понимаю, но очень внимательно посмотрел. Думаю нужно несколько раз пересмотреть

gebolat
Автор

Алекс, сделай разбор кода какого-нибудь своего проекта. Видео с светомузыкой на гиперкубе было топовым, очень классно и понятно ты все объяснил. Я потом, используя тот алгоритм, переписал старую твою светомузыку и выглядит это прекрасно. Я это к тому, чтоб ты рассказал про какой-то код на каком-то более конкретном примере

МорозИлья-жг
Автор

Класс, игрался со связью по serial между 8266 и ардуино пару лет назад. Спаял делитель так как платы на разное напряжение и... Забросил) самое время достать снова всю эту шляпу и поиграться снова. Спасибо за все тонкости и за асинхронность. Жму волосатую руку.

encoder
Автор

Ооо, то что надо, спасибо большое! У меня контроллер моноколеса периодически шлет массив с циферками, с ними мне как раз нужно будет работать в ардуине.

--r
Автор

Приветствую Александр.
Ой как просится парсинг на гайвер-контрол тепличный, аж в немоготу ))) Спасибо за добротные уроки ардуинщика!

G-P_H-T
Автор

Спасибо! Именно то, чего не хватало))

gdmsave
Автор

Решено много вопросов в голове. Однозначно лайк за таких видос.

ruslan.zhumabai
Автор

Я в свое время написал для VBA приложений JSON парсер для хранения данных и обмена между приложениями в текстовом формате, получилось достаточно просто и эффективно, но для для ресурсов микроконтроллера лучшее решение применение команд: ключ, значеие.

ВасилийШумилов-оь
Автор

очень бы хотелось увидеть уроки про переход от ардуин к голым мк. минимальную обвязку чипа, подключение к компу и т.д.

illya-litkin
Автор

Спасибо большое за ценный урок! Очень важная информация!

igorpr.
Автор

Очень интересно!Хоть и не понятно много чего

boriskash
Автор

Вооооооооот я уже начинаю разбираться в кодах! А это сулит новые свершения. БлагоДарю тебе Гувер за твои старания, ты и сам от этого получаешь неистовое удовольствие!)

multitube_original
Автор

Ой, на 8:50 - потенциальная запись за пределы массива.
(если придёт пакет в 30 байт, то мы запишем NULL в 31й элемент массива)

igelbox.
Автор

Алекс, за уроки респект, многим будет полезно)
Хочу предложить ещё один вариант, более простой с точки зрения наглядности и простоты реализации, при этом такой же по вычислительной сложности
Я у себя на стмках использую структуры, которые побайтово передаю. Можно даже битовые поля юзать для состояний светодиодов и прочих булевых штук
При этом можно как делать одну структуру для разных команд - первое поле означает саму команду, второе поле означает значение команды, можно так же несколько полей делать спокойно (ну или хотя бы писать, сколько их, в первом байте)
И для команд, имхо, гораздо удобнее запихать всё в enum, тогда читаемость кода возрастает, проще писать и отлаживать, а для проца enum это тот же инт, просто "с названиями"
Либо второй вариант со структурами - передавать структуру состояния, в которой задавать все параметры сразу, просто подряд
Единственная проблема, которая может возникнуть, это разных способ хранения структур (маловероятно), битовых полей (очень вероятно), если такие используются. У разных платформ (ПК - Ардуина) может быть разный порядок следования битов в битовых полях, тогда будет проблема
Но для связи ардуинка-ардуинка, есп-есп или стм-стм, вариант прямо супер рабочий и ультра удобный, советую присмотреться))
Пы.Сы.: да, коммент на двух видосах, потому что здесь он ещё актуальнее))

АлексейКонстантинов-ощ
Автор

Блин, быстрее бы следующее видео, у меня как раз сейчас стоит вопрос передачи данных в приложение на компьютере.

lorensstudio
Автор

Спасибо, очень интересный урок получился. Может быть добавить еще пример, как две ардуинки могут управлять друг-другом, чтобы обмен информацией шел между ними в разном направлении, можно наверное интересный проект сделать.

pavelv