Comments 60
Никак не пойму - зачем смешивать на одной плате два совершенно разных чипа, предназначенных для выполнения совершенно разных задач?
Если нужны дополнительные GPIO порты - так есть CPU с сотнями GPIO и других интерфейсов. Просто выбери нужный.
Нужна производительность при минимальном энергопотреблении - так среди микроконтроллеров всё это есть (Вплоть до многоядерных моделей с гигагерцовыми частотами)
Нужен линукс и производительность - берём Raspberrypi/Orangepi/Banaapi/ещё-какой-микрокомп
Нужно крайне низкое потребление - микроконтроллер.
Хотя в современных CPU есть всё тоже, что есть в микроконтроллерах, включая режимы сверхнизкого потребления и режим сна/гибернации. И портов даже больше, чем в микроконтроллерах.
Ну и внешним устройствам (вроде упомянутой LED матрицы) всёже лучше оставаться внешними. ИМХО.
Кажется идею с LED PIN 13 вообще потеряли где-то по-дороге: он нужен был для какого-то бинарного сигнала для отладки, никакого прикладного смысла в него не закладывалось. Городить какой-то огород из SMD LED — это в целом сомнительное решение, как минимум в настоящих LED матрицах углы отдельных пикселей рассчитываются так, чтобы не убивать контрастность засветкой всего вокруг без рассеивателя одной очень яркой точкой, окружённой пустотой. Я даже на скриншотах из статей про новую Uno Q едва ли могу разобрать какие-то символы, выводимые этим безобразием. И в сравнении с безобидным LED 13 этот огород всё время занимает огромный кусок пространства даже когда не нужен, эта чудовищная избыточность отталкивает от покупки. Гораздо рациональней было бы разместить просто порт для подключения какой-то комплектной матрицы (естественно по цене x50-x100 от себестоимости). При подключении вообще любого шилда эта матрица теряет возможность выводить что-либо.
При этом у qualcomm уже есть комбинированные SoC - Snapdragon Wear. Чипы недорогие, могут запускать Linux и имеют неплохой встроенный микроконтроллер, который имеет доступ к той же периферии, что и процессор.
А почему ваш процессор в компьютере не опрашивает все периферийные устройства самостоятельно, а использует контроллеры на каждом из устройств?
Наверное такие системы могут совмещать "отзывчивость/точность" и при этом выполнять серьезные вычисления/обработку полученных данных?
Раньше мне приходилось соединять RPi и Arduino по Serial Port.
Правда. Если я правильно понял, то речь идет о том, что Arduino переходит в класс микрокомпьютеров?
Все эти вопросы и замечания становятся незначительными, когда ты понимаешь, что Ардуино нужно не для работы, а для прототипирования и обучения. Можно, конечно, на Ардуино полноценный проект собрать (например, настоящий публичный лифт, хехе), но это будет глупо. Ардуинки не должны покидать разработческого стенда и/или проектов энтузиастов "для себя".
А так - полно всяких разных прототип-борд от самых разных производителей и с самой разной периферией на этих платах.
Поставить линукс с иксами, запустить в нем arduino ide и программировать встроенную stm, например.
UPD: Пардон, шутка уже прозвучала до меня
Система автоматически создает Docker-контейнер для выполнения кода на CPU и скрипт, который отправит скетч на исполнение в MCU.
Вот тут не понял. Это он на каждый чих будет генерить контейнер, чтоль? А зачем так сложно?
Или, всёж, речь про контейнер с компилятором, который создаётся только один раз? (Внутри него происходит сборка проекта и выгрузка на MCU)
Классический ардуино ценен как раз тем, что контроллер стоит примитивный, в котором может разобраться даже школьник. В нем мало памяти, потому надо шевелить мозгами, чтобы впихнуть свой код. Такой контроллер можно легко и просто освоить даже без ардуино среды.
Здесь стоит линуксовая часть (зачем, чтобы что?) с мелкой гребенкой, и жирнющий МК, в котором даже бородатый синьор без матов не разберется, даже с кубом его сконфигурить - боль. Всё накрыто горой абстракций. До кучи не хватает только fpga, вот честно... Какой у этого всего юзкейс, непонятно.
и жирнющий МК, в котором даже бородатый синьор без матов не разберется, даже с кубом его сконфигурить - боль. Всё накрыто горой абстракций. До кучи не хватает только fpga, вот честно...
Это в дополнение к предыдущим, не вместо их. Не можешь без мата и поллитры - вернись к предыдущему. А кому-то может и нормально зайдет. Посмотрел на даташит - ни фига себе - 4 32-битных таймера, однако.
Я вот тоже подумал, только FPGA не хватает :))
А так, вот сижу теперь и думаю, толи и правда не нужно никому понимание происходящего. Мне всегда нравились обычные 8-бит AVR. Понятная архитектура описанная в лярде источников.
Понятный код. При этом хочешь — пиши на ассемблере, изучай как работает регистр. Как работает порт или какой-то интерфейс. Попробуй сделать что-то по сложнее и посиди подумай как сэкономить такты и память.
Но как будто в встройку толкают сугубо продуктовый взгляд. Плевать как оно работают, как быстро оно работает. Костыль там или нет. Зато сел, взял Python и наваял мигалку светодиодом на двух ARM CPU… Ускорить разработку невзирая не на что.
Ну и сугубо на мой взгляд, с такими платами Arduino перестает быть учебной платформой и становится уже экосистемой для прототипирования для тех, кто уже «в теме».
В комбинации с нейросетями через некоторое время и вовсе не надо будет быть специалистом или в чем-то шарить. Там готовые модули, а нет модуля - иди в GPT.
Не знаю, очень сумбурные и неоднозначные у меня впечатления от железки. Вроде бы и стало определенно лучше, шагом назад это не назовешь. Но скорее шаг в сторону.
FPGA в микроконтроллерах реально сильно не хватает. Маленьких, простых и понятных, которые можно запрограммировать, набросав схему в схемотехническом редакторе. Чтобы не приходилось извращаться, реализовывая программно интерфейсы, которых не хватает. Особенно, если они понадобились в далеко не первой версии устройства, тогда, когда свободных ног к контроллера осталось мало. Микроконтроллеры с программируемой логикой существуют, но их совсем мало. А жаль.
Про 8-бит AVR стоило забыть ещё лет 10 назад. Более того, большинству стоило забыть вообще про все 8-битные микроконтроллеры, они нужны только для очень больших партий электроники, где экономят каждую копейку. Если использовать в STM32 такой же функционал, как в AVR, а остальное не трогать - они практически не сложнее AVR, а наоборот, удобнее и логичнее. Например, регистры у периферии с похожей функциональностью однотипные, потому что разработчики МК не занимались увлекательными квестами "куда впихнуть ещё один бит конфигурации", в результате чего конфигурационные биты оказывались в самых неожиданных местах, и для каждого из однотипных устройств приходилось писать отдельную версию драйвера, даже если используемый функционал был полностью идентичным.
Что касается добавления процессорных ядер в Ардуино, то для платы такого ценового диапазона это логично. Вместо того, чтобы осваивать совершенно отдельное искусство написания web-серверов и сайтов под них для МК во многих случаях проще использовать Docker и обычные современные технологии разработки сайтов. А web-интерфейс часто полезен устройствам на МК.
По правде говоря я бы не спешил отправлять 8и битки на свалку истории. Все же обучаться лучше именно на них. Они и проще и есть возможность чуть-ли не наглядно архитектуру прощупать. Понять как они внутри устроены. STM32 довольно сложные камни в этом отношении. Как минимум не нужно морочатся с тактированием для каждого переферии. Помнить, что откуда тактируется, искать нужное среди сотни регистров.
Да и DIP для многих остается решающим фактором. Не всем нужен космолет в спичечном коробке.
А так, конечно, в любительских проектах для тех, кто уже понимает, что и так работает конечно STM32 лучше и проще и практичнее.
Очень простой юзкейс, будем делать с дочкой робота (с сервоприводами), нужен вай фай чтобы достучаться до ЛЛМ. 3д принтер уже тоже едет
esp32 и/или малинки недостаточно будет ?
А как я к малинке подключу сервоприводы? Пинов же нет
Основная фишка малинок на старте - наличие gpio, сейчас оно все еще осталось, там есть порты с шимом чтоб сервами рулить
Это все конечно круто, но не очень то удобно. Вот у меня щас УНО Q стоит на повербанке, показывает мне мою погоду, дождик, и время, все из интернета через питон бридж. Могу залить в нее новый скетч с компьютера (все по вай фай). Сервоприводы я воткну прямо в нее, без дополнительных плат. В общем, не знаю почему тут столько критики, но я оценил. Я даже щас зашёл в нее по ssh с телефона, за минуту! Могу подключить к Ардуино клауд и мигать диодом с телефона 😎
Это не современная плата микроконтроллера, это контроллер устройства с низкоуровневой и высокоуровневой частью. Он нужен там, где низкоуровневое управление не примитивно, и включает управление какими-то двигателями, которое требует применения ПО жесткого реального времени и RTOS, и одновременно нужна высокоуровневая часть для интерфейса с пользователями и/или интеллектуальных функций, таких, как машинное зрение и нейросети, которые могут управлять устройством на его базе. Использование малопотребляющего микроконтроллера, CPU с широкими возможностями энергосбережения и интегрированный Wi-Fi намекает на мобильное использование. Думаю, эта плата подходит для создания на её базе не слишком сложных и быстрых мобильных роботов, такого класса, как робот-пылесос. Её ниша - обеспечить максимально простой старт в подобных разработках за счёт скрытия большей части сложности. Это может позволить использовать её для обучения школьников и любительских проектов такого плана.
Вообще, Arduino изначально был учебным проектом (в том числе для обучения школьников). Вот только для использования нужно было устанавливать среду, добиваться, чтобы последовательные порты были видны и драйвера установлены, ставить это на все компы в классе, в общем, для школьных кружков это был overhead.
Здесь мне видится попытка сделать самодостаточное устройство (им бы еще хаб в коробку положить): подключил к плате монитор и клавиатуру (отцепив от компьютера в классе), ввел пароль от WiFi, и все, можно работать, никаких танцев с бубном.
Сам когда-то пытался что-то подобное сделать (хоть подход и был немного другим).
подключил к плате монитор и клавиатуру (отцепив от компьютера в классе),
-- у вас на стройке несчастные случаи были?
-- нет.
-- будут! (Ц)
Hdmi в USB воткнули.жпг
Казалось бы, что может быть проще arduino ide? Оказывается, там есть неустранимый барьер - com port.
Поставить драйвера и среду разработки - это по вашему overhead? Ладно, пропустим время, когда учителям приходилось за полчаса до начала урока включать все компьютеры и загружать с лент или по нульмодемной сети ПО на все ПК в классе, искать драйвера на любую периферию на куче дисков. Но, мне кажется, что любой учитель справится с установкой putty и arduino IDE с закрытыми глазами.
Или это уже отголосок эпохи ИИ?
Как вам Arduino Uno Q? Купили бы себе такую? Делитесь своим мнением в комментариях.
Qualcomm (сама по себе) отличная компания, но попросту профнепригодная для рынка DIY.
Ничего из этого не выйдет - сначала она угробит Arduino, а через несколько лет продаст кому-нибудь более адекватному для этого рынка.
Вопрос в том, насколько вообще перспективен этот рынок. Нужно ведь каким-то образом прибыль получить.
А когда ты производишь чипы и готовые решения на этих чипах, которые может любой конкурент выпустить раз в 10 дешевле (ему нет необходимости окупать разработку), то встаёт вопрос о целесообразности разработки. Те же Atmel производили ATMega328P, получали какую-то прибыть, в это же время производили оригинальную Arduino Nano на ATMega328P, которую конкуренты на той же ATMega328P продавали сначала раза в 2 дешевле, потом раз в 10 дешевле. Ну и выходит, что голый микроконтроллер производить выгодно, а Arduino Nano будто бы и нет. А это бестселлер и если конкуренты не продолжат своё производство отладочных плат, то и продажи микроконтроллера просядут. А т.к. сто лет и сам МК не обновлялся, то уже и его продажи по естественным причинам проседают. А обновлять — это инвестировать кучу денег, а потом ещё убедить покупателей, что оно им надо (когда покупатель уже попробовал тот же RP Pico, с которым конкурировать непросто: в эту цену продукция явно не впишется).
Qualcomm без всяких сомнений не потянет. Он уже пошёл по какому-то сомнительному пути. Притом рынок доступных ПЛИС как был свободен, так и продолжает быть свободным.
RP2040 конечно хорош, а RP2350 так и вообще шикарен, но, намного сложнее в освоения, чем ATMega328, в том числе и благодаря активному сообществу Arduino и китайцам, стряпающим клоны как пирожки. Хотя у RP Pico и своя документация весьма обширная, но, есть куда стремиться. Если бы в свое время не освоил ATmega8 и следом уже на Arduino добил 328ю, то с освоением RP вряд ли бы вообще справился.
Если есть arduino framework, то нет особой разницы что там за камень.
Ровно до того момента, пока мы не столкнемся с несовместимостью библиотек, особенно сторонних, которые бывают написаны для конкретного чипа
Разница есть. Абстракции ардуины достаточно жирные и когда критична производительность или отклик начинают проскакивать прямые обращения к регистрам и т. п. Даже если не в коде пользователя, то в коде библиотек.
Соответственно, чем менее популярна плата, тем выше шанс, что автор нужной библиотеки не реализовал её поддержку.
Ещё не стоит забывать про толерантность логики платы к 5В (потому что очень много шилдов работают именно на этом напряжении). У STM32 вроде не должно быть с этим проблем, но вот у Arduino Leonardo, например, был прикол, что к ней половина внешних модулей "для Arduino" не подходит без дополнительного согласования уровней.
Ну и образовательный элемент, что так как на AVR мало фич, регистров и конфигураций (особенно на тех, что используются в самых популярных платах), то порог входа низкий "не устраивает скорость мигания светодиодом в 1 строчку, замени на 2-3, работающих прямо с регистрами).
На STM32 периферия конфигурируется сложнее и там уже будет не 3 строчки вместо одной, а десятки.
Притом рынок доступных ПЛИС как был свободен, так и продолжает быть свободным.
Для него нужна среда разработки и язык, понятные собаке. Таких нет. Verilog и компания слишком сложны для обывателя, порог входа не тот... Непонятно, с какой стороны подойти, чтобы занести ПЛИС на массовый рынок.
Непонятно, с какой стороны подойти, чтобы занести ПЛИС на массовый рынок.
А оно там востребовано?
Может быть и востребовано. Но очень сложная тема. Я несколько раз садился за FPGA и дальше ногодрыга на Spartan 6 я так и не зашел. Т.е как ногодрыга. Жменькой светодиодов помигал с разной частотой.
Очень мало обучающих материалов, особенно русскоязычных. Часть материалов выглядит в духе «как нарисовать сову». И платы дорогие Программаторы зачастую тоже. Софт нужно добыть в бою. Я прям от души намучался с трехбуквенными абревиатурами прежде чем удалось с сайта Xillinx вытянуть их среду. Экспортные ограничения США у них там.
Да и то, полез щупать FPGA тогда уже, когда на оказалось, что платы от майнеров Avalon стоят чуть ли не по цене за ведро. А там и Спартан 6 и Zynq варианты есть, ARM + FPGA SoC. И Zynq начились программировать используя RPI Zero. В общем получился бюджетный вход. И программатор и камень и плата более менее сносные для старта.
Но мне очень не хватает понятный материалов, что бы разобраться как такие штуки вообще проектировать.
Так в том-то и проблема. Для Verilog в целом неплохо было бы иметь сколько-нибудь популярную альтернативу с продуманным синтаксисом и т.д. Но раз уж базовый C обычателю доступен, то можно было бы и тут какой-то General Purpose язык иметь, с низким порогом вхождения и с расширениями, необходимыми профессионалам. Но чтобы в базе легко и быстро читался. А может и распространённая открытая среда для визуальной разработки решила бы вопрос, породив стандарт.
У ПЛИС та же проблема, что и у представленной платы - очень нишевый use-case, где они нужны.
Для ПЛИС это иметь задачу, где всё решает быстрый ногодрыг по логике, для которой нет готовых модулей и при этом ногодрыг настолько быстрый, что даже жирные МК не потянут (а они сейчас навороченные с сотнями мегагерц и DMA). Таких задач, откровенно говоря, малая часть от всего рынка самоделок.
Новая плата туда же. Системы с разделением верхнего и нижнего уровня составляют лишь небольшую часть самоделок (особенно с учётом того, что у одноплатников есть GPIO, микроконтроллеры нынче могут в сотни мегагерц и почти тот же набор интерфейсов, а писать две программы в общем случае накладнее, чем одну). А системы где нужно при этом гонять на сотнях мегагерц низкий уровень и того меньше. Обычно топовое что-то одно. Всякие защиты памяти от недоверенного кода и шифрование прошивки самоделками вообще востребовано не будет.
Существуют ли в природе задачи для этих плат? Да. Сколько это самодельщиков, если считать по головам? Мало.
Притом рынок доступных ПЛИС как был свободен, так и продолжает быть свободным.
Отнюдь, посмотрите на серию Tang от Sipeed. Это практически "то, что годами могли дать только Altera/Xilinx, но в 10 раз дешевле".
Сделали бы только с СТМ дуинку, а формфактор уно пора бы прекратить поддерживать - попробуйте вкрутить винт со шляпкой в верхнее левое отверстие или попытаться использовать макетку вместо шилда.
Для этого уже есть куча Nucleo и Discovery плат от самой ST. Nucleo так вообще идут с Ардуино френдли колодками. Да и куб с халом уже вполне дружелюбны к новичкам.
Помигать светодиодом куб с халом дружелюбны. А когда начинаешь лезть глубже(буквально на неделе пробовал), например нужно сделать микросекундную задержку для шаговика, становится интереснее, тк нужно разбираться с таймерами, их частотой и тд.
А ведь еще есть взаимодействие с внешними модулями по всяким i2c и spi, которые сначала настроить надо, а потом байты нужные слать.
По сравнению с ардуинкой, и #include на любую проблему, это дивный новый мир(который мне нравится, страдать очень интересно)
Угу, я уже вижу, как на CPU поднимаешь Arduino IDE, чтоб в ней написать что-то для MCU. А потом прошиваешь не отходя от кассы... Осталось добавить ПЛИС'у и вообще уберплюшка
Никому не нужная правда
Ну как же не нужная? Red Pitaya цветёт и пахнет, только по 300 баксов.
А тут тоже самое , только с перламутровыми пуговицами без пуговиц.
Возможно, они целятся в сегмент демо плат для бизнеса (на которых в том числе делают ранние прототипы будущих серийных устройств). Типа "с нашей платой сможете брать на работу тех, кто умеет работать с Arduino".
Всякие фичи типа шифрования прошивки (да и деление прошивки на доверенную и недоверенную) в DIY не имеют смысла от слова совсем. А вот бизнесу интересно.
А у пользователя вообще есть возможность писать прошивку для всего микроконтроолера (и его защищённой, и незащищенной части) или он ограничен возможностью запускать скетчи как недоверенный код?
Конечно нет! Кроме того, вообще вся ваша прошивка будет отправляться на сервера Qualcomm, где специально обученный человек будет проверять, что ваш код не может быть использован для производства оружия массового поражения.
Шутка конечно, но, во времена, когда можно было заказывать образцы микросхем напрямую от производителя, помню, приходилось где-то подписывать соответствующий документ.
Забылись уже "костыли" Arduino Yun, не принятые миром Intel Galileo. Теперь и Qualcom хочет на те же грабли наступить.
В то время когда мир уже дождался нормальную Arduino Minima и нужно было просто "качать" её дальше, до уровня, обеспечивающего и видеоадаптер, и сеть, на рынок опять выводят гибрид. С одним комбо-разъемом "на все случаи жизни" и даже без штекера внешнего питания! Явно какие-то эффективные менеджеры завелись и у китайцев.
Был такой микроконтроллер Stm32mp1, точнее семейство, точнее и сейчас есть. Там тоже Linux CPU пополам с микроконтроллером. Уже лет 5 как на рынке, даже вышло второе поколение, правда до сих пор не очень понятно, зачем он. Там и линукс часть дохлая, и микроконтроллерная часть сложная. И не уж, и не ёж, а очередной их гибрид.
Поэтому описывать такую связку как что-то новое и невероятное - не очень правильно.
Для выхода arduino в сеть/интернет достаточно esp32 (8622) . А тут уже просто одноплатник на линуксе. можно бы сравнить с малиной но там низкоуровневое gpio уходит в регистры проца, а люди измудряются чтобы получить качественный pwm например. у beaglebone на ti - сопроцессор ppu для gpio - встроенный. Так же были гибриды latte panda и udoo со встроенными микроконтроллерами для gpio - но они похоже уже ушли в историю
Я бы сказал наоборот. Для всяких сетевых задачек и развитых web ajax интерфейсов esp8266+например нано в качестве портов вв (по i2c). Еще помощнее и со rtos -esp32. Там уже и портов поболее, но 3.2в все равно не очень удобно. Расширители pcf в общем то работают, но раз в два-три месяца подвисают по непонятным причинам и требуют сброса питания.
Графоманство ради графоманства.
Какая разница, что использовать распберри ради погодного сервиса это как палить из пушки по воробьям, если это дешевле? В такой аналогии лучше тогда вообще с нуля разработать плату которая ничего другого уметь не будет, не взирая на то, что это обойдется в сотни тысяч баксов, ведь ардуинки для такого - это как из пушки по воробьям!
А если не утрировать, чем использование новой ардуины отличается от распберри? Что одно, что другое - полноценные микрокомпьютеры. В чем преимущество?
И использовать дуину вместе с микропк не квалкомы придумали. Есть уже десяток плат десяток лет, где они распаяны вместе на одном текстолите. "Инженеры разумно решили"... Списали.
Дальше эту графоманию читать не стал, глянул только таблички характеристик...
Видел обзор этого одноплатника на иностранном сайте в прошлом месяце. С тех пор, глядя на эту здоровенную светодиодную матрицу, я терзаюсь вопросом. Практично ли использовать это устройство как фонарик для ночных прогулок по лесу?
чем использование новой ардуины отличается от распберри? Что одно, что другое - полноценные микрокомпьютеры. В чем преимущество?
Может хотят Win11 PC собрать с встроенной мощной микроконтроллерной подсистемой? Можно в симуляторы играться, можно в симуляторах в помощь себе программного бота запустить, можно потом симуляцию подменить реальностью с помощью микроконтроллерной подсистемы. Человеко-машинная система блин, никогда не знаешь симуляция ли эта игра в дрончики или это поле реального конфликта. И дурака валять, не выпоняя задание, не получится - ИИ бот-помощник бдит, в критический момент подхватит управление и настучит куда надо.
Arduino для агента 007 — Uno Q. Что это, зачем и как работает?