> Притом всё это не требовалось для решения задачи, а стоимость -- 3000р. вместо 40р.Как получена стоимость юнита в 40р? Сделать кастомную плату на фабрике - будет стоить не менее штукаря за только подготовку в производство, в самом поганом виде. Нормальная двухслойка с масками и прочим - обойдется дороже раза в 2-3. А еще и собрать ее - и вовсе. В большом количестве - это автоматиеская сборка или как минимум заказ монтажа. Одна подготовка будет стоить с десятку, если не больше. Если факапов нигде не случится и не придется ничего серьезно переделывать. При тираже в 100 штук - рублей 100 на юнит. Сразу, на старте: материалы и людское время с вашей стороын - считать даже не начинали. А чтобы вышло 40 рублей за юнит при тираже в 100 штук - я не знаю что надо сделать. Поработать себе в убыток, ЛУТанув 100 плат как маньяк и лично запаяв их, за плошку риса?
Это не говоря о приличном времени на подготовку техдокументации на все это (время разработчика что, бесплатное?) и риске грабель и факапов всех мастей. В случае готовой борды - это как бы не ваши проблемы были, в случае модуля - наполовину ваши, а если все самому - ну вы в курсе, да? :)
Для себя прототип я могу еще ЛУТом откатать и запаять сам. Тогда цена материалов в железке на мк еще может быть со скрипом 40 р. Но будет потрачено несколько часов времени (что, впрочем, быстрее чем даже срочное производство на фабе). И это уже в результате не в 40 рублей оценивается.
А потом окажется что надо еще корпус, допустим. Весьма отдельные грабли. С отдельной ценой. Не отдадите же вы заказчику месиво из проводоа? А это еще деньги и для мелких партий варианты оказываются весьма компромиссным решением. А для тиража в 100 девайсов - еще и закупка комплектухи отдельным действом. Не то чтобы сложным, но людское время на это потратится. А оно не бесплатное.
> А если начальство хочет 100 устройств, то это уже начинает нехило значить.
Для именно 100 девайсов это очень варьируется. В плане того что хотел заказчик, какие сроки разработки приемлимы, какие вообще требования в задаче и прочая. И покрывает ли экономия увеличение затрат на разработку - надо очень отдельно смотреть.
Но да, у мк есть свои ниши где они смотрятся разумно, хорошо и правильно. Просто у мк есть куча своих ограничений и если излишне фанатеть (пытаться явно компьютерные задачи на мк сбагрить) - с решением и граблями всех мастей можно встрять надолго, а параметры решения будут дрянь.
>> - Удобство и скорость разработки.
> Зависит от задачи.
Ну естественно. Ставить Pi-образное нечто чтобы только пощелкать релюшкой без иных требований все-таки в общем случае глупо. Особенно если 100 девайсов надо. К тому же МК может кардинально меньше кушать. Апликушный проц не больно от CR2032 заведется, по крайней мере на данном этапе эволюции...
> MK, если я могу тупо приделать нужные мне кнопки без всякой клавиатуры?
А тут может быть вот какая засада: usb-клавиатура - готовый девайс, с приличным качеством и не вызывающий нареканий. А вот сколько у вас займет времени, сил и денег сделать свой кастомный корпус с клавиатурой, чтобы это не выглядело как блeвота и работало прилично - отдельный вопрос, ответ на который варьируется.
> то там будет RPi-like. Если задача требует какой-нибудь STM-ки, то будет
> STM-ка. В чём вопрос вообще?
Ну так я тоже за такой подход. Я вообще не понимаю чего народ так уж эти полюса противопоставляет - они сильно разные и мест где они реально пересекаются и конкурируют - не так уж много. Хотя в порядке трэша и угара, в линух недавно комитнули поддержку для именно старших моделей STM32. Кому-то вот надо оказалось. Сюрприз!
> на подстанции (элементарная задача вроде бы), но зачем тут вообще Linux?
В общем случае - скорее всего не потребуется.
> Просто поставил туда STM-ку и пишешь спокойно на SD-карту с АЦП после делителя.
Единственное что нынче люди любят чтобы подобные вещи не требовали внимания. Ну там сами скидывали периодически все это куда-то еще, по сети. Избавив чувака от похода к девайсу и тасовки карты. Этот чувак в общем случае денег стоит, и все такое. А сделать нормальный нетворкинг, а чтобы еще и с шифрованием нормальным и авторизацией, и чтоб настройка не рокетсайнс - на мк уже может начать становиться несколько напряжно. Хотя тоже варьируется.
> И не только для данной задачи.
Несомненно.
> RPi стоит порядка 2-3 тыс. р. В 20 экземплярах -- это уже 40-60 тыс. р.
И? Это 2-3 недели работы разработчика, плюс-минус всякая мелочь. И вопрос сведется к тому - сэкономится ли 2 эти недели долботни или нет. В допущении что по остальным параметрам оба варианта хорошо подошли. Что совсем не факт в общем случае - stm32 и толстые апликущные процы имеют довольно мало общего.
> И ещё раз. Машинки вроде RPi зачастую тyпо _хуже_ будут выполнять задачу.
Ну да. Они больше числодробилки + богатая писюкообразная периферия и меньше - глупые управлялки и клацалки.
> АЦП, realtime, питание, компактность и пр.
Совершенно согласен. Если интересовал серьезный реалтайм, однозадачная прошивка целиком занятая своей задачей - куда как предсказуемее.
> Причём тут web-ка?
Ну мало ли, хочется вот кому-то с дешевых камер картинки гнать, записывать и в сеть транслировать, например. Обычное желание. Случаи разные бывают. На мк такое делать - нафиг надо. А тут кто-то предлагал :). Грубо говоря - обратный вариант инженерных извращений - попытаться сделаьт из мк почти писюк.
> Вы вообще видели, чтобы Linux хоть раз запускали на stm32?
См. выше - на старшие STM32 недавно как раз комитнули поддержку в майнлайн.
> Это другие интерфейсы, другое железо, всё другое.
На самом деле это не так. У апликушников обычно есть как "писючные" интерфейсы типа usb, так и относительно простая периферия, более характерная для мк. Как то довольно шустрое GPIO. На нем делают софтварный I2C, SPI, MMC, 1-wire, и в лине даже для этого стандартные решения есть, так что самому ни бита кода писать не придется. И оно довольно прилично пашет. Может быть ADC, хардварные SPI, I2C, несколько UART, и что там еще. По периферии мелкие одноплатники посередине между писюками и мк, это гибрид обоих миров.
> Вам придётся потратить человекогоды, чтобы это всё нормально работало.
Кто-то вот потратил. Удивительно, но факт.
> Да и вообще, вы как себе представляете, например, внешнюю память у stm32?
Так вот и представляю: у старших STM32 есть контроллер памяти и шина наружу.
> по событиям с МК, то он просто сигнализирует об этом более
> умной машине (уже с Linux).
Это тоже валидный вариант. Если нужда в МК реально есть. Тем не менее, обработать нажатие кнопки и клацнуть релюшкой до кучи может и апликушный проц, если уж он в задаче есть. И МК при этом может и не быть обязательным компонентом системы.
> Я просто иду по путям наименьшего сопротивления, учитывая ка ки своё время,
> так и стоимость, так и надёжность, так и много других факторов.
И правильно делаете. Гвоздить везде одним размером - занятие глупое.
> Посмотрите на цену stm32f0.
Уже давно, только F10x. Мне M3 по $0.8 показался столь халявным предложением что я их себе для своих нужд мелкооптово аж отхватил. Забавно когда M3 с кучей периферии - по цене чуть ли не одного триггера.
> Мы сейчас про что говорим? Я говорю про микроконтроллеры (ибо subj о "mbed"-е).
А сабж вообще хз о чем. Видимо, о том что ARM хочет денег и всех завендорлочить на свое облако, если по большому счету.
> Опять же, посмотрите на stm32f0 и на наличие/отсутствие ethernet у него.
Кроме F0 даже у того же STM есть и другие чипы. В том числе и с эзернетом, если уж на то пошло. Прикиньте, STM32 очень разлапистое семейство и там много чего есть. Вплоть до M4 на пару сотен МГц с аппаратной плавучкой. Собственно на чем-то таком линух и запустили. А что, тоже STM32 и нии...т!
> Просто задачи нужно решать соответствующими инструментами.
Да я с этим и не спорю.
> Не нyжно цеплять по RPi к каждой простой задаче, где и МК достаточно легко справится
Если легко - тогда да.
> Мы говорили про микроконтроллеры (а-ля stm32f0).
Ну знаете, STM32F4 как бы тоже микроконтроллер. А на нем как бы линух запустили и даже в майнлайн комитнули.
> Чтобы запустить на нём linux потребуется много человеколет.
Для F4 с внешней памятью - достаточно будет просто компильнуть ядро. За человеко-полчаса какие-нибудь.
> Но если забить на микроконтроллеры (а-ля stm32f0) и взять SoC, то да, это уже другой разговор.
Да вон некоторые и SMT32F4xx берут. И таки запустили там линь и даже комитнули в майнлайн. Я не знаю зачем они это делали, но так - можно.
> Но это даст гораздо менее качественное и более дорогое решение.
А вот это весьма зависит от задачи.
> А по человекочасам прошу сравнить:
Да, идем, берем STM32F4, компилим ядро. А драйвера там уже понаписали.
> - У SoC: устанавливать систему,
Установка сводится к раскатыванию образа. Это просто и не так уж долго.
> подключать АЦП к RPi, согласовывать работу по SPI, писать программу для нужного управления (самое простое),
Все это будет не сложнее чем в случае с мк.
> - У микроконтроллера: сгенерировал пустой проект в CubeMX
Я не знаю кто такой CubeMX. Я geany + gcc использую. Для STM32, ога. Потому что их я знаю и умею ими пользоваться. Я Linux предпочитаю как рабочую среду. Такой вот я фрукт - люблю когда в системе автоматизация на уровне и можно сделать удобно себе а не кому-то еще.
> и с использованием developer board написал, грубо говоря, 10 строчек (вуаля),
В линухе я, пожалуй, по именно строчкам могу и меньше написать. Там можно и софтварный 1-wire какой-нибудь получить, не написав ни строки кода как таковой.
> в другой отдел) на печать и пайку нужного количества устройств.
А в случае Pi-образного паять вообще ничего не придется, или совсем уж простой и мелкий "аддон".
> это извращение... очень мягко говоря.
Ну так вот, недавно (в ядре 4.1 или 4.2, чтоли) в майнлайн закомитили извращенцы с STM32F4 :)