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

  Переглядів 171,151

Заметки Ардуинщика

Заметки Ардуинщика

День тому

В этом уроке разберём основные алгоритмы парсинга данных и общения по Serial/COM/UART. Научимся создавать свои протоколы связи и управлять чем угодно при помощи текстовых команд.
► Огромный стартовый набор GyverKIT: kit.alexgyver.ru/
► Скетчи из урока: github.com/AlexGyver/tutorials/
► Библиотека Parser: github.com/GyverLibs/GParser
► Библиотека AsyncStream: github.com/GyverLibs/AsyncStream
► Уроки Arduino на сайте: alexgyver.ru/lessons/
► Модули и датчики с Али: alexgyver.ru/arduino_shop/
► Страница "Заметок Ардуинщика": alexgyver.ru/arduino_lessons/
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
●●●●●●●●●●●●●●●●●●●●
► Основной канал: / alexgyvershow
► Поддержать автора alexgyver.ru/support_alex/
► Официальный сайт: alexgyver.ru/
► Почта: alex@alexgyver.ru

КОМЕНТАРІ: 337
@bumbarabun
@bumbarabun 3 роки тому
15:13 ошибка, вместо логического "И" там бинарный, странно, что не вылезло при тестировании.
@ArduNotes
@ArduNotes 3 роки тому
спасибо! Исправлю в примерах
@bumbarabun
@bumbarabun 3 роки тому
@@ArduNotes я в последнее время предпочитаю альтернативную форму записи - and гораздо тяжелее перепутать с bitand, чем & vs &&. Или можно для бинарного использовать старую форму, а для логического новую.
@MiaminZD
@MiaminZD 3 роки тому
@@ArduNotes Zinkin Mitya Интересно в условии стоит millis .т.е. таймают по условию должен быть миллисекундах, а вывод Serial.print показывает в микросекунда. Как? Как я понимаю минимальная задержка будет 10 миллисекунд.
@wt8712
@wt8712 2 роки тому
@@MiaminZD Вывод показывает сколько микросекунд исполнялся код на 39-40 строке, а вызываться он будет не чаще, чем раз в 10 миллисекунд
@dmitrykolesov1651
@dmitrykolesov1651 7 місяців тому
Спасибо огромное! Без этого не работало. Этот комментарий должен быть вверху.
@notsaucemanofficial
@notsaucemanofficial 3 роки тому
Второе название канала - "ценнейшая находка для ардуинщика".
@sorochinsky
@sorochinsky 3 роки тому
Высший пилотаж, объяснить сложное просто. Спасибо!😊
@IgorStepochkin
@IgorStepochkin 3 роки тому
Ты мои мысли прям читаешь) Перелопатил по этой теме уже все что можно
@ilya7zz
@ilya7zz 3 роки тому
О, как раз актуально! :)
@ruslan.zhumabai
@ruslan.zhumabai 3 роки тому
Решено много вопросов в голове. Однозначно лайк за таких видос.
@gdmsave
@gdmsave 3 роки тому
Спасибо! Именно то, чего не хватало))
@maxfrec8487
@maxfrec8487 3 роки тому
Омск опять смотрит! Лайк за видео!
@encoder10101
@encoder10101 3 роки тому
Класс, игрался со связью по serial между 8266 и ардуино пару лет назад. Спаял делитель так как платы на разное напряжение и... Забросил) самое время достать снова всю эту шляпу и поиграться снова. Спасибо за все тонкости и за асинхронность. Жму волосатую руку.
@--r3381
@--r3381 3 роки тому
Ооо, то что надо, спасибо большое! У меня контроллер моноколеса периодически шлет массив с циферками, с ними мне как раз нужно будет работать в ардуине.
@user-gc2te5fn1q
@user-gc2te5fn1q 3 роки тому
Алекс, сделай разбор кода какого-нибудь своего проекта. Видео с светомузыкой на гиперкубе было топовым, очень классно и понятно ты все объяснил. Я потом, используя тот алгоритм, переписал старую твою светомузыку и выглядит это прекрасно. Я это к тому, чтоб ты рассказал про какой-то код на каком-то более конкретном примере
@alkatrazbd2314
@alkatrazbd2314 3 роки тому
Высший класс! только начал изучать с++
@elenapoplos9537
@elenapoplos9537 3 роки тому
Спасибо за видео и советы Поучительный материал
@hutoryanin
@hutoryanin 3 роки тому
Благодарю, доступно, подробно, а главное интересно. *Л. а. й. к.*
@gebolat7812
@gebolat7812 3 роки тому
Я вот в этом ничего не понимаю, но очень внимательно посмотрел. Думаю нужно несколько раз пересмотреть
@user-pm6gj3qc5y
@user-pm6gj3qc5y 3 роки тому
Давно хотел научиться передавать команды на ардуино или esp по блютуз и вай фай. Спасибо. Жду следущий урок
@e-benz
@e-benz 3 роки тому
Алекс, спасибо за урок, буду благодарен если разберешь общение ардуино с сервером
@user-xu8ds8kk8l
@user-xu8ds8kk8l 3 роки тому
Спасибо, Алекс!
@ravil6018
@ravil6018 3 роки тому
Изумительно! Спасибо большое! :)
@mrAlexandrSmith
@mrAlexandrSmith 3 роки тому
очень полезный видос! Спасибо!
@boriskash1985
@boriskash1985 3 роки тому
Очень интересно!Хоть и не понятно много чего
@tkaisar
@tkaisar 3 роки тому
Спасибо! То, что надо!
@igorpr.8188
@igorpr.8188 2 роки тому
Спасибо большое за ценный урок! Очень важная информация!
@lakosh889
@lakosh889 3 роки тому
Я 4 года ждал это видео
@user-lx3rt1ib8d
@user-lx3rt1ib8d 2 місяці тому
Спасибо, Alex🤝
@tov.engineer41
@tov.engineer41 3 роки тому
Пасибо за уроки, чуваки
@ferafon
@ferafon 3 роки тому
Супер тема !!!
@lorensstudio3233
@lorensstudio3233 3 роки тому
Блин, быстрее бы следующее видео, у меня как раз сейчас стоит вопрос передачи данных в приложение на компьютере.
@Ivan_sev
@Ivan_sev 3 роки тому
Мне тоже нужно
@slv8507
@slv8507 3 роки тому
Присоединяюсь! Например такая задача: массив данных (фрейм буфер) отправлять на процессинг и там отрисовывать, чтоб в маленький экран не вглядываться. Тут нужно будет как то синхронизироваться. Вроде бы получилось, но что делать если буфер содержит те же данные что для синхронизации используются?
@krutoyinfo
@krutoyinfo 3 роки тому
У тебя ж com порт есть. Открывай его с компа и читай
@user-uw1uo3fu4m
@user-uw1uo3fu4m 3 роки тому
Круто и простопонятно, ещё ещё требуют наши мозги
@user-bh2ot5ks8f
@user-bh2ot5ks8f 3 роки тому
Я в свое время написал для VBA приложений JSON парсер для хранения данных и обмена между приложениями в текстовом формате, получилось достаточно просто и эффективно, но для для ресурсов микроконтроллера лучшее решение применение команд: ключ, значеие.
@QazaksTanos
@QazaksTanos 3 роки тому
аааа круто, скорей бы новый урок
@G-P_H-T
@G-P_H-T 3 роки тому
Приветствую Александр. Ой как просится парсинг на гайвер-контрол тепличный, аж в немоготу ))) Спасибо за добротные уроки ардуинщика!
@Next__Play
@Next__Play 3 роки тому
Хорошее видео. Лайк.
@ifynk
@ifynk 3 роки тому
Актуально, спасибо.
@0bit030
@0bit030 3 роки тому
Мощщщно! =)
@pavelv882
@pavelv882 11 місяців тому
Спасибо, очень интересный урок получился. Может быть добавить еще пример, как две ардуинки могут управлять друг-другом, чтобы обмен информацией шел между ними в разном направлении, можно наверное интересный проект сделать.
@illya-litkin
@illya-litkin 3 роки тому
очень бы хотелось увидеть уроки про переход от ардуин к голым мк. минимальную обвязку чипа, подключение к компу и т.д.
@ArduNotes
@ArduNotes 3 роки тому
огромный гайд выйдет через пару недель
@bbnmn4800
@bbnmn4800 2 роки тому
@@ArduNotes когда
@Alexander_Bond
@Alexander_Bond 3 роки тому
красававчег очень актуально и подробно обьяснено
@user-ci8hd6yi4i
@user-ci8hd6yi4i 3 роки тому
Алекс, за уроки респект, многим будет полезно) Хочу предложить ещё один вариант, более простой с точки зрения наглядности и простоты реализации, при этом такой же по вычислительной сложности Я у себя на стмках использую структуры, которые побайтово передаю. Можно даже битовые поля юзать для состояний светодиодов и прочих булевых штук При этом можно как делать одну структуру для разных команд - первое поле означает саму команду, второе поле означает значение команды, можно так же несколько полей делать спокойно (ну или хотя бы писать, сколько их, в первом байте) И для команд, имхо, гораздо удобнее запихать всё в enum, тогда читаемость кода возрастает, проще писать и отлаживать, а для проца enum это тот же инт, просто "с названиями" Либо второй вариант со структурами - передавать структуру состояния, в которой задавать все параметры сразу, просто подряд Единственная проблема, которая может возникнуть, это разных способ хранения структур (маловероятно), битовых полей (очень вероятно), если такие используются. У разных платформ (ПК - Ардуина) может быть разный порядок следования битов в битовых полях, тогда будет проблема Но для связи ардуинка-ардуинка, есп-есп или стм-стм, вариант прямо супер рабочий и ультра удобный, советую присмотреться)) Пы.Сы.: да, коммент на двух видосах, потому что здесь он ещё актуальнее))
@ArduNotes
@ArduNotes 3 роки тому
передача байтовым потоком - тема для отдельного урока
@igelbox.
@igelbox. 3 роки тому
Ой, на 8:50 - потенциальная запись за пределы массива. (если придёт пакет в 30 байт, то мы запишем NULL в 31й элемент массива)
@user-lt6vw9vn6q
@user-lt6vw9vn6q 3 роки тому
Ой спасибо, братик, какраз к дипломной работе подоспел!!!!
@wowus1987
@wowus1987 3 роки тому
Годнота!
@tiMer23
@tiMer23 3 роки тому
Как то, года 3 назад. Просил такой видос, дождался)))
@encoder10101
@encoder10101 3 роки тому
Такая же херня
@SIM31r
@SIM31r 3 роки тому
Лайк за Терминатора )
@rekusrenatas7349
@rekusrenatas7349 3 роки тому
kruto raskazal, vsio ponetna
@anatolytitov4169
@anatolytitov4169 3 роки тому
Лучший канал по абдуринке!
@derungebundener2019
@derungebundener2019 3 роки тому
Абдуринка - это выступления ВВП по ТВ :)
@krutoyinfo
@krutoyinfo 3 роки тому
Англоязычный ютюб смотри, там это давно уже все есть. И проекты покруче
@MAD_ALEX
@MAD_ALEX 3 роки тому
@@krutoyinfo ссылку на аналогичный урок пожалуйста
@anatolytitov4169
@anatolytitov4169 3 роки тому
@@krutoyinfo Дайте ссылку плз.
@user-lt2xw1gs1r
@user-lt2xw1gs1r 3 роки тому
кренеть, вот теперь начнётся жара...
@alxlavr
@alxlavr 3 роки тому
Расскажи как паркинг можно сделать на прерываниях на примере разбора данных от GPS. Это было бы здорово.
@yuripanov9670
@yuripanov9670 3 роки тому
Класс!
@ag4540
@ag4540 2 роки тому
Чтобы упростить процесс приема пакета - все эти таймауты - можно же использовать структуру TLV ru.m.wikipedia.org/wiki/Tag-length-value Часть пакета tag/type и length имеет фиксированную длину, а длина пэйлоада будет известна из поля length, в итоге мы точно знаем когда надо начинать парсить, а таймаут оставить для определения битости пакетов
@apt-toni
@apt-toni Рік тому
Добрый день, подскажите будет обзор на параллельную работу ардуино, (по двум проводам соединяются от 2 и более), аналогия с ARINC 629.
@multitube_original
@multitube_original 3 роки тому
Вооооооооот я уже начинаю разбираться в кодах! А это сулит новые свершения. БлагоДарю тебе Гувер за твои старания, ты и сам от этого получаешь неистовое удовольствие!)
@unclestepa
@unclestepa 3 роки тому
Респект
@user-im6py6or6v
@user-im6py6or6v 2 роки тому
Спасибо большое за уроки. А нет таких же библиотек для udp? Или может будет урок именно по upd esp32. Нашел пару уроков, но там передают одно состояние кнопки и все. Так какой же это парсинг.
@user-ju3rc3mw1w
@user-ju3rc3mw1w 3 роки тому
В 0:12 после рабочего дня это было так жоска, будто я снова на первой субботней паре по квантам))) Но все равно спасибо, тема важная.
@marengobelboa5905
@marengobelboa5905 8 місяців тому
Здравствуйте. Если мне нужно отправить на телефон показатели датчиков, например температуру воздуха, через Bluetooth, какой конструктор лучше использовать для создания приложения в телефоне?
@ser.jovtok
@ser.jovtok 3 роки тому
Сколько небольших производств заработало благодаря Гайверу, самому в этом всём разобраться очень сложно)
@led-avto
@led-avto 2 роки тому
Очень полезный урок. Подскажите что лучше использовать чтобы парсить ответы от SIM800. Уперся в то, что.... чем больше добавляют условий и обработку запросов, то строка (at) приходящая от SIM800 уменьшается... while (SIM800.available() > 0) { at += char(SIM800.read()); } if (at.indexOf("ATD" + phon + ";") > -1) { ******* } else if (at.indexOf("+CLIP:") > -1 { ******* }
@user-Master1969
@user-Master1969 5 місяців тому
Урок ценный но уже тяжел для понимания начинающим.
@MihaiTeSla
@MihaiTeSla 3 роки тому
Ничего не понял, но очень познавательно.
@Specter690655
@Specter690655 3 роки тому
Вот бы ещё по uart мульти-точке урок. Чтобы решение коллизий попинать
@OnTheWayToTheDirection
@OnTheWayToTheDirection 2 роки тому
Просьба пояснить момент 15:09 в видео. Получается, что теперь мы парсим, только если в буфере что - либо изменилось? А до этого парсили только если serial.avaliable?
@Dima-dj8lh
@Dima-dj8lh 3 роки тому
Для пользователя вариант "название пробел аргумент пробел аргумент..." куда приятнее (просто разделители иные). Можно функции мутить int argc, char* argv[] и ещё char answer[] для записи в эту строку ответа. Удобно. Предпочитаю именно этот метод, т.к. лень ещё прогу делать с крутилками и жмакалками Но вот между устройствами только структуры, только хардкор.
@ArduNotes
@ArduNotes 3 роки тому
между устройствами да, структуры) в другом уроке будем разбирать
@Dima-dj8lh
@Dima-dj8lh 3 роки тому
@@ArduNotes , в догонку к методу: Можно несколько вариантов для ключа использовать case 'r': Print("big r") case 'R': Код на r Break
@alexandr_84
@alexandr_84 3 роки тому
Подскажите, пожалуйста, parseint обрабатывает числа со знаком "минус"?
@ValeriyUnknown
@ValeriyUnknown 2 роки тому
Теоретически можем использовать, что б метеостанция скидивала график смени всех датчиков?
@pisyakamushkin704
@pisyakamushkin704 3 роки тому
Когда то давно изучал c, сейчас пишу только на python, и вдруг натыкаюсь на этот видос, аж мурашки по коже побежали как вспомнил обязательное присвоение типа переменной и указатели, ууфф.
@tim4ig
@tim4ig 3 роки тому
Зато скорость роботы кода выше в разы
@ArduNotes
@ArduNotes 3 роки тому
когда нибудь программисты совсем деградируют)
@ArduNotes
@ArduNotes 3 роки тому
в десятки и сотни
@user-wx6wt3lx6t
@user-wx6wt3lx6t 3 роки тому
а уроки с esp и сетью будут?)
@ArduNotes
@ArduNotes 3 роки тому
да
@MrDent-tp4ke
@MrDent-tp4ke 3 роки тому
esp 8266 - интересный модуль, в теории у него много возможностей но самая известная и пожалуй классическая- естественно деуатентификатор. Поэтому хотелось бы узнать что то ещё чтобы разнообразить работу с данным модулем
@levstarostin9699
@levstarostin9699 2 роки тому
А ESP 32 будут?
@Evgeny_Miroshnichenko
@Evgeny_Miroshnichenko Рік тому
@@MrDent-tp4ke деуатентификатор? Это что же такое "естественное", "классическое" и "самое известное", что о нём даже Гугл не слыхивал? Поясните это на понятном языке, пожалуйста.
@user-wq4ft4gy2l
@user-wq4ft4gy2l 2 роки тому
добрый вечер! Парсим N чисел выводит вместо терминатора 0 например 1,2; выводит 1 2 0 если нет знака ; терминатора то 1 2 Как убрать 0 ?
@zloslov
@zloslov Рік тому
Вот конечно еще бы вы медленнее все рассказывали. Но всё равно вы очень крутой спасибо вам огромное.
@maxfrec8487
@maxfrec8487 3 роки тому
Еще хотелось бы видео по сетевым каким то протоколам тот же изернет+интернет и работе с радиопередачей данных вифи/лора/блютуз и другие - т.е. что то в этом направлении.
@krutoyinfo
@krutoyinfo 3 роки тому
Это требует много времени и стоит денег
@kalobyte
@kalobyte 3 роки тому
инторнетный протокол слишком сложный для 8 битного контроллера и жрет много ресурсов есть готовые библиотеки для этого и там тот же принцип как и тут, парсить все равно придется а как передавать данные - зависит от конкретной библиотеки
@ilyavenner
@ilyavenner 3 роки тому
Неопределённое поведение в уроке. Найс! (Сарказм.)
@urashus7965
@urashus7965 2 роки тому
опробовал вариант Вариант 3 (однобуквенный, без задержки) прекрасно но только с положительными числами при подачи минусового числа выход 0 можно это както исправить уже мозги кипят
@idodoska
@idodoska 2 роки тому
Привет. Я хочу сделать голосовую интеллект для телевизора, чтоб использовать место пульта. Как собрать плату для данного задач. Сделайте пожалуйста видеоролик по этой направления. Спасибо заранее
@as_-_-_
@as_-_-_ 3 роки тому
super
@leruetkins5565
@leruetkins5565 2 роки тому
А я использую json формат, передаю данные через lora, вроде тоже неплохо работает.
@doshik9117
@doshik9117 3 роки тому
Здравствуйте Алексей можно пожалуйста отдельный урок по esp8266, заранее спасибо)))
@UK8CFT
@UK8CFT 3 роки тому
Его зовут Александр))
@titan1000
@titan1000 3 роки тому
здравствуйте а можно тоже самое сделать только для обмена информацией использовать без беспроводную связи или нет ?
@ArduNotes
@ArduNotes 3 роки тому
можно
@user-lt2xw1gs1r
@user-lt2xw1gs1r 3 роки тому
Александр, тема древняя, но все же хотя б мельком покажи как связать espшку и голосовое управление. отвечаю, люди высоко оценят 👍
@user-dk8rj3sk8m
@user-dk8rj3sk8m 3 роки тому
Подкину идею, счётчик ёмкости аккумов с логгированием на ПК, графики, ограничение по току, напряжению 🙂
@idodoska
@idodoska 2 роки тому
Привет. Я хочу сделать голосовую интеллект для телевизора, чтоб использовать место пульта. Как собрать плату для данного задач. Спасибо заранее
@dmitry7331
@dmitry7331 2 роки тому
Сделай видео,как с приложения.
@megaavolt
@megaavolt Рік тому
case 2 после обрыва передачи продолжает выдавать шим по последним данным,как обнулить если данные не приходят?
@Alexey_samodelkin
@Alexey_samodelkin 3 роки тому
Сделай web для теплицы!
@user-sr6pi5lp3q
@user-sr6pi5lp3q Рік тому
А готовые протоколы типа протобуф или жсон есть?
@tohalav8740
@tohalav8740 3 роки тому
В библиотеке Gyveroled в файле ExtFont для esp8266 надо include заменить на просто иначе не компилируется
@ArduNotes
@ArduNotes 3 роки тому
странно, у людей компилилось. Мб у тебя яверсия ядра старая?
@AndrewPstvt
@AndrewPstvt 3 роки тому
Да, у всех esp свои файлы работы с памятью и т.д. Это нужно учитывать и подключать нужные библиотеки с помощью макросов.
@liftoman_777
@liftoman_777 3 роки тому
Шикарный канал, почему рекламмы нет
@ArduNotes
@ArduNotes 3 роки тому
у нас только JLCPCB на рекламе, остальное не подходит по тематике =)
@user-cq1xv1gh3z
@user-cq1xv1gh3z 2 роки тому
а когда управления аруино и светодиодами по otg на смартвоне
@Sergey.Volkov
@Sergey.Volkov 2 роки тому
Как удостовериться что пакет принят полностью, и закончен по символу терминатора, а не таймауту? у меня когда пакеты идут часто они иногда смешиваются и всё плохо становится
@ruslansanzharov5825
@ruslansanzharov5825 10 місяців тому
8:47 тут проблема - если массив заполнится полностью на 30 символов, то мы зайдем за его границы. в readBytesUntil надо оставить 30, а в переменной надо сделать char data[30 + 1];
@dmitry_poliakov_ph
@dmitry_poliakov_ph 3 роки тому
спасибо за урок. может кто подскажет как передать по радио в библиотеке rcSwitch несколько данных в одной посылке, а потом это дело распарсить на принимающей стороне? проблемка в том что команда send просит int
@ArduNotes
@ArduNotes 3 роки тому
попробуй Gyver433, она всеядная
@derungebundener2019
@derungebundener2019 3 роки тому
Спасибище огромное, как раз то, что искал, ибо в ардуино полный новичок. У меня есть такой вопрос, был бы рад, если бы помогли советом: Как можно отказаться от символа-разделителя и парсить данные без него? К такой проблеме я пришел, экспериментируя с LoRa модулем - по умолчанию он принимал только char / string. А вот ни int ни массив int я скормить так и не смог. Смотрел ваш урок про NRF24L01 - там оно скрамливается массивом без проблем и точно так же читается без проблем. Отказаться от разделителя надо по той причине, что разделитель - это дополнительная информация и на её передачу затрачивается время. Это критично, если делать радиоуправление для всяких авиаигрушек. И к тому же разделитель занимает часть из максимального пакета, что можем принять. Работая ЛоРой, я пришел к такой колхозной концепции: Показания от потенциометров, которые принимают значения 0-1023 сжимаются до диапазона 10-99 (точность падает, но это не критично). 0-1023 - это либо одна цифра, либо сразу 4. А вот 10-99 - это всегда только 2 цифры. Далее складываем в одну строку показания от двух-трех потенциометров и передаем на ЛоРу. С другого конца просто принимаем данные в строку и разбиваем в субстроки: Первые два символа - это одно значение. 3-4-й символ - второе значение и тд. Можно ли сделать это более культурным способом? Спасибо.
@ArduNotes
@ArduNotes 3 роки тому
передавай байтовый поток, структурой или массивом
@it8874
@it8874 3 роки тому
Тоже ждешь финальную серию руки терминатора?
@user-hm6xe6kr5y
@user-hm6xe6kr5y 3 роки тому
👍
@user-wq4ft4gy2l
@user-wq4ft4gy2l 2 роки тому
void loop() { // асинхронное чтение через AsyncStream if (Serial.available()) { char str[30]; int amount = Serial.readBytesUntil(';', str, 30); str[amount] = NULL; int data[10]; //буфер интов int count = 0;//счетчик интов char* offset = str;//указатель для работы while (true) { data[count++] = atoi(offset);//пишем число в буфер offset = strchr(offset,','); //поиск след запятой if (offset) offset++; //если это не null -продолжаем else break; //иначе покидаем цикл } for (int i = 0; i < count; i++) Serial.println(data[i]); } }
@lossofsoul3693
@lossofsoul3693 5 місяців тому
расскажи о средствах обеспечения помехозащищенности) алгоритмы что делать если пакет не пришел до конца, пакет пришел битый (с искажениями) и т.д. о CRC, протоколах подтверждения от устройства об успешном получении пакета и т.д.
@antinazi1022
@antinazi1022 3 роки тому
Может кто знает сообщество мастеров по ЕСП 8266, где могут выполнить несложный заказ, без кидалова?
@user-enejayzer
@user-enejayzer 3 роки тому
В скечтче parseSerial.ino при компиляции ошибка в строке: int data[10]; // буфер интов Ругается : conflicting declaration 'int data [10]' Ну и не раскоментирован код.
@ArduNotes
@ArduNotes 3 роки тому
там составной пример из всего что было в видео, закомментирован кусками. Кто видео смотрел, должен разобраться
@Gameplayer55055
@Gameplayer55055 3 роки тому
Как грамотно организовать этот парсер в большом проекте, где много датчиков и мейнлупов? Хочу урок про альтернативу pthread в ардуинках
@ArduNotes
@ArduNotes 3 роки тому
потоки на микроконтроллерах - как костыль в одном месте. Мейнлуп должен быть один, всё остальное - по таймеру на миллис, как в самых базовых уроках. Что то требовательное ко времени - в прерываниях таймера. Про потоки забыть
@napalm18
@napalm18 3 роки тому
в описании видео скетчи из урока пусто, ссылки нет
@user-hd7hq4lf4y
@user-hd7hq4lf4y 3 роки тому
Гайвер крут! Что еще сказать. Вот интересно, будет ли это также работать на ESP8266 ?
@ArduNotes
@ArduNotes 3 роки тому
конечно
КАК ГЛОТАЮТ ШПАГУ?😳
00:33
Masomka
Переглядів 2,1 млн
Лизка заплакала смотря видео котиков🙀😭
00:33
Зомби Апокалипсис  часть 1 🤯#shorts
00:29
INNA SERG
Переглядів 1,1 млн
Артем Пивоваров х Klavdia Petrivna - Барабан
03:16
Artem Pivovarov
Переглядів 2,9 млн
Уроки Ардуино. Работа с текстом, String и char[]
11:18
Заметки Ардуинщика
Переглядів 71 тис.
Уроки Ардуино. ПИД регулятор
28:57
Заметки Ардуинщика
Переглядів 446 тис.
Простая беспроводная сеть датчиков на Arduino и 433 MHz
18:54
Заметки Ардуинщика
Переглядів 253 тис.
Принцип работы UART
40:11
Flexo Alex
Переглядів 38 тис.
Учим Arduino за 1 час! #Профессионально
1:00:00
Teacher Inventor DIY
Переглядів 210 тис.
Manage your device via the Internet from anywhere in the world. MQTT Protocol
12:43
Home Made - то, что ты можешь сделать
Переглядів 157 тис.
GitHub Copilot just got promoted to Captain
4:01
Fireship
Переглядів 110 тис.
I Was Never Meant to Have This Prototype CPU
21:53
Linus Tech Tips
Переглядів 907 тис.