Comments 516
Я не хочу становится разработчиком встраиваемых систем. У меня есть прекрасная работа и прекрасная область, на которой я специализируюсь и которая приносит мне очень неплохой доход.
А с микроконтроллером я хочу просто поиграться. Не заморачиваясь излишней пайкой, изучением периферии и прочим. И я готов переплачивать за простоту и отсутствие геммороя.
А с микроконтроллером я хочу просто поиграться. Не заморачиваясь излишней пайкой, изучением периферии и прочим. И я готов переплачивать за простоту и отсутствие геммороя.
Кажется, автор имел в виду не тех, кому хочется поиграться, а тех, для кого это специальность и хлеб.
Кажется, что не тех.
Не представляю, для кого ардуино является специальностью и хлебом, кроме его продавцов :)
вы видимо не видели готовые продукты на аурдуйнях. Например автомат, торгующий прохладительными напитками. А если такие изделия существуют, то надо полагать, что их разработчики крайне мало понимают в электронике. Отсюда можно делать выводы о качестве конечных продуктов.
Еще был случай, контора попросила разработать одно устройство. По сути очень простецкое с аппаратной точки зрения. Себестоимость конечного железа была около 300 рублей вместе с печаткой и сборкой. До меня его там разрабатывал ардуинщик. Мини серию в 50 штук он собирался сделать на ардуйне256 + шилд. Естественно цена там была аховая. Работодатель в этом плохо соображал, думал что такие модные веяния в мире электронике, что все это круто и супер надежно. Потом его друг узнал об этом и раскрыл глаза, вообщем вовремя спохватились. И супер модный код я тоже видел, немного смеялся.
Еще был случай, контора попросила разработать одно устройство. По сути очень простецкое с аппаратной точки зрения. Себестоимость конечного железа была около 300 рублей вместе с печаткой и сборкой. До меня его там разрабатывал ардуинщик. Мини серию в 50 штук он собирался сделать на ардуйне256 + шилд. Естественно цена там была аховая. Работодатель в этом плохо соображал, думал что такие модные веяния в мире электронике, что все это круто и супер надежно. Потом его друг узнал об этом и раскрыл глаза, вообщем вовремя спохватились. И супер модный код я тоже видел, немного смеялся.
В таких случаях три фактора часто действуют (по одному или в сочетаниях):
— заказчик не компетентен
— заказчик не готов платить за работу квалифицированны специалистов «почему-то» отя щи больше денег чем любители по-сути.
— таки специалистов просто не хватает на всех заказчиков
Про коррупцию и т. п. умолчим. И такая ситуация далеко не только на рынке разработки софта или девайсов, но и, например, на строительном, несмотря на то, что подлежит обязательному лицензированию деятельность на нём.
— заказчик не компетентен
— заказчик не готов платить за работу квалифицированны специалистов «почему-то» отя щи больше денег чем любители по-сути.
— таки специалистов просто не хватает на всех заказчиков
Про коррупцию и т. п. умолчим. И такая ситуация далеко не только на рынке разработки софта или девайсов, но и, например, на строительном, несмотря на то, что подлежит обязательному лицензированию деятельность на нём.
Тут есть и обратная сторона. Один супер-пупер-электронщик сделает дело и уволится. И фиг ему замену найдешь, чтоб разбираться в его супер-коде и супер-плате. В результате придется дважды платить — и ему, и тому, кто не настолько крут, но будет вынужден переписывать все с нуля.
Так что бывает дешевле заплатить за менее красивое творение, но которое потребует намного более дешевой поддержки.
Так что бывает дешевле заплатить за менее красивое творение, но которое потребует намного более дешевой поддержки.
Вполне можно на ардуино сделать прототип или тестовую партию для проверки перспективности девайса. А заказчики, которые хотят то, что на слуху, вместо того, чтобы доверить технические решения профессионалам во всех отраслях водятся.
Под каждый контроллер, производитель продает так называемый отладочный модуль. Использовать андруино рационально, когда вы будет использовать Атмегу входящию в его состав. Но тем не менее все слишком заостряют внимание на мк производства Атмел и не видят аналогов вообще.
+В комплекте с отладочным модулем всегда идет тонна примеров.
Программные библиотеки есть и под другие мк. Например под Сygnal(C8051) от компании Силабс есть просто гора примеров и программных библиотек от производителя. Там даже есть Мастер который позволяет вам сгенерить конфигурацию пинов с нужными вам параметрами таймеров, SPI и тд. Также аналогичные мастера есть под все их микросхемы: под езерернет(CP2200), радио и тд. У других производителей мк тоже самое есть, но в меньшем объеме.
А что касается прототипов, то серийный Андруино дороже серийного СТМ32влдисковери, при том что последняя имеет куда как больше возможностей.
А что касается прототипов, то серийный Андруино дороже серийного СТМ32влдисковери, при том что последняя имеет куда как больше возможностей.
т.е. мастер вам код генерит по С++ и ассемблер.
1. Возможно.
2. Может. Но почему бы не пробывать и другие мк?
3. А с другими мк плат отлаженных плат нет? Не аргумент.
4. У нас(на Украине) дешевле взять стм32(20$) или Лаунчпад от ТИ(10$). Я не видел дешевых Андруин(в среднем от 30$). Возможно у вас другие ценовые расценки. Так что тоже возможно.
П.С.
А теперь подумаем сколько стоит напечатать плату:
К слову цена печати плат одной промышленной заготовки(300 на 400 мм)~10$(на заготовки размещается может как комплект из разных плат, так и одинаковые платы, цена с учетом распилки плат) Подготовка производства(изготовление шаблонов и тд)~40$.(цены Киевского завода Радар). Т.е. 40 платим один раз и 10 за каждый лист. Распайка-не знаю, но есть фирмы предоставляющие такие услуги. Такие услуги предоставляются как фирмам так и частным лицам. У китайцев еще дешевле. Разумеется еще комплектующие и тд, но обычно дешевле изготовить платы под свои нужды. Да и изделие лучше выглядит. Возможно вам действительно дешевле использовать Андруино, но у нас дешевле к нему вообще не прикасаться. Конечно будет еще этап исправления ошибок, но изделие будет качественней.
2. Может. Но почему бы не пробывать и другие мк?
3. А с другими мк плат отлаженных плат нет? Не аргумент.
4. У нас(на Украине) дешевле взять стм32(20$) или Лаунчпад от ТИ(10$). Я не видел дешевых Андруин(в среднем от 30$). Возможно у вас другие ценовые расценки. Так что тоже возможно.
П.С.
А теперь подумаем сколько стоит напечатать плату:
К слову цена печати плат одной промышленной заготовки(300 на 400 мм)~10$(на заготовки размещается может как комплект из разных плат, так и одинаковые платы, цена с учетом распилки плат) Подготовка производства(изготовление шаблонов и тд)~40$.(цены Киевского завода Радар). Т.е. 40 платим один раз и 10 за каждый лист. Распайка-не знаю, но есть фирмы предоставляющие такие услуги. Такие услуги предоставляются как фирмам так и частным лицам. У китайцев еще дешевле. Разумеется еще комплектующие и тд, но обычно дешевле изготовить платы под свои нужды. Да и изделие лучше выглядит. Возможно вам действительно дешевле использовать Андруино, но у нас дешевле к нему вообще не прикасаться. Конечно будет еще этап исправления ошибок, но изделие будет качественней.
Ну и чёрт бы с ним, с торговым автоматом. Там разница в цене железки в 50 баксов роли не играет ни малейшей, зато для программирования ардуин и последующей поддержки кода можно задействовать более доступную рабочую силу. Это 21-ый век, когда время живых людей стоит намного дороже бездушного железа.
21й век: от говнокода и говносайтов переходим к говноэлектронике, дальше обратно к говномеханике… продуктам питания и т.п. Главное, чтобы самолёты не делали на таких игрушках и через 15 фреймворков…
PS: минусуйте — я готов :)
PS: минусуйте — я готов :)
говноэлектроникеИ в чём же она говно? В том, что неоптимально расходует вычислительные ресурсы? Но позвольте, код-то при этом сам по себе проще. Да, он медлителен, но он понятен, его легко читать и поддерживать. В конце концов в синхронном коде намного сложнее сделать ошибку. В итоге получаем ситуацию, когда не нужно знать особенности железа, достаточно сосредоточиться на бизнес-логике. Сейчас никто не пишет офисные пакеты на ассемблере, сейчас это приходит и на микроконтроллеры, ресурсы которых уже позволяют использовать тот же подход, что и для ПК.
Резюмируя: мы получаем надёжность за счёт избыточности ресурсов. Если мне не изменяет память, в военных и используемых в опасных отраслях системах так делали всегда.
Я понимаю вашу страсть к «байтоёбству», но в реальной жизни сейчас оно зачастую не просто не нужно, но и вредно.
Не в избыточности дело. Используя чужой код получаешь запас чужих граблей/ошибок. Но для мелких домашних поделок это не имеет значения.
Используя чужой код получаешь запас чужих граблей/ошибок.Т. е. вы предлагаете для, ну, скажем, текстового редактора с нуля писать прошивку BIOS, ядро ОС, библиотеки прикладного уровня и всё такое?
Нет, предлагаю разумно оценивать область применения поделки.
И если в драйвер для люстры (плавное включение, регулировка освещенности, расписание,...) я не парясь применю готовые либы, то в модуль управления паровым котлом перепишу их сам. Т.к. риски при зависании контроллера парового котла несколько выше.
И если в драйвер для люстры (плавное включение, регулировка освещенности, расписание,...) я не парясь применю готовые либы, то в модуль управления паровым котлом перепишу их сам. Т.к. риски при зависании контроллера парового котла несколько выше.
Обычно достаточно взять адекватные проверенные временем библиотеки, а не наколеночное студенческое поделие, позавчера выложенное в интернете. Как правило, стандартные библиотеки от производителя устройства достаточно надёжны.
То есть ваш пилотный набор велосипедов для парового котла окажется абсолютно безошибочным с первого раза,
в то время, когда
либа написанная, протестированная и отлаженная несколькими людьми в течение продолжительного времени и прошедшая боевую «проверку на вшивость» в огромном количестве разношерстных девайсов — так, поссать выйти?
:)
в то время, когда
либа написанная, протестированная и отлаженная несколькими людьми в течение продолжительного времени и прошедшая боевую «проверку на вшивость» в огромном количестве разношерстных девайсов — так, поссать выйти?
:)
это зависит от уровня/квалификации разработчика ;)
микроконтроллеры это не линукс, там сложно найти нормальные проверенные либы.
микроконтроллеры это не линукс, там сложно найти нормальные проверенные либы.
использовал готовые либы под ту же ардуину и то приходилось исправлять баги и подпирать костылями. т.к. без них код просто не работал в ряде случаев.
не знаю какие там еще есть ошибки которых я не заметил, но т.к. я делаю «для домашнего применения» меня это мало беспокоит.
не знаю какие там еще есть ошибки которых я не заметил, но т.к. я делаю «для домашнего применения» меня это мало беспокоит.
Вот я бы сделал как раз с точностью до наоборот — поиграть в переписывание либ под люстру еще куда ни шло, а вот с нуля на свои грабли наступать с паровым котлом поостерегся бы. Да, не брал бы первое, что под руку попадет, поискал бы качественные решения, но с нуля писать точно бы не стал — уже не раз проходили, что каждый вновь приходящий «крутой» разработчик горит желанием переписать все «правильно» и с нуля.
Все-равно библиотека библиотеке рознь. Когда андроид только появился, появилось куча глючных библиотек. Часть их было просто портировано под дэлвик, а часть написана с нуля. В итоге часто было надежней написать с нуля свой собственный (пусть и облегченный) вариант. Я имею ввиду библиотеки по сложности, как ORM.
Вообще написание с нуля не такая уже и плохая практика, если знаешь, что именно нужно, т.к. готовые библиотеки — это часто 90% ненужного функционала.
Вообще написание с нуля не такая уже и плохая практика, если знаешь, что именно нужно, т.к. готовые библиотеки — это часто 90% ненужного функционала.
Ну для свеженаписанных/свежепортированных библиотек это нормально. Но свой велосипед тоже будет свеженаписанным. Кроме того, широкоиспользуемые библиотеки обычно выправляются быстрее — большая база пользователей эффективнее выявляет баги. Своей же на пользу может пойти только то, что в ней нет ненужного функционала и несомых им багов, да то, что она досконально понятна, что облегчает отладку.
Я предлагаю для текстового редактора писать код непосредственно под ОС, а не под какую-то виртуальную машину, развёрнутую на виртуальном сервере, с базой данных, веб клиентом… чтобы в результате на экране увидеть такой же редактор, только тормозящий на ровном месте.
Окей, тратьте на это пару лет жизни, я склепаю за пару дней, пользователь будет доволен, ведь его задачи решаются уже сейчас, а не когда кто-то допилит свою дорогую, сложную и непереносимую на другое железо систему, которая к моменту выпуска уже год как морально устарела.
А вы уверены, что каждому пользователю нужно тормозное, но переносимое на другое железо ПО? Каждый ежедневно запускает один и тот же текстовый редактор под виндой, на айфоне, на айпаде, в линуксе...?
Лучше написать хорошо под одну систему, чем плохо, но под все. Хотя я смотрю современные программисты думают иначе :)
Лучше написать хорошо под одну систему, чем плохо, но под все. Хотя я смотрю современные программисты думают иначе :)
Я верю в то, что решение, работающее сейчас, лучше решения, которое заработает через год. Этим всё сказано.
Это ли не девиз говнокода? Лучше сейчас тяп-ляп, чем завтра хорошо?
Если речь о сиюминутных игрушках типа новой версии винлокера, весёлого фермера и т.п. — то да, главное сделать срочно, пока это не сделал твой сосед по лестничной клетке.
Но это всё мелкие ремесленные поделки, не более. Если бы все программисты шли таким путём не было бы ни Quake3, ни AutoCad,… да в общем ничего хорошего бы не было. Были бы одни фриварные однодневки, за которые деньги платить жалко и которые зарабатывают только на рекламе.
Если речь о сиюминутных игрушках типа новой версии винлокера, весёлого фермера и т.п. — то да, главное сделать срочно, пока это не сделал твой сосед по лестничной клетке.
Но это всё мелкие ремесленные поделки, не более. Если бы все программисты шли таким путём не было бы ни Quake3, ни AutoCad,… да в общем ничего хорошего бы не было. Были бы одни фриварные однодневки, за которые деньги платить жалко и которые зарабатывают только на рекламе.
facepalm.svg
Сделайте сначала хоть что-то, что уже сейчас, но работает. Ищите боттлнеки, оптимизируйте. Переписывайте совсем уж критичные части на C или даже на асме. В итоге у вас продукт начнёт работать завтра, а через 3 месяца достигнет 90% той производительности, что то сложное мегаоптимизированное поделие, которое вы бы выпустили через год, а потом ещё полгода фиксили баги. А они обязательно будут, поверьте. Только вот вылавливать их в таком коде намного сложнее. Как говорил один из создателей языка C, отладка кода вдвое сложнее, чем его написание, так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Так что рекомендую скатать свой перфекционизм в трубочку, отложить куда-нибудь подальше и вернуться к реалиям жизни.
Сделайте сначала хоть что-то, что уже сейчас, но работает. Ищите боттлнеки, оптимизируйте. Переписывайте совсем уж критичные части на C или даже на асме. В итоге у вас продукт начнёт работать завтра, а через 3 месяца достигнет 90% той производительности, что то сложное мегаоптимизированное поделие, которое вы бы выпустили через год, а потом ещё полгода фиксили баги. А они обязательно будут, поверьте. Только вот вылавливать их в таком коде намного сложнее. Как говорил один из создателей языка C, отладка кода вдвое сложнее, чем его написание, так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Так что рекомендую скатать свой перфекционизм в трубочку, отложить куда-нибудь подальше и вернуться к реалиям жизни.
Где то рядом ходит старый общеизвестный термин «стоимость владения».
В чем то вы оба правы. Просто потому, что представляете конкурирующие подходы. И наилучшее решение — вести параллельно такие разработки с целью сохранения конкурентности (когда это возможно).
То что монопольное использование только одного пути — это тупик, надеюсь, очевидно?
В чем то вы оба правы. Просто потому, что представляете конкурирующие подходы. И наилучшее решение — вести параллельно такие разработки с целью сохранения конкурентности (когда это возможно).
То что монопольное использование только одного пути — это тупик, надеюсь, очевидно?
> Как говорил один из создателей языка C, отладка кода вдвое сложнее, чем его написание, так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Извините, но вы сейчас что-то нескладное сказали, над вами потешаться будут…
Извините, но вы сейчас что-то нескладное сказали, над вами потешаться будут…
Я всего лишь процитировал г-на Брайана Кернигана. Если вы вдруг не знаете, кто это, что вы вообще забыли на Хабре?
Помню, в середине 90-х разработчики Автокада в течение нескольких лет боролись с какой-то структурой размером в 18 КБ, через которую там шла вся работа. Все понимали, что это плохо, но ничего не могли с ней поделать. Чем это закончилось, не знаю.
Это закончилось тем, что Автокад уже лет 10-15 является лидером на рынке 2D «САПРа», именем нарицательным и основоположником стандартов в этом деле.
Насчет 2D может быть. А так на слуху все больше Cyclone, Pointools, Geomagic, FaroScene, CloudWorx и прочие подобные системы…
Когда я был инженером, у меня на слуху для 3D были Компас, T-flex, SolidWorks, Pro-Engineer, Unigraphix, и любимая Catia.
Как быстро всё меняется :)
Как быстро всё меняется :)
И при этом жрет ресурсов как лошадь. Нанокад по сравнению с ним, летает при том же функционале :)
Вот я именно об этом! Любая прослойка, любая интерпретация с языка на язык, с одной виртуальной машины на другую — куча лишних движений, тормоза и растущая в геометрической прогрессии ненадёжность. К глюкам кода (который теперь пишется «легко и быстро») добавляются глюки прослоек.
Все эти лишние движения неспроста. Например, допустить утечку памяти на Java значительно сложнее чем на С. Виртуальных машин не так уж много, все используют одни и те же машины, следовательно, глюков там мало. Приложения же пишут все кому не лень, соответственно если производительность не так уж критична, то чем больше функционала реализуют стандартные компоненты, тем лучше (например, memory management). «Преждевременная оптимизация — это корень всех бед»(с). Это не говоря об отладке и прочих благах.
интересно, те кто минусуют этот пост под контроллеры программировали? :D
будет ли допустимо для разработчика встраиваемых вычислительных систем «неоптимально расходовать вычислительные ресурсы»Ровно до той поры, пока он вписываетесь в поставленные рамки, очевидно.
соответствии с изменившимися требованиями заказчика, те самые вычислительные мощности, которые он так не оптимально расходовалВот когда понадобятся, тогда и будет оптимизировать, содрав с заказчика на это дополнительные средства в связи с изменениями ТЗ.
Не все проблемы возможно решить лишь тратой денег, кое-где возможно придется потратить и свое времяДеньги — это время, выраженное через труд и средства производства.
Не хотите тратить своё время — найдите того, кто будет тратить своё и платите ему зарплату, так вся экономическая система уже много веков работает.
Что мешает изначально делать нормальную систему, в которой предусмотрены возможные и скорее всего неизбежные изменения в будущем?Вы пытаетесь предусмотреть все возможные изменения? Поздравляю, вы зря тратите своё время и деньги заказчика. Проблемы нужно решать, когда они появляются на горизонте, а не высасывать их из пальца.
Вы сейчас привели пример проблемы, которая уже маячит на горизонте, а не высосана из пальца. У меня такое впечатление, что либо я как-то непонятно излагаю свои мысли, либо вы не читаете, что я пишу.
Цитата из Гаррисона (вроде бы из «Фантастической саги»): «За деньги мы можем сделать практически всё. А за очень большие деньги мы можем сделать всё абсолютно. Просто на это нужно больше времени и денег»
Несколько раз пробежал глазами ваш коментарий, пытаясь понять, что в нём меня так зацепило. Ведь действительно, простота поддержки кода — это важный фактор и во всех серьёзных проектах её нужно учитывать. Но с другой стороны, фраза про то, что лучше написать хоть и медлительный, но более понятный для человека код подразумевает неутешительный вывод. Индустрия развивается, ориентируясь на посредственных специалистов. Теперь и в сфере встраиваемых систем, традиционно требующей высокой квалификации, больше не нужно быть супер профи чтобы писть код. Более того, лучше быть таким как все; таким, чтобы было легко заменить на кого-то другого.
Думаю, это не новость и не откровение. Действительно, профессия разработчика становится все больше похожей на профессию рабочего на заводе. Минимум индивидуализма, максимум стандартицации. Только осознавать это немного грустно.
Думаю, это не новость и не откровение. Действительно, профессия разработчика становится все больше похожей на профессию рабочего на заводе. Минимум индивидуализма, максимум стандартицации. Только осознавать это немного грустно.
Индустрия развивается, ориентируясь на посредственных специалистов.Человеческое время стоит дорого. Даже профи потратит намного больше времени на поиск проблемы в асинхронщине, чем в синхронном коде, например. Зачастую дешевле отдать лишние пару баксов за железку, чем на пару порядков больше за труд специалиста. Экономическая целесообразность, ничего более.
Но ведь тактовая частота больше не растет? Так что любое масштабирование должно в конечном итоге стать асинхронным.
Но все равно непонятно, что сейчас выгоднее — выжимать последние проценты эффективности из однопоточного кода, стараться его сделать неэффективным, но понятным, чтобы профи смог переделать его в параллельный, или все бросить и разрабатывать параллельную архитектуру программы изначально? Я сейчас никак не могу выбрать между первым и третьим вариантами. С одной стороны, большинство пользователей проекта работает в пакетном режиме, и им будет достаточно запускать несколько программ обработки в параллель, с другой — не хочется заставлять тех, кто пользуется графическим интерфейсом, ждать лишнюю минуту появления промежуточного результата (ведь человеческое время стоит дорого...). Но оптимальная архитектура программы для двух вариантов различается кардинально :(
Но все равно непонятно, что сейчас выгоднее — выжимать последние проценты эффективности из однопоточного кода, стараться его сделать неэффективным, но понятным, чтобы профи смог переделать его в параллельный, или все бросить и разрабатывать параллельную архитектуру программы изначально? Я сейчас никак не могу выбрать между первым и третьим вариантами. С одной стороны, большинство пользователей проекта работает в пакетном режиме, и им будет достаточно запускать несколько программ обработки в параллель, с другой — не хочется заставлять тех, кто пользуется графическим интерфейсом, ждать лишнюю минуту появления промежуточного результата (ведь человеческое время стоит дорого...). Но оптимальная архитектура программы для двух вариантов различается кардинально :(
Но ведь тактовая частота больше не растет? Так что любое масштабирование должно в конечном итоге стать асинхронным.Асинхронщина != распараллеливание. Когда наступит понимание того, чем они отличаются, продолжим дискуссию.
Разумеется, асинхронщина была задолго до многоядерности. Но распараллеливание без взаимодействия потоков… хорошо, пойду искать понимание.
Ну как пример.
apache для обработки каждого соединения форкается, порождая новый процесс. Обработка запросов происходит параллельно, но код у него при этом синхронный, т. к. поток ждёт завершения сетевых операций, чтения из файлов, etc.
nginx работает на фиксированном числе потоков (для упрощения можно сказать, что на одном, там обычно каждое ядро процессора обрабатывает свой набор сокетов). Он не ждёт, пока у него что-то прочитается из сокета/файла или завершится отправка данных, а обрабатывает другие события, меняя логический контекст задачи. Запросы обрабатываются асинхронно, но не параллельно, а последовательно.
Так вот, такие многопоточные штуки как апач легко писать и легко поддерживать, но они кушают немало ресурсов. Асинхронщина куда более эффективна, но в коде потом во-первых чёрт ногу сломит, во-вторых его сложно отлаживать из-за отсутствия единого потока выполнения логически единой задачи.
В итоге знаете, чем всё заканчивается? В интернеты смотрит эффективный nginx или squid, которые пилит команда умных людей, готовых поддерживать эту сложную махину, а всю логику миллионов веб-приложений делают на чём-то, что каждый запрос обрабатывает синхронно в отдельном потоке. Просто потому что это проще писать и проще поддерживать.
apache для обработки каждого соединения форкается, порождая новый процесс. Обработка запросов происходит параллельно, но код у него при этом синхронный, т. к. поток ждёт завершения сетевых операций, чтения из файлов, etc.
nginx работает на фиксированном числе потоков (для упрощения можно сказать, что на одном, там обычно каждое ядро процессора обрабатывает свой набор сокетов). Он не ждёт, пока у него что-то прочитается из сокета/файла или завершится отправка данных, а обрабатывает другие события, меняя логический контекст задачи. Запросы обрабатываются асинхронно, но не параллельно, а последовательно.
Так вот, такие многопоточные штуки как апач легко писать и легко поддерживать, но они кушают немало ресурсов. Асинхронщина куда более эффективна, но в коде потом во-первых чёрт ногу сломит, во-вторых его сложно отлаживать из-за отсутствия единого потока выполнения логически единой задачи.
В итоге знаете, чем всё заканчивается? В интернеты смотрит эффективный nginx или squid, которые пилит команда умных людей, готовых поддерживать эту сложную махину, а всю логику миллионов веб-приложений делают на чём-то, что каждый запрос обрабатывает синхронно в отдельном потоке. Просто потому что это проще писать и проще поддерживать.
Ясно, спасибо. Тогда аналогия с моей задачей будет — «а что делать, если появятся запросы, синхронная/последовательная обработка которых займет непростительно долгое время».
А вот это называется bottleneck (бутылочное горлышко), и его надо оптимизировать. Что не является поводом писать в так весь код.
Резюмируя: мы получаем надёжность за счёт избыточности ресурсов. Если мне не изменяет память, в военных и используемых в опасных отраслях системах так делали всегда.
Нет не получаем, потому что «потратить ресурсы впустую» != «увеличить надежность».
Надежность за счет избыточности — это, например, реализация алгоритма/функции тремя/пятью различными способами разными командами. Во время выполнения «побеждает» наиболее популярный вариант. Ресурсы непосредственно потрачены на увеличение надежности.
К сожалению, вы правы. Один случай мне запомнился надолго. Когда вышел андроид, все кричали что-то вроде: «Да кому нужно это тормозное поделие на java», а потом, когда в телефоны начали встраивать процессоры по 1 Ггц и вышло что-то вроде arduino от майкрософта, для которой можно было на C# писать, все кричали, мол, кому это тормозное говно на микроконтроллерах нужно.
Я предпочитаю покупать что-нибудь посередине — например, «самую дорогую из не самых дорогих». Но обычно смотрю в первую очередь на функционал и производителя.
Видел атмеловский чип внутри какого-то планшета. До сих пор гадаю, что он там делает.
Atmel делает не только процессоры, но и, например, EEPROM и Flash.
Вот у меня на столе модуль от пром. контроллера одного из флагманов лежит. В нем тоже Атмел :)
www.seeedstudio.com/depot/fusion-pcb-service-p-835.html?cPath=185 цены
we.easyelectronics.ru/woddy/ocherednye-platy-s-seeedstudio-teper-vishnevye.html фото результата
ну или резонит в москве хвалят (сам не сталкивался)
we.easyelectronics.ru/woddy/ocherednye-platy-s-seeedstudio-teper-vishnevye.html фото результата
ну или резонит в москве хвалят (сам не сталкивался)
Фабрично выгодно уже от 10 плат.
Страныне у вас какие то заводы. У нас тут есть производитель:
Подготовка 600р за гербер слой. А дальше при заказе в 10шт будет меньше 300р за плату 10х15. Но там будет маска, металлизация, лужение. Срок изготовления — неделя.
Подготовка 600р за гербер слой. А дальше при заказе в 10шт будет меньше 300р за плату 10х15. Но там будет маска, металлизация, лужение. Срок изготовления — неделя.
Черт, у меня тоже автомат по продаже напитков!
Но решил все указанные три проблемы простым способом — делаю только для себя!
Хотя с другой стороны, если мне потребуется второй такой же автомат, то там сделать на 100% идентичную структуру будет сложно — попробую что-то оптимизировать, но уж точно не буду травить и утюжить, а тем более паять МК — простите, но время дороже.
Но решил все указанные три проблемы простым способом — делаю только для себя!
Хотя с другой стороны, если мне потребуется второй такой же автомат, то там сделать на 100% идентичную структуру будет сложно — попробую что-то оптимизировать, но уж точно не буду травить и утюжить, а тем более паять МК — простите, но время дороже.
У нас её часто используют для прототипов. Дешевле и быстрее купить всё нужное, пускай даже за $200, чем нагружать конструкторов, которых не хватает и день работы одного стоит компании дороже $200.
Скорее всего. Ну хочется мне мигать диодами с помощь мк, на кой мне самому разводить плату, искать компоненты. Ардуина изначально и предполагалась для таких вещей. Ну а переплата, автор поста разведет и спаяет мне плату (индивидуально, ну чтоб диодами поморгать)за 20-40$?
А Aruduino разве предназначен для профессионалов?
Почему нет? Сделал быстро прототип, а если все супер — уже разработал промышленный вариант со своим железом.
Вроде есть профессиональные макетные наборы, не?
Тоже вариант
Конечно, именно так всегда и делается. Вот например отличная макетка www.terraelectronica.ru/news_made.php?ID=53
проектировка платы 2-3 дня. заказ в китае от 10штук — копейки (месяц почту ждать). паять надо время но тоже не особо проблема
Дурик гол как сокол. Там нет ничего практически. Что либо к ней подключать это либо каша из проводов, Которые вечно пытаются вылететь либо делать шилд = плата. А раз плата, то сразу делаем все от и до и дурка не нужна. ЕДинственно бывают редкие случаи когда на дурку можно повесить нужный шилд и это будет прям вот в самый раз.
Такие ли уж редкие? Тем более шилды можно собирать в этажерку.
Полностью поддерживаю. Именно такой комментарий я сам хотел оставить.
Я достаточно наигрался Ардуиной в паре с Андроидом. Было интересно создать какую либо «живую железку» под управлением телефона. Но углубляться в тайны микроконтроллера, пайку и все такое желания не было и нету :)
Это почти равносильно тому, что презирать людей которые используют фреймворки или другие системы контент-менджмента, вместо того, что бы писать свои :)
Я достаточно наигрался Ардуиной в паре с Андроидом. Было интересно создать какую либо «живую железку» под управлением телефона. Но углубляться в тайны микроконтроллера, пайку и все такое желания не было и нету :)
Это почти равносильно тому, что презирать людей которые используют фреймворки или другие системы контент-менджмента, вместо того, что бы писать свои :)
Автор в конце намекал на apple, что ближе к делу нежели фреймверки :)
Большая часть фреймворков позволяет использовать 0,5-1% возможностей того, над чем они нагорожены.
Скажем, из реляционной БД только записывать и сохранять по одной строчке.
Ардуйня — как раз из таких. Кажется, что стало проще (а на самом деле, вещь закрыли шторкой с окошком, через которое видно лишь пару кнопок).
Скажем, из реляционной БД только записывать и сохранять по одной строчке.
Ардуйня — как раз из таких. Кажется, что стало проще (а на самом деле, вещь закрыли шторкой с окошком, через которое видно лишь пару кнопок).
Аналогично, процессор использует только доли процента квантовых возможностей кристалла, из которого он сделан. Но мы же им пользуемся!
Потенциальные возможности кристалла нужно ещё раскрыть, фреймворки же скрывают уже подготовленное и приведённое в готовый к употреблению вид. Преподнося это как «удобство».
Не скрывают, а подносят в другом виде, более удобном. Аппаратный API оптимизирован для простоты его реализации, а вовсе не простоты работы с ним.
Разумеется ограничения есть, и в случае wiring — довольно существенные, но для многих задач они неактуальны, а в других можно работать в обход. Или вообще отказаться от ардуино — это не серебряная пуля и для многих задач элементарно непригодна.
Разумеется ограничения есть, и в случае wiring — довольно существенные, но для многих задач они неактуальны, а в других можно работать в обход. Или вообще отказаться от ардуино — это не серебряная пуля и для многих задач элементарно непригодна.
Согласен с вами. Но своим постом я хочу привлечь внимание тех, кто хочет больше чем просто поиграться. Я не против Ардуино, но меня расстраивает её использование работниками моей отрасли (идея написания поста у меня родилась после нескольких случаев, 2 из которых я описал).
Я думаю, те, кто хочет больше, чем поиграться, уже сейчас используют более специализированные инструменты. А настоящего профессионала отличает способность выбирать инструменты, наиболее отвечающие задаче, а не руководствуясь «престижем профессии», «так принято» и «настоящие мужики не используют ардуино».
Как думаете, я бы стал об этом говорить, если бы я не заметил тенденцию? Вот сегодня человек опубликует в DIY статью, как собрать автомат на ардуино, а завтра студент понесёт преподавателю курсовую, сделанную из этой статьи. Или другой случай — приходит студент и говорит: я хочу научится программировать контроллеры, с чего мне начать — с ардуино?
Вы конечно же знаете классический вопрос, который преподаватели задают первокурсникам радиофакультетов. Для тех, кто может не знать, напомню, о чём речь:
— Здесь есть радиолюбители?
Дальше, если кто-то отозвался (поднял руку, например) — традиционно преподаватель выгоняет отозвавшихся.
Смысл в том, что здесь нет любителей, здесь собрались профессионалы, или те, кто должен стать профессионалом.
Так вот, я это к тому, что если к вам студент принёс курсовую, сделанную на Арудино, его можно смело выгнать — уже не демонстративно. Ни к чему профессионалу использовать любительские инструменты.
— Здесь есть радиолюбители?
Дальше, если кто-то отозвался (поднял руку, например) — традиционно преподаватель выгоняет отозвавшихся.
Смысл в том, что здесь нет любителей, здесь собрались профессионалы, или те, кто должен стать профессионалом.
Так вот, я это к тому, что если к вам студент принёс курсовую, сделанную на Арудино, его можно смело выгнать — уже не демонстративно. Ни к чему профессионалу использовать любительские инструменты.
Ерунду пишите. Выполнение каждой курсовой подразумевает достижение той или иной цели. Если выбор инструмента разрешен студенту, если выбор андурино будет обоснован и не будет противоречить цели курсовой, то почему бы и нет?
Выгнать студента за то, что он разобрался с задачей и решил ее? И вина его только в том, что при этом использовал явно не запрещенные инструменты и технологии, которые не нравятся, по какой-либо причине, преподавателю?
Пинком под зад таких преподавателей из ВУЗов. Вы, простите, вообще преподавали хоть семестр?
если к вам студент принёс курсовую, сделанную на Арудино, его можно смело выгнать — уже не демонстративно
Выгнать студента за то, что он разобрался с задачей и решил ее? И вина его только в том, что при этом использовал явно не запрещенные инструменты и технологии, которые не нравятся, по какой-либо причине, преподавателю?
Пинком под зад таких преподавателей из ВУЗов. Вы, простите, вообще преподавали хоть семестр?
Я бы запрещал… Или требовал бы аргументировать(Почему Атмега?-Почему не ПИК? Не МСП430 или любой другой?). Одна из повседневных задач электронщика выбрать этот инструмент. А специалист-пусть виртуозно владеющий одним инструментом-не кому не нужный специалист. Наличия кучи готовых решений? — Специалист должен уметь разобраться. Специалисту необходимо умение работать с техдокументацией(читать даташиты).
Понимаете, цели могут быть разные. Если цель разобраться с конкретным семейством контроллеров, это одно. А если цель — сделать модуль управления для Фиговины, которая работает по замороченному протоколу и цель работы: разобраться с этим протоколом, то совершенно не важно, на чем будет реализован сам модуль управления. Важно, чтобы был изучен сам протокол.
Пример высосан из пальца, но тем не менее. Это как с алгоритмизацией. На первом курсе студентам запрещают пользоваться библиотеками, заставляя их самих реализовывать структуры данных, сортировки, поиски и т.д. Но когда на 4 курсе студент в качестве курсовой пишет, например, ftp клиент, глупость запрещать ему пользоваться stl, например.
Все зависит от цели работы.
Пример высосан из пальца, но тем не менее. Это как с алгоритмизацией. На первом курсе студентам запрещают пользоваться библиотеками, заставляя их самих реализовывать структуры данных, сортировки, поиски и т.д. Но когда на 4 курсе студент в качестве курсовой пишет, например, ftp клиент, глупость запрещать ему пользоваться stl, например.
Все зависит от цели работы.
Хорошо, но в каждой курсовой работе есть раздел: Выбор элементной базы или подобный ему… А чтобы разобраться с протоколом-проще слепить в Квартусе схему с пиком(там их достаточно много в стандартных либах). А еще сам Микрочип предоставляет хороший эмулятор встроенный в их ИДЕ. Зачем вообще железо использовать в таком случае?
Не нужно доводить до обсурда. Я лишь писал о том, что подход: «использует андурину — выгнать», — контрпродуктивен по своей сути. Я несколько лет преподавал в ВУЗе и поверьте, для части работ жестко регламентирован перечень технологий, библиотек и т.д. А для части работ, плевать на чем она делается, т.к. сделать ее хоть на чем-нибудь уже нетривиальная задача сама по себе.
И да, если протокол Фиговины настолько замороченный, что с ним разбираться плотно месяц надо, то пофиг, покатит и эмулятор. А за аппаратную реализацию — плюшки.
И да, если протокол Фиговины настолько замороченный, что с ним разбираться плотно месяц надо, то пофиг, покатит и эмулятор. А за аппаратную реализацию — плюшки.
Причины выбора дины могут быть типа «широкое распространение, высокоуровневый язык программирования, большое число готового кода»
Трудно найти такой мк, для которого не портирован высокоуровневый С...(мне только один такой попался это 8-ми ядерный P8X32A фирмы Параллакс, но для него есть свой язык) Большое число готового кода-есть примеры на сайте производителя, их часто достаточно для многих задач. Широкое распространение имеют также те же Пики. Что касается дешевизны, то лаунчпад на мсп430 или дискавери стм32 дешевле в 2 раза. Я не говорю выгонять-я говорю пускай аргументируют выбор. Правда есть случаи-когда вот под рукой валялось, потому его и взяли… У меня такое было, когда надо было завтра проект сдавать-а схема на пики вспыхнула синим пламенем, пришлось срочно хватать мк из состава МСП430 лаунчпада. Итого прошивка была за 30 минут портирована, ибо и там и там С.(правда проект не сложный был). С учетом того что МСП430 я держал в руках 1й раз в жизни-не плохой результат.
Простите, спутал квартус с протеусом.
Давайте не будем все же путать одно с другим. Вот придет к вам студент, вы ему и объясните почему не надо использовать ардуино. Если есть специалисты которые разрабатывают какие-никакие промышленные решения на ардуино — пусть. Всегда есть хорошие специалисты и всегда есть плохие! От этого не уйти никуда. Старайтесь готовить хороших специалистов, а ардунио оставьте нам, тем, кто принадлежит к области IT(программисты, сисадмины) но для кого микроконтроллеры не являются профильной стороной. Мы будем делать кучу прикольных штук в свое удовольствие, возможно кто-то сам углубится в микроконтроллеры и сменит ардунио на что-то другое.
Являясь веб разрабочиком (пишу сейчас на java) я плотно работаю также и с фронтенд частью, и мне постоянно хочется сказать людям с которыми я работаю — «Не используйте jquery, вы плохо знаете js, вам надо его учить, вы пишите плохой код, в котором потом возникает много путаницы и так далее» Но jQuery сейчас популярна и любой за пару дней сомжет написать простенький функицонал, как и с вашим ардуино, но с этим кодом будет невозможно работать, а если проект большой то все надо переписывать иначе будет полная каша.
Вот вам и аналогия. Всегда есть хорший специалист и всегда есть плохой. Плохой также может стать всегда хорошим если захочет.
Но есть еще и 3 тип — это люди которые не хотят быть хорошими специалистами и не хотят быть плохими им просто нужно быстро и просто, а главное сейчас что-то сделать, скорее всего дя себя и для этого они ищут простой инструмент.
Являясь веб разрабочиком (пишу сейчас на java) я плотно работаю также и с фронтенд частью, и мне постоянно хочется сказать людям с которыми я работаю — «Не используйте jquery, вы плохо знаете js, вам надо его учить, вы пишите плохой код, в котором потом возникает много путаницы и так далее» Но jQuery сейчас популярна и любой за пару дней сомжет написать простенький функицонал, как и с вашим ардуино, но с этим кодом будет невозможно работать, а если проект большой то все надо переписывать иначе будет полная каша.
Вот вам и аналогия. Всегда есть хорший специалист и всегда есть плохой. Плохой также может стать всегда хорошим если захочет.
Но есть еще и 3 тип — это люди которые не хотят быть хорошими специалистами и не хотят быть плохими им просто нужно быстро и просто, а главное сейчас что-то сделать, скорее всего дя себя и для этого они ищут простой инструмент.
Берите отладочную плату, они есть для всех микроконтроллеров.
Есть реально мощные варианты с блек-джеком и шлюхами (цветными сенсорными дисплеями, GSM-модулями, сетевыми разъемами и т.д.).
Стоят обычно не дороже ардуины только с блек-джеком (каким-нибудь модным шилдом типа сетевого).
Нужно все-таки по сторонам смотреть иногда.
Есть реально мощные варианты с блек-джеком и шлюхами (цветными сенсорными дисплеями, GSM-модулями, сетевыми разъемами и т.д.).
Стоят обычно не дороже ардуины только с блек-джеком (каким-нибудь модным шилдом типа сетевого).
Нужно все-таки по сторонам смотреть иногда.
Внезапно, большинство плюсовавших ненавидят говносайты на похапе.
Вот-вот, а ещё не плохо бы разделять людей, которые пишут логику, которая из простой железяки делает нечто умное и тех, кто просто организует работу этой железяки.
Начал изучение мк сразу с AVR. Arduino так и не попробовал. Считаю её игрушкой, которую можно использовать когда надо быстро спрототипировать некое устройство.
ардуино — нормальная тема для прототипирования
к тому же, если покупать у китайцев, то внезапно оказывается, то arduino mega 2560 стоит не 2500 рублей, а $21.80 + бесплатная доставка
к тому же, если покупать у китайцев, то внезапно оказывается, то arduino mega 2560 стоит не 2500 рублей, а $21.80 + бесплатная доставка
Что?! Это же нереально дорого, неужели Вы не понимаете?
Слушайте, ну куда дорого, я в день больше получаю. С ардуино можно за пару вечеров получить результат.
Вы вместо этого предлагаете осваивать микроконтроллеры. Ок. Но если бы это было всё… Но ведь это не всё. Кроме собственно микроконтроллеров нужно же еще освоить схемотехнику, научится нормально паять, вытравливать дорожки и еще уйму разных прикладных навыков.
Я лет 5-6 назад пробовал этим заниматся, получилось не очень и забросил. Чтобы во всем этом как следует разобратся уйдет месяц, не меньше.
20$ или месяц изучения не нужных мне навыков… хмм, даже не знаю что и выбрать.
Вы вместо этого предлагаете осваивать микроконтроллеры. Ок. Но если бы это было всё… Но ведь это не всё. Кроме собственно микроконтроллеров нужно же еще освоить схемотехнику, научится нормально паять, вытравливать дорожки и еще уйму разных прикладных навыков.
Я лет 5-6 назад пробовал этим заниматся, получилось не очень и забросил. Чтобы во всем этом как следует разобратся уйдет месяц, не меньше.
20$ или месяц изучения не нужных мне навыков… хмм, даже не знаю что и выбрать.
Дело не в абсолютной величине. Сравните с ценой аналогов, ну или с ценой «голого» процессора и макетки.
Я знаю, что там компонентов на 1-2$. Ну и что?
Понимаете, я даже не знаю какие именно компоненты мне нужны. Я не знаю что потом с ними делать. Я не очень хорошо умею паять — мало практики. Не умею вытравливать платы. Не умею составлять схемы.
А самое главное — не очень то хочу уметь. Что я буду делать с «голым» процессором? Повешу как брелок на ключи?
Понимаете, я даже не знаю какие именно компоненты мне нужны. Я не знаю что потом с ними делать. Я не очень хорошо умею паять — мало практики. Не умею вытравливать платы. Не умею составлять схемы.
А самое главное — не очень то хочу уметь. Что я буду делать с «голым» процессором? Повешу как брелок на ключи?
А что Вы делаете с процессором впаянным на платку и обозванным «Ардуино»? Травить платы необязательно — есть куча макетных. А навыки пайки еще никому не мешали: китайские провода отлетали и будут отлетать от наушников, зарядок и пр.
habrahabr.ru/hub/arduino/posts/ примеров вагон.
Для реализации этих же вещей без использования ардуино потребовалось бы на порядок(или на два) больше знаний. А это, зачастую, означает, что они просто небыли бы реализованы вовсе.
Для реализации этих же вещей без использования ардуино потребовалось бы на порядок(или на два) больше знаний. А это, зачастую, означает, что они просто небыли бы реализованы вовсе.
Да неправда. На макетке с проводами собрать можно не менее сложные штуки, чем на ардуинах. Без паяльника.
Arduino Uno — это МК, программатор, стабилизатор напряжения(одна микросхемка на 3 ножки и пара конденсаторов), кнопочка, светодиоды и разъемы. Какие же она дает такие особенные возможности для реализации? Скорее добавляет лишнего хлама в схему.
Она не дает никаких дополнительных возможностей. Она очень сильно снижает входной порог.
Но есть же аналоги? Почему не брать их? Например сейчас появились очень дешевый платки от СТМ(Stm32VLDiscovery)? С любимым всеми ядром АРМа на борту.
Нагуглил. Стоит 20-23$. Можно за точно такие же деньги купить у китайцев мега2560.
Наверняка это хороший аналог, но у ардуины есть несколько заметных достоинств. Например довольно удобный язык(arm насколько я знаю не входит в число поддерживаемых МК). Куча готовых модулей. И самое главное — огромное количество how-to в сети.
Наверняка это хороший аналог, но у ардуины есть несколько заметных достоинств. Например довольно удобный язык(arm насколько я знаю не входит в число поддерживаемых МК). Куча готовых модулей. И самое главное — огромное количество how-to в сети.
Предлагаете поменять модульную систему с унифицированными интерфейсами на самостоятельную разводку плат, их выпиливание, высверливание, рисование дорожек, вытравливании, лужение, монтаж и т. п.?
Я помнится сам собирал устройства из модулей подобных «High Sensitivity Voltage Sensor Module -Arduino Compatible», содержащих резистор, транзистор или кнопку, правда самодельных. Один раз попилить, попаять, поклеить, а потом что угодно (типа приёмника прямого усиления, мультивибратора для мигания гирлянд или цветомузыки) можно было собирать без пайки, плат и т. п., про складывая кубики.
Я помнится сам собирал устройства из модулей подобных «High Sensitivity Voltage Sensor Module -Arduino Compatible», содержащих резистор, транзистор или кнопку, правда самодельных. Один раз попилить, попаять, поклеить, а потом что угодно (типа приёмника прямого усиления, мультивибратора для мигания гирлянд или цветомузыки) можно было собирать без пайки, плат и т. п., про складывая кубики.
Дороговато, знаете ли, использовать какие-нибудь «дуины» в качестве игрушек…
Это и есть классическая игрушка, хобби из раздела DIY.
Я не хочу с игрушкой тратить все выходные, пытаясь адекватно выпилить плату, развести и пропаять домашними средствами. Уже молчу, что какой-нибудь RS-232 или другие приблуды для связи с компьютером заработают не с первого раза.
Это так, крик души :)
Это так, крик души :)
Ну, не знаю, что вам сказать: я сначала на макетке собираю; потом уже напаиваю…
Даже GPS или Ethernet? :)
У нас все проще: RS-232, CAN, SPI…
Я таким не занимался, но видел макетку с гпс приемником. Там одна здоровая гибридная микросхема и куча проводков было-ничего сверхневозможного. С ГСМом ситуация аналогичная(например модуль SIM300). А вообще есть куча макеток и плат переходников под корпуса TQFP, SOIC и тд(что касается езернета). Как оказалось, при наличие готового посадочного места паять-вообще песня.
Да вы что, в этом же весь кайф. Я иногда просто так что-нибудь выпиливаю и травлю. Что-нибудь припаиваю, а потом выбрасываю.
Но это шутка :)
Но это шутка :)
В том-то и дело, что если вы хотите собрать макет — ардуина чудесно подходит. Но меня вгоняет в смятение тот факт, что ардуину люди суют в продакшн. Особенно, когда лепят на ней n-коптеры.
Берите отладочную плату, они есть для всех микроконтроллеров.
Бывают реально мощные варианты вплоть до цветных сенсорных дисплеев и GSM-модулей.
Бывают реально мощные варианты вплоть до цветных сенсорных дисплеев и GSM-модулей.
Кстати, к сожалению, разработчики (точнее, дизайнеры) игр думают также.
Зачем тратить время на поиск аптечек — отошёл в уголок и раны сами собой затянулись.
Модное говно вроде CoD — и вовсе мультик, который посмотрел от начала до конца за 4-6 часов и забыл.
Никакого фана.
Зачем тратить время на поиск аптечек — отошёл в уголок и раны сами собой затянулись.
Модное говно вроде CoD — и вовсе мультик, который посмотрел от начала до конца за 4-6 часов и забыл.
Никакого фана.
Сильно дороже чем PC с топовым процессором, парой топовых видеокарт и т. п.?
Хорошо написал! Действительно, поражаюсь иной раз, когда вижу, что задачи простой автоматизации решают путем нагромождения множества всех этих *duino, NI'шных и прочих модулей. А когда этим еще и «рулят» из LabView, я понимаю: целью работы был только распил денег.
Автоматизации чего? Вы же не промышленные устройства?
> Автоматизации чего?
Да хоть завода!
Да хоть завода!
Ну кто будет автоматизировать завод с помошью платформы, предназначенной для " небольшое прикольное устройство может даже человек без специального образования, с минимальными познаниями в программировании и с отсутствием познаний в электронике" ССЗБ, если что-то пойдёт не так.
habrahabr.ru/post/141442/ ну вот чел например в оборонку влез с андруино… Думаю дальше будет хуже…
Если оно пользуется спросом — то почему бы и нет?
Я вот сейчас вряд ли встречу программиста, котороый пишет на java и прям-таки занимается оптимизацией на уровне ассемблерной сборки. А ведь мог бы. Вопрос в затратах. Иногда дешевле потратить больше железных мощностей и заплатить за якобы никому не нужные резисторы с ценой по $8, чем разбираться, какой электрон куда девается.
Часто проще собрать что-то из конструктора и оно в деньгах будет чуть дороже, но зато собрать и оно будет работать, чем пытаться разобраться в сути вопроса, но так ничего и не сделать, но ничего за это не заплатить.
Я часто сознательно пишу код, который может и не оптимален по скорости, но зато в результате дает тот «конструктор», из которого потом можно легко клепать, не думая об особенностях. Это оправдано, когда скорость работы не важна, а важна скорость разработки. Другое дело когда важна скорость работы — тогда уж извини, скорость работы устройства возрастет, но поимеем проигрыш в другом — во времени этой разработки. Тут то же самое — либо клемпаем быстро, но затратно по деньгам, либо дешево, но сколько лет надо на изучение микроэлектроники в универе…
Я вот сейчас вряд ли встречу программиста, котороый пишет на java и прям-таки занимается оптимизацией на уровне ассемблерной сборки. А ведь мог бы. Вопрос в затратах. Иногда дешевле потратить больше железных мощностей и заплатить за якобы никому не нужные резисторы с ценой по $8, чем разбираться, какой электрон куда девается.
Часто проще собрать что-то из конструктора и оно в деньгах будет чуть дороже, но зато собрать и оно будет работать, чем пытаться разобраться в сути вопроса, но так ничего и не сделать, но ничего за это не заплатить.
Я часто сознательно пишу код, который может и не оптимален по скорости, но зато в результате дает тот «конструктор», из которого потом можно легко клепать, не думая об особенностях. Это оправдано, когда скорость работы не важна, а важна скорость разработки. Другое дело когда важна скорость работы — тогда уж извини, скорость работы устройства возрастет, но поимеем проигрыш в другом — во времени этой разработки. Тут то же самое — либо клемпаем быстро, но затратно по деньгам, либо дешево, но сколько лет надо на изучение микроэлектроники в универе…
Да уж, не понять нам, нищим бюджетникам, такого…
спор идеологий. На мой взгляд излишняя оптимизация порой отрывает у проекта львиную долю времени. Последнее время калёным железом удаляю из себя оптимизаю. Нехватает мощности — другой камень. Памяти, другой камень и т.п. Цена вопроса ОДИНАКОВАЯ почти. Даже так, более мощный камень стоит ДЕШЕВЛЕ!
Есть тонкость путаницы тёплого с мягким. Если нужно скхозить что-то побыстренькому, то ардуино вполне. Если серьёзнее, то на мой взгляд стоит вообще забыть о микроконтроллерах AVR, есть более дешёвые и в тысячу раз более мощные решения.
Вот часть аппаратуры Большого Адронного Коллайдера управляется LabView. Наверное тоже дураки ;-) Просто в странах с более развитой экономикой (на которые Ардуина в большей степени и рассчитана) стоимость труда, накладные расходи, стоимость времени ожидания, стоимость рисков что что-то не сразу заработает значительно выше чем у нас. Стоимость плат на их фоне уже не так сильно влияет.
Нет, ну а что вы хотели? По-моему, Arduino за глаза хватает тем, кто не особо занимается ни низкоуровневым программированием, ни вообще чем-то связанным со схемотехникой и другими сложными словами.
Профессионал прекрасно знает, что Arduinoпацанам ему не надо. Так что…
А встраиваемые системы это круто. Но Arduino как-то раз сэкономил столько времени и нервов, пока я пытался завести UART между контроллером и D-Link DIR-320. Ардуинка помогла быстро решить нужную задачу. И, да, подход хоть и дилетантский, но задачу он выполнил.
P.S. А чем подсветка кода-то не устроила? :)
Профессионал прекрасно знает, что Arduino
А встраиваемые системы это круто. Но Arduino как-то раз сэкономил столько времени и нервов, пока я пытался завести UART между контроллером и D-Link DIR-320. Ардуинка помогла быстро решить нужную задачу. И, да, подход хоть и дилетантский, но задачу он выполнил.
P.S. А чем подсветка кода-то не устроила? :)
Автор критикует продукт нацеленный на любителей и поиграться с профессиональной точки зрения. Помоему это как-то не правильно. Разве есть замена ардуино, для людей которые не хотят сталкиваться с паяльником, но хотят попрограммировать микроконтроллеры?
Совсем не сталкиваться все-таки не удастся, даже с дуиной. Питание и моторчики-лампочки придется паять.
Замена есть, конечно есть. Вот, например, ST выбускает копеечные платы с макеткой в комплекте. Ищите stm32f0-discovery.
Но инстинкт и нежелание читать английскую документацию не позволяют выбиться из общего тренда. И ардуино царствует в умах самодельщиков.
Замена есть, конечно есть. Вот, например, ST выбускает копеечные платы с макеткой в комплекте. Ищите stm32f0-discovery.
Но инстинкт и нежелание читать английскую документацию не позволяют выбиться из общего тренда. И ардуино царствует в умах самодельщиков.
Замены нет. Но программирование ардуины — иллюзия программирования МК, мир грёз, в котором неокрепший ум лишь погрязнет.
Автор критикует неспособность мыслить. Не более того.
Я программист но порой приходят в голову «железные» идеи. И они дохнут как мухи в банке т.к. нет необходимых знаний для электроники. Собирался в скором времени купить ардуину чего-то смастерить но Вы меня опечалили. Я увидел в топике ссылки на другие темы, может они мне помогут, просто…
Ну пугает меня вид печатной платы, и советы типа сделайте плату дома это же так просто. Хочется чего-то такого что собрал как с ардуиной на шилдах да на breadboard-ах и пользуйся…
Короче внесли вы сумятицу в мою душу )
Ну пугает меня вид печатной платы, и советы типа сделайте плату дома это же так просто. Хочется чего-то такого что собрал как с ардуиной на шилдах да на breadboard-ах и пользуйся…
Короче внесли вы сумятицу в мою душу )
Нечего печалиться — покупайте, если нравится. Эта статья как критика профессиональным раллистом гражданской машины с точки зрения ее пригодности для ралли.
Если мы ардуину рассматриваем только в качестве исключительно хобби, на выходных пописать кода и поморгать диодами, то сколько будет стоить собрать аналог, начиная с покупки нормального паяльника, химии, инструмента и материалов?
Я думаю паяльник будет самой дорогой покупкой.
Мне бы цифру, что можно было сравнить. Хоть примерно.
Самая большая цифра будет «Время на обучение» :)
Время на обучение? Это несложно. Я научился за 3-4 дня. Самое сложное для меня было правильно нарисовать схему, и аккуратно просверлить отверстия. Если собирать аналог Arduino, то можно воспользоваться готовыми вариантами и просто распечатать.
Зависит от качества конечно. Самый простой паяльник поиграться на выходных стоит меньше 200 рублей. Кусок текстолита в пределах 100. Хлорное железо для травли тоже рублей 70 за банку. Ну и детали.
stm32f0-discovery — от 8 долларов. Мощнее дуины намного, паять не обязательно.
stm32f4-discovery — от 15, мощная, куча вкусняшек на борту.
stm8s-discovery — от 6 долларов, сопоставима с дуинами по мощности, минималистичная, зато можно отломать от программатора.
И это только ST.
stm32f4-discovery — от 15, мощная, куча вкусняшек на борту.
stm8s-discovery — от 6 долларов, сопоставима с дуинами по мощности, минималистичная, зато можно отломать от программатора.
И это только ST.
В пару-тройку тысяч для базового набора уложитесь (но все равно, если радиоэлектроникой занимаетесь, вам все это будет нужно).
А самопальный аналог ардуины обойдется рублей в 200..300. Но, конечно, все зависит от потребностей: можно и в 50р уложиться.
А самопальный аналог ардуины обойдется рублей в 200..300. Но, конечно, все зависит от потребностей: можно и в 50р уложиться.
Я не занимаюсь радиоэлектроникой, потому мне, по вашим данным, внезапно дешевле купить готовый набор ардуины за 2500 рублей, вместо базового набора инструмента + затраченного на все это времени + деталей для собственно аналога. Вот вам и ответ. Я еще раз говорю, я рассматривал исключительно в виде хобби.
Да вам никто и не возражает: если «дуины» используются только как хобби — пожалуйста. Деньги ваши.
Но если их начинают использовать для чего-то более серьезного…
Но если их начинают использовать для чего-то более серьезного…
Прикол в том, что сама по себе дурка ничо не умеет. Совсем. От голого мк ее отличает только подведенное питание, интерфейс для связи с компом и штырьки на портах. Вот и все, что там есть. Так что паять все же придется.
Про либы и документацию забыл.
Да и digitalWrite(pin, value) куда проще, чем регистры дергать. Ведь надо учесть режим вывода, проверить, переключить, после уже записать нужное состояние.
Но и медленнее конечно в 60(!) раз чем обычная запись в регистр. Но если ты моргаешь светодиодами какая разница сколько тактов это займет.
Да и digitalWrite(pin, value) куда проще, чем регистры дергать. Ведь надо учесть режим вывода, проверить, переключить, после уже записать нужное состояние.
Но и медленнее конечно в 60(!) раз чем обычная запись в регистр. Но если ты моргаешь светодиодами какая разница сколько тактов это займет.
А при чем тут оно? Бери эту ардуину иде, пиши со своими любимыми либами, а полученный хекс заливай в микроконтроллер своей платы. Или накатывай бутлоадер, а дальше работай как с ардуино. Правда в выборе ограничен будешь только теми мк, что поддерживаются дуркой.
Я себе лет 7 назад собрал «ардуину» за ~500 рублей на макетке. Самое дорогое это pic16f877 был. 4 семисегментных индикатора, 6 кнопок (из мыша), панелька под МК и под кварцы, куча разъемчиков для подключения (с материнки), связь с компом по RS232 + внутрисхемный программатор. Бонусом возможность программировать радиостанции с компа :) Использую для оттестировать код, проверить работу периферии, изучить какое-нибудь новое устройство. А потом прошивку переношу в готовое устройство нажатием пары кнопок.
Думаю, не стОит так сурово. Ардуина занимает свою нишу, иначе она не стала бы столь популярной. Её назначение — именно поиграться. Сделать, например, автоматический выключатель света в сортире, или интеллектуальный преобразователь RS232 — GPIO. Солидарен с автором, самого ужаснуло упоминание сей железки оборонным инженером. Легкая попсовая штука, позволяющая людям несложно реализовывать немудрёные затеи, хотя и попадаются талантливые штуки. А что до цены на прибамбасы к ней — спрос рождает предложение.
Подписываюсь!
Да, мысли интересные. И только для разработчиков встраиваемых систем. А люди вокруг — разные.
Я программист и контроллеры мне никогда не попадались. Но вот увидев статьи, что мигать светом в туалете можно даже через интернет — меня задело! И так появилось небольшое хобби, где управлять мнимой лампочкой нужно без использования большого системного блока ATX. Примерно так.
Я наверно никогда не буду разрабатывать встраиваемые системы в стиральной машине. А вот сделать простую штуку для себя — только рад буду. Мне не нужно брать голый контроллер оптом в Китае, искать обвязку к нему, пилить и травить плату. Зачем мне этим заниматься, если времени и так мало? Я куплю Arduino за 10$, включу его в USB и за один вечер сделаю что давно хотел — например сигнализацию в дачный домик с GSM-модемом, охранными и пожарными датчиками! Я уж я её не буду продавать налево и направо — я буду пользоваться ею сам.
Я программист и контроллеры мне никогда не попадались. Но вот увидев статьи, что мигать светом в туалете можно даже через интернет — меня задело! И так появилось небольшое хобби, где управлять мнимой лампочкой нужно без использования большого системного блока ATX. Примерно так.
Я наверно никогда не буду разрабатывать встраиваемые системы в стиральной машине. А вот сделать простую штуку для себя — только рад буду. Мне не нужно брать голый контроллер оптом в Китае, искать обвязку к нему, пилить и травить плату. Зачем мне этим заниматься, если времени и так мало? Я куплю Arduino за 10$, включу его в USB и за один вечер сделаю что давно хотел — например сигнализацию в дачный домик с GSM-модемом, охранными и пожарными датчиками! Я уж я её не буду продавать налево и направо — я буду пользоваться ею сам.
А что вы думаете о TI Launchpad например?
Launchpad хорошая штука, но думать и изучать там придется гораздо больше. Хотя бы даже архитектуру контроллеров MSP430.
Мы с коллегой хотим преподавать на его основе студентам основы программирования микроконтроллеров. MSP430G2553 имеют всё необходимое для обучения основам, являясь при этом запредельно дешёвыми (и вообще потенциально-бесплатными для университетов).
Тем более, что при всех своих достоинствах, он является достатчно простым для понимания (характерная особенность большинства устройств TI).
Тем более, что при всех своих достоинствах, он является достатчно простым для понимания (характерная особенность большинства устройств TI).
А либы где готовые брать? Сколько займет прикрутить к msp430 например тот же езернет? К ардуине это потребовало менее часа (найти либы, проверить, выбрать стабильную).
Мне кажется, вы не до конца понимаете суть предмета «Программирование микроконтроллеров».
Отлично понимаю. Вопрос что вы хотите преподавать. Если программирование «сферического контроллера в вакууме» то msp430 и подойдет. Если же хотите подготовить специалистов прикладного уровня, то и учить надо что-то более распространенное.
Если в университетах начнут изучать ардуино, то откуда будут браться специалисты, чтобы писать к нему новые либы?
Из тех изучающих, кто захочет понять, «что у нея внутре». Такие наверняка найдутся.
Я не об ардуине говорю. Для подготовки к реальной жизни надо преподавать stm32 или AVR. Вы зайдите в любой магазин хоть российский хоть ебай и сравните цены и доступность AVR и msp430. При производстве реальных изделий MSP оказываются неконкурентноспособными. Ну и с документацией/примерами тоже туго. Единственный плюс — дешевые макетки, но этот плюс весьма сомнительный.
Преподавание stm32 или AVR я поддерживаю. Отладочной платы такого
уровня хватит на целый курс, а более-менее нормальный ВУЗ может себе позволить изготовление таких самостоятельно.

Пару раз видел девайсы на MSP430. И оба были измерительными приборами. Здесь в пользу MSP430 играют два фактора — микропотребление (которое вообще одна из ключевых фишек семейства) и хорошие АЦП.
Так что свою нишу они находят. Ну и в конечном счете не так важно, на чем осваивать все это дело — в общем они одинаковы, а если инженера останавливают частные различия — его плохо обучили. На «освоенном» МК удерживает не знакомство с ним, а база наработок.
Так что свою нишу они находят. Ну и в конечном счете не так важно, на чем осваивать все это дело — в общем они одинаковы, а если инженера останавливают частные различия — его плохо обучили. На «освоенном» МК удерживает не знакомство с ним, а база наработок.
У нас в Киеве лаунчпад свободно достается и стоит аж 10$. Образовательные учреждения на сайте ТИ могу заказать БЕСПЛАТНЫЕ семплы. Также данные семплы могут получить студенты через своих преподов(увы, для частных лиц семпл получить практически нереально). В качестве семпла есть куча отладочных модулей с впаянными экранчиками и прочей фигней. У них хороший набор периферии и они достаточно мало жрут. Но я бы взял все таки стм32 для преподавания… Все таки АРМ более актуальней.
Специалистов прикладного уровня в ПТУ учат.
Ага. Тогда и и с++ надо преподавать в ПТУ. а в вузах только брейнфак. отличный аргумент.
Первым языком программирования, который нам рассказывали в университете, была машина Тьюринга — в курсе матлогики на первом курсе. Фортран появился только на втором. Считаю, что удачный подход.
Я всегда думал, что выпускнику вуза должно быть все равно, на каком языке программирования ему придется писать на работе, на бейсике или на джаве, с какими микроконтроллерами ему придется столкнуться. «Ай мы не учили ARMы, у нас лабы на К580 ардуине были».
Кстати да, я в вузе на к580 и к1801 учился программировать, 7 лет назад всего лишь. :)
Кстати да, я в вузе на к580 и к1801 учился программировать, 7 лет назад всего лишь. :)
Я тоже так думал, пока не пришлось программиста на работу нанимать. Вот тогда и приходишь в шок, от того что наши ВУЗы выпускают. А свободно программируют на любых языках единицы.
Тоже думаю, что все равно. Да для него и лямбда-выражения на ассемблере не должны быть проблемой.
И он должен в рамках обучения написать хотя бы два malloc'а. А то придется программировать какой-нибудь DCPU-16 с нуля, и что он делать будет? :D
И он должен в рамках обучения написать хотя бы два malloc'а. А то придется программировать какой-нибудь DCPU-16 с нуля, и что он делать будет? :D
В свое время максимальное что прикручивали с микроконтроллерам это была «внешняя память» (проекция триггеров и тп в память). А там уже зная основы, архитектуру можно было написать все что душе угодно.
Любимый студенческий контроллер:

Который управляет стендами (делали девушки кстати):


Любимый студенческий контроллер:

Который управляет стендами (делали девушки кстати):


Да они для всех практически бесплатны, цена в $4.30 чисто символическая, по названию платформы 430, и это включая дорогущую FedEx доставку. Документации полно, сред разработки и компиляторов хватает на любой вкус.
Я выбрал эту платформу из-за наследия PDP-11, раньше программировал на БК-0010. Ассемблер MSP430 конечно довольно сильно отличается, но и в нем есть своя прелесть и красота.
Я выбрал эту платформу из-за наследия PDP-11, раньше программировал на БК-0010. Ассемблер MSP430 конечно довольно сильно отличается, но и в нем есть своя прелесть и красота.
Где они дешевы-то? Дешев только LaunchPad, сами МК дороже AVR'ок серии mega, при крайне спартанском фарше.
LP наверное единственная отладочная платформа, закупаемая десятками ради прилагающихся к ней камушков (два G2xxx в комплекте и один F1612 в FET'е). А иногда ее и как arduino используют.
LP наверное единственная отладочная платформа, закупаемая десятками ради прилагающихся к ней камушков (два G2xxx в комплекте и один F1612 в FET'е). А иногда ее и как arduino используют.
Тем более, что при всех своих достоинствах, он является достатчно простым для понимания (характерная особенность большинства устройств TI).
Ага :) Сейчас как раз обдумываю статью про ассемблер C6xxx :)
Пользуясь случаем, спрошу у профессионалов. Сам электронщиком не являюсь, однако электронная часть будет использована в одном проекте. Задача: создать ≈100-150 устройств для пилотного проекта, использующих ZigBee. Возможностей готовых плат XBee не хватает.
Пока вижу варианты решения:
1. Arduino — благодаря стандартизованному шелду можно купить тираж в сотню устройств, соединить их, получить готовый прототип решения. Стоимость получится порядка (30+15)*100 = 4500 евро. Время разработки фактически эквивалентно времени написания и отладки прошивки, т.е. 1-2 недели.
2. Спаять самому: стоимость будет примерно раза в 2 дешевле, т.е. можно уложиться в 2000 евро. Меньше не получится, т.к. ZigBee модуль. Время создания будет равно написанию прошивки И пайке, отладки и тестированию каждой из плат. На пайку и тестирование 1 платы уйдет пускай 30-60 минут. Т.е. около 8 плат в рабочий день. 100 плат будут готовы за 12 рабочих дней + риски. Плюс специалист по электронике будет заниматься тупой и совершенно демотивирующей работой, и велика вероятность что он просто пошлет нас куда-подальше, ибо «не для того я столько учился чтобы китайцем работать».
Организовать сборку в Китае или Зеленограде — не вариант, т.к. стоимость в десяток раз превысит стоимость Ардуин, а сроки будут раза в 4 выше чем спаять самому.
Какие еще варианты?
Пока вижу варианты решения:
1. Arduino — благодаря стандартизованному шелду можно купить тираж в сотню устройств, соединить их, получить готовый прототип решения. Стоимость получится порядка (30+15)*100 = 4500 евро. Время разработки фактически эквивалентно времени написания и отладки прошивки, т.е. 1-2 недели.
2. Спаять самому: стоимость будет примерно раза в 2 дешевле, т.е. можно уложиться в 2000 евро. Меньше не получится, т.к. ZigBee модуль. Время создания будет равно написанию прошивки И пайке, отладки и тестированию каждой из плат. На пайку и тестирование 1 платы уйдет пускай 30-60 минут. Т.е. около 8 плат в рабочий день. 100 плат будут готовы за 12 рабочих дней + риски. Плюс специалист по электронике будет заниматься тупой и совершенно демотивирующей работой, и велика вероятность что он просто пошлет нас куда-подальше, ибо «не для того я столько учился чтобы китайцем работать».
Организовать сборку в Китае или Зеленограде — не вариант, т.к. стоимость в десяток раз превысит стоимость Ардуин, а сроки будут раза в 4 выше чем спаять самому.
Какие еще варианты?
aronsky, dlinyj, shtirlitsus, Eddy_Em, k0ldbl00d и сочувствующие, предлагающие использовать другие решения. Ваше мнение действительно хотелось бы услышать, т.к. в данный момент действительно стоит такая задача, и, возможно, вы подскажете действительно отличный вариант. Заранее спасибо!
Опасаюсь, что получится отвратительное качество. Если будет рендомно лагать сотня устройств, то поддержка такого решения превратится в сущий ад.
ARM — спасёт отца русской демократии. Он дешевле и мощнее любого AVR
Плохо, что попадаются такие ужасные корпуса, что замучаешься паять!
А ведь на стадии разработки паять совсем не хочется (т.к. наверняка, пока доведешь устройство до рабочего вида, спалишь контроллер-другой)…
Но, конечно, сжечь двухсотрублевую МКшку — дешевле, нежели ардуину какую.
А ведь на стадии разработки паять совсем не хочется (т.к. наверняка, пока доведешь устройство до рабочего вида, спалишь контроллер-другой)…
Но, конечно, сжечь двухсотрублевую МКшку — дешевле, нежели ардуину какую.
Они еденицы долларов стоят :). Ну TQFP вполне паябельные даже совковым паялом.
Сорокарублёвую STM еще дешевле. Предлагаю сделать макет на Arduino, а на этапе изготовления развести печатки под рассыпуху (тщательно всё проверив), попробовать собрать одно устройство методом ЛУТ (если слоёв 1-2), а потом уже заказать платы.
Если цель — сделать быстрее, проще и дешевле — оставайтесь на ардуино. Если — качественнее, компактнее, серьёзнее и дешевле — делайте на рассыпухе.
Если цель — сделать быстрее, проще и дешевле — оставайтесь на ардуино. Если — качественнее, компактнее, серьёзнее и дешевле — делайте на рассыпухе.
Это решается самотестированием. Или специальной тествой прошивкой плюс тестовая пепяка одеваемая на порты во время теста. Не забывайте что сборка из модулей ардуины запросто может так же неконтачить.
А по поводу монтажа можеем посотрудничать. У меня как раз бойцы простаивают
А по поводу монтажа можеем посотрудничать. У меня как раз бойцы простаивают
По монтажу вопрос будет актуальный после прототипа. Так что можем. Однако это ближе к зиме. Сейчас компонентов там будет порядка 10-15 баксов, плюс плата, плюс монтаж… Сомневаюсь что выйдет дешевле 40 баксов в итоге, а 5 баксов экономии не оправдывают того количества действий, которые нужно ради них проделать.
В конце концов там надо еще софт писать, другие вопросы решать, а тут за 5 баксов на месяц работы.
В конце концов там надо еще софт писать, другие вопросы решать, а тут за 5 баксов на месяц работы.
Тестовая пепяка — это сильно :)
Как раз возникла потребность в монтаже компонентов. Честно говоря, думал что у таких спецов как Вы есть какой-то более хитрый автоматизированный способ монтажа/пайки, нежели студенты, готовые работать за еду =)
Хитрый способ =сотня китайцев завод в Китае, найденный путем долгих поисков, проб и ошибок. Думал что есть предложения наподобие этого, но чтобы и компоненты сразу напаивали, по 1 центу за пайку.
Хитрый способ =
1 цент за пайку это для меня дорого %)
С китайцами есть проблема — таможня. При моих объемах производства попадаешь на растаможку. Есть и конторы которые это берут на себя и паяют дешево (на уровне моих монтажников), но у них минимальный заказ от полумиллиона рублей. Я конечно осилю, но пока мне проще так.
Если необходимо произвести партию устройств, больше чем десяток-другой, у нас обычно пользуются услугами добрых китайцев: те довольно немного берут за изготовление партии печаток + пайку элементов.
Правда, я лично с китайцами не связывался: серийным производством не занимаюсь, а одиночные изделия просто берешь себе, да паяешь.
Правда, я лично с китайцами не связывался: серийным производством не занимаюсь, а одиночные изделия просто берешь себе, да паяешь.
поддерживаю. в данной ситуации — Китай — это наше всё.
Первая плата стоит от 5 до 15 тысяч евро. Тираж обычно берут не менее 1000 устройств. Сроки для производства и поставки первой партии несколько месяцев.
К тому, же если ошибся в дизайне платы, то весь тираж, включая дорогущий первый экземпляр идет в утиль. Равно как и если после портотипа нужно будет изменить устройство — снова платить за первый экземпляр немалое бабло.
нет конкретики. думаю, можно подобрать подходящий по оптимальности эквивалент ардуины или любой другой отладочной платы с модулями, но, опять же зависит от поставленных задач и сроков реализации.
Задача — сбор данных со счетчиков воды/газа/температуры/влажности и передача данных по ZigBee, организованной по mesh-принципу. Решение должно быть энергоэффективным, предполагается возможность работы от батареек. К одному устройству нужна возможность подключения не менее 3 датчиков. Тип сигнала с датчиков может быть разный (аналоговый, импульсный и т.д.).
Для обеспечения энергоэффективности устройство должно 99.9% находиться в спящем режиме, и при этом продолжать подсчет импульсов со входов импульсных счетчиков. По расписанию должно просыпаться и отправлять данные.
На пилотный проект нужно от 100 до 200 устройств. Опыт работы с Китаем и Зеленоградом имеется по другим проектам (существенно более сложным с точки зрения электроники). Первая плата пробная стоит в 2-3 раза больше чем весь тираж Ардуин, сроки тоже большие, вопросы с таможней и прочей бюрократией.
На проект отводится 1,5-2,5 месяца.
Для обеспечения энергоэффективности устройство должно 99.9% находиться в спящем режиме, и при этом продолжать подсчет импульсов со входов импульсных счетчиков. По расписанию должно просыпаться и отправлять данные.
На пилотный проект нужно от 100 до 200 устройств. Опыт работы с Китаем и Зеленоградом имеется по другим проектам (существенно более сложным с точки зрения электроники). Первая плата пробная стоит в 2-3 раза больше чем весь тираж Ардуин, сроки тоже большие, вопросы с таможней и прочей бюрократией.
На проект отводится 1,5-2,5 месяца.
Энергоэффективность и спящий режим тогда про Arduino даже не стоит вспоминать.
И со сроками что-то вы совсем загнули. За 2,5 месяца вы хотите разработать протоколы обмена, железо, софт, произвести испытания и отладку ПАКа и произвести 100 терминальных устройств?
Это не серьезно.
При нормальных сроках можно было бы порекомендовать например
CC2420+MSP430 ZigBee/IEEE 802.15.4 development kit
Необходимые АЦП у msp430 имеются. Энергопотребление ниже некуда. Исключительно профессиональное решение…
Впрочем уверен, что у ST и Atmel'а тоже найдется что сказать по этому поводу…
И со сроками что-то вы совсем загнули. За 2,5 месяца вы хотите разработать протоколы обмена, железо, софт, произвести испытания и отладку ПАКа и произвести 100 терминальных устройств?
Это не серьезно.
При нормальных сроках можно было бы порекомендовать например
CC2420+MSP430 ZigBee/IEEE 802.15.4 development kit
Необходимые АЦП у msp430 имеются. Энергопотребление ниже некуда. Исключительно профессиональное решение…
Впрочем уверен, что у ST и Atmel'а тоже найдется что сказать по этому поводу…
Сколько людей занимается проектом и каких они специализаций? Это важно.
После выбора микроконтроллера (низкое потребление, развитая система простоя, надёжность, запас мощности для апгрейдов), закажите себе отладочную плату у производителя. Соедините прототип проводами и начинайте писать софт.
Тем временем электронщик разводит это, проверяет и отправляет китайцам для изготовления печаток. Только печаток, без напайки — это не будет стоить дорого. Китайцы сделают и электрические тесты.
Когда печатки придут — их могут собирать студенты первых курсов либо колледжей соответствующей специальности за опыт.
Я не знаю конечную цену вашего устройства, но 45 евро только за детали — это много. Вы уверены, что устройство будет конкурентноспособным? Эту ценц вы особенно почувствуете, когда пойдёте в производство (больше ≈100-150 устройств).
После выбора микроконтроллера (низкое потребление, развитая система простоя, надёжность, запас мощности для апгрейдов), закажите себе отладочную плату у производителя. Соедините прототип проводами и начинайте писать софт.
Тем временем электронщик разводит это, проверяет и отправляет китайцам для изготовления печаток. Только печаток, без напайки — это не будет стоить дорого. Китайцы сделают и электрические тесты.
Когда печатки придут — их могут собирать студенты первых курсов либо колледжей соответствующей специальности за опыт.
Я не знаю конечную цену вашего устройства, но 45 евро только за детали — это много. Вы уверены, что устройство будет конкурентноспособным? Эту ценц вы особенно почувствуете, когда пойдёте в производство (больше ≈100-150 устройств).
Количество людей будет зависеть от объема инвестиций, однако на прототип нужно расчитывать на 3 профессиональные пары рук — электронщика, и 2 программистов. У всех троих большой и богатый опыт работы в своих областях.
Устройство не является конечным продуктом, а лишь частью программно-аппаратной системы, поэтому маржа в него не закладывается. Клиент платит за автоматизацию, а уж какими там методами мы ее обеспечим — это наша задача. Мы с удовольствием готовы использовать готовый продукт, просто его нет.
Цена за первую плату в любом случае будет не менее 2-3 тысяч евро, китайцы не будут работать на партии 100 устройств по 5 баксов за штуку. Им за 500 баксов будет лень заморачиваться с этим делом.
ИМХО идеальным решением было бы найти готовую плату, пускай не ардуино. После прототипа она в любом случае будет доработана, и тогда уже речь пойдет азиатских коллег. Сейчас же нужен прототип системы, нужно его сделать за 2-3 месяца, и нужно чтобы он адекватно работал. Китайцы со скрипом успеют доставить за это время, будут дороже ардуино, а смысл пока неясен.
Устройство не является конечным продуктом, а лишь частью программно-аппаратной системы, поэтому маржа в него не закладывается. Клиент платит за автоматизацию, а уж какими там методами мы ее обеспечим — это наша задача. Мы с удовольствием готовы использовать готовый продукт, просто его нет.
Цена за первую плату в любом случае будет не менее 2-3 тысяч евро, китайцы не будут работать на партии 100 устройств по 5 баксов за штуку. Им за 500 баксов будет лень заморачиваться с этим делом.
ИМХО идеальным решением было бы найти готовую плату, пускай не ардуино. После прототипа она в любом случае будет доработана, и тогда уже речь пойдет азиатских коллег. Сейчас же нужен прототип системы, нужно его сделать за 2-3 месяца, и нужно чтобы он адекватно работал. Китайцы со скрипом успеют доставить за это время, будут дороже ардуино, а смысл пока неясен.
Откуда у вас такие суммы за первую плату?
Купите пару отладочных прат с тем же процессором, что и на понравившейся ардуине, накиньте ваши датчики и сделайте код. Вы вроде с опытом, сразу поймете срастается или нет. Разводите плату, заказывайте платы где-нибудь типа pcbwing. Паралельно закупите комплектующие.
Ну а потом паять, 100-200 штук можно за пару дней спаять, но думаю можно и контрактную пайку найти.
Купите пару отладочных прат с тем же процессором, что и на понравившейся ардуине, накиньте ваши датчики и сделайте код. Вы вроде с опытом, сразу поймете срастается или нет. Разводите плату, заказывайте платы где-нибудь типа pcbwing. Паралельно закупите комплектующие.
Ну а потом паять, 100-200 штук можно за пару дней спаять, но думаю можно и контрактную пайку найти.
Откуда у вас такие суммы за первую плату?
Не совсем понял вопроса: откуда деньги на партию ардуин или откуда взята сумма за первую плату у китайцев?
По первому варианту — какая разница, это бизнес и бизнес всегда требует денег на первом этапе. По второму — ну вот такой тариф. Возможно, мы общались не с теми китайцами. Если у вас есть контакты тех, кто готов делать дешевый тираж без платы за разработку 1го экземпляра, требований к минимальной сумме или количеству — очень прошу поделиться контактом.
pcbwing — рассмотрим. Лично я не слышал, спрошу у коллеги, который этим занимается. Спасибо!
Да, я имел ввиду откуда такой тариф на первую плату.
Тут конечно требуется уточнение, что туда входит. Если это тариф за разработку с нуля, то это одно, но если это только за то чтобы сделать плату и спаять ее, то как-то многовато. Лучше этими деньгами своих электронщика и программиста мотивируйте, они вам быстрее и лучше все сделают.
В вашем варианте сильное ограничение по срокам для разработки с нуля. Первым экземпляром у вас должен быть макет. Его можно сделать на той же ардуине. Когда вы ее обвешаете датчиками то схема по сути уже готова. Нужен электронщик для разводки своего дизайна по этой схеме. Далее заказ плат и через пару недель они у вас уже будут.
За это время можно писать софт, только в родной среде для контроллера, закупать комплектующие и думать, как паять.
На самом деле тут вся сложность по срокам упирается в пайку. Если своих мощностей нет, то надо искать кто спаяет по контракту.
Ну а так как софт писался в родной среде для контроллера, то в собранные платы прошить его можно будет практически без изменений.
Конечно это больше трудов, чем просто закупиться ардуинками. Но в результате у вас будут и устройства и вся документация, чтобы в случае надобности достаточно быстро их опять произвести.
Насчет контактов по разработке сказать не могу т.к. я сам разработчик и моя ответственность заканчивается на рабочем прототипе готовом к производству. Сам платы для прототипов заказываю на PCBWING. Первые экземпляры паяю сам, не зависимо от сложности. В результате смутно представляю, что такое ардуино, но перед началом производства каждого изделия имею полностью рабочие несколько экземпляров именно в том виде, как оно и будет далее производиться.
Тут конечно требуется уточнение, что туда входит. Если это тариф за разработку с нуля, то это одно, но если это только за то чтобы сделать плату и спаять ее, то как-то многовато. Лучше этими деньгами своих электронщика и программиста мотивируйте, они вам быстрее и лучше все сделают.
В вашем варианте сильное ограничение по срокам для разработки с нуля. Первым экземпляром у вас должен быть макет. Его можно сделать на той же ардуине. Когда вы ее обвешаете датчиками то схема по сути уже готова. Нужен электронщик для разводки своего дизайна по этой схеме. Далее заказ плат и через пару недель они у вас уже будут.
За это время можно писать софт, только в родной среде для контроллера, закупать комплектующие и думать, как паять.
На самом деле тут вся сложность по срокам упирается в пайку. Если своих мощностей нет, то надо искать кто спаяет по контракту.
Ну а так как софт писался в родной среде для контроллера, то в собранные платы прошить его можно будет практически без изменений.
Конечно это больше трудов, чем просто закупиться ардуинками. Но в результате у вас будут и устройства и вся документация, чтобы в случае надобности достаточно быстро их опять произвести.
Насчет контактов по разработке сказать не могу т.к. я сам разработчик и моя ответственность заканчивается на рабочем прототипе готовом к производству. Сам платы для прототипов заказываю на PCBWING. Первые экземпляры паяю сам, не зависимо от сложности. В результате смутно представляю, что такое ардуино, но перед началом производства каждого изделия имею полностью рабочие несколько экземпляров именно в том виде, как оно и будет далее производиться.
Вы мне напоминаете людей, которые говорят, что покупать первую машину надо обязательно Ладу, чтобы: 1) не жалко её было разбить; 2) чтобы человек прочувствовал машину 3) чтобы умел ездить на механике и чтобы никакого автомата!
Так вот, машина должна быть для человека, а не человек для машины. Если придумали автоматическую коробку передач, чтобы облегчить жизнь людям, то надо пользрваться этим благом прогресса. А досконально знать устройство автомобиля ни к чему — для этого есть автосервисы. Вы же не требуете бухгалтера, чтобы она знала устройство компьютера? А она от вас в свою очередь не требует знания дебета, кредита и ставок НДФЛ, только лишь для того, чтобы выплатить вам зарплату.
Так вот, машина должна быть для человека, а не человек для машины. Если придумали автоматическую коробку передач, чтобы облегчить жизнь людям, то надо пользрваться этим благом прогресса. А досконально знать устройство автомобиля ни к чему — для этого есть автосервисы. Вы же не требуете бухгалтера, чтобы она знала устройство компьютера? А она от вас в свою очередь не требует знания дебета, кредита и ставок НДФЛ, только лишь для того, чтобы выплатить вам зарплату.
Но ведь так неинтересно. Если ты занимаешься чем-то и это тебе нравится, то хочется понять как это работает, все детали и особенности. Гораздо приятнее когда ты сам разработал плату, собрал ее, написал код и все работает.
кому-то надо машину, чтоб доехать до магазина, например.
а кому-то — чтоб разобрать до винтика и собрать.
а кому-то — чтоб разобрать до винтика и собрать.
Кому как. Зачастую важен результат, а не процесс.
Все детали понять невозможно (на современном уровне науке уж точно), всегда придётся остановиться на каком-то уровне абстракции, можно на «кубиках» дуино, можно на процессах проходящих в n-p переходах, можно ещё ниже спускаться. С софтом примерно то же самое, когда-то с удивлением узнал, что в процессорах есть микрокод.
На самом деле с первого раза даже у профи-электронщиков в 90% случаях, никогда на 100% ничего не работает. Всегда все кончается кучей проводов. И только со второго раза(когда поправлены все ошибки) все может заработать. Это очень может демотивировать новичка.
Типичный потребитель (потребыдло). Ставишь на одну чашу весов навыки конструирования девайсов, теоретические знания и опыт, на другую — некое готовое изделие (ардуйню). И естественно, та чаша весов, где лежит готовый предмет оказывается тяжелее.
В корне не верно сравнивать некую вещь и умение изготовить вещь (возможно, гораздо более интересную). Если тебе второе не нужно, это вовсе не причина считать его чем-то второсортным (как отечественное корыто (Ладу) по сравнению с более дорогим импортным корытом). Если ты конечно не мнишь себя хозяином жизни, а людей, обладающих знаниями и создающих для тебя вещи — второсортным отребьем.
В корне не верно сравнивать некую вещь и умение изготовить вещь (возможно, гораздо более интересную). Если тебе второе не нужно, это вовсе не причина считать его чем-то второсортным (как отечественное корыто (Ладу) по сравнению с более дорогим импортным корытом). Если ты конечно не мнишь себя хозяином жизни, а людей, обладающих знаниями и создающих для тебя вещи — второсортным отребьем.
Люди платят $8.68 за штуку, которая стоит не более $0.10? Так что же вы стоите, идите и продавайте им эти штуки!!! Можете даже как злобный капиталист продавать их по $0.50 — рынок будет ваш, а ненавистные ардуино и мбед разорятся нафиг!
А пока вы жалуетесь на хабре, кто-то делает деньги.
А пока вы жалуетесь на хабре, кто-то делает деньги.
тут недавно проскакивала статейка про самодельные диоды...
Расхолаживание программистов. Программирование микроконтроллера не требует особых навыков и умений, но потратить пару часов и изучить работу нескольких периферийных устройств, тем самым размяв свои мозги, всё же придётся. Зачем это делать, если можно написать что-то вроде analogRead и digitalWrite?
Ну, по поводу простоты, не соглашусь. Написать обработку аналогового входа для какого-нибудь STM32F не проблема, особенно учитывая наличие стандартной периферийной библиотеки и нормального даташита. Но как только пытаешься эти же драйвера подружить с FreeRTOS, временами требуется приложить достаточно много сил, терпения и времени.
Пару раз наблюдала с каким трудом некоторые программисты на «высоких» языках осваивали программирование под МК.
Сама имела дело с Arduino один единственный раз, на хакатоне по Android в феврале. Обплевалась. Не понравилось ни аппаратное решение, ни библиотеки, ни, тем более, лагающее IDE.
Ну, по поводу простоты, не соглашусь. Написать обработку аналогового входа для какого-нибудь STM32F не проблема, особенно учитывая наличие стандартной периферийной библиотеки и нормального даташита. Но как только пытаешься эти же драйвера подружить с FreeRTOS, временами требуется приложить достаточно много сил, терпения и времени.
Пару раз наблюдала с каким трудом некоторые программисты на «высоких» языках осваивали программирование под МК.
Сама имела дело с Arduino один единственный раз, на хакатоне по Android в феврале. Обплевалась. Не понравилось ни аппаратное решение, ни библиотеки, ни, тем более, лагающее IDE.
Я не зря привёл в качестве примера статью об использовании STM32. На инициализацию периферии у наших программистов уходит несколько минут, а FreeRTOS мы используем почти в каждом проекте — с ней работать намного проще.
Было бы интересно почитать обзор других демо-плат с аналогичными возможностями. Я сам учился похоже на той же специальности, но в наше время даже Adruino не было.
Использую Arduino когда мне нужно проверить какую-то идею. Я прекрасно понимаю, что всё то же самое можно реализовать гораздо компактнее и практичнее. Но! На это требуется больше времени. Настройка среды: «IAR, Eclipse, Keil» требуют какой никакой настройки. Через IDE Arduino я собирал проект на незнакомом компьютере за 10 минут. Удобство разьёма: мне не нужно каждый раз искать программатор (дома он, или на работе, или прикручен к другой плате). Мне не нужно думать над тем, как подключить ультразвуковой датчик (уже есть готовые и рабочие библиотеки). Вместо того, чтобы собирать сборку на диодах и тратить два вечера чтобы отладить её, можно взять мотор-шилд в котором всё это уже есть.
При этом я скорее программист, чем электронщик. Мне не нужно по жизни разбираться в том, как работает та или иная плата, или помнить, какую ногу надо заземлить напрямую, а какую через конденсатор. Конечно, я не буду покупать светодиод только потому что у него подписано «Ардуино-совместимый». Но и желания собирать что-то что требует больше чем пять минут работы с паяльником у меня обычно нет.
Ардуино обеспечивает огромную гибкость тем, кто не разбирается хорошо в электронике, но которые примерно знают чего хотят. Конечно, ставить Ардуино в законченный вариант продукта обычно глупо. Но использовать для решения той или иной простой задачки или в очередной игрушке — почему бы и нет?
Так что в упор не понимаю этой статьи пропитанной ненавистью к одному из хороших средств достижения цели. Ненавидеть надо людей, которые не хотят совершенствоваться в области своих знаний, а не инструмент.
При этом я скорее программист, чем электронщик. Мне не нужно по жизни разбираться в том, как работает та или иная плата, или помнить, какую ногу надо заземлить напрямую, а какую через конденсатор. Конечно, я не буду покупать светодиод только потому что у него подписано «Ардуино-совместимый». Но и желания собирать что-то что требует больше чем пять минут работы с паяльником у меня обычно нет.
Ардуино обеспечивает огромную гибкость тем, кто не разбирается хорошо в электронике, но которые примерно знают чего хотят. Конечно, ставить Ардуино в законченный вариант продукта обычно глупо. Но использовать для решения той или иной простой задачки или в очередной игрушке — почему бы и нет?
Так что в упор не понимаю этой статьи пропитанной ненавистью к одному из хороших средств достижения цели. Ненавидеть надо людей, которые не хотят совершенствоваться в области своих знаний, а не инструмент.
Ну да, так во всем, собственно. Спрос и предложение сошлись именно в этой точке. Кто-то режет картоху на 4 части, засовывает в печку и продает «Картофель Айдахо» по 200 рублей за порцию, хотя там картох на 10 рублей.
А мне и моему сыну нравится ардуино. Раньше парень играл в конструктор «Знаток». Теперь играет с ардуиной. Маленькое замечание — физика в школе у него еще не началась. А по мне, так просто не охота заморачиваться со всякими программаторами, я не электронщик, я хочу просто поиграться.
Еще меня радуют «разоблачатели всяких *дуин», если тебе настолько не нравится, то предложи что-нибудь свое (только пожалуйста без изготовления плат). Заодно глядишь, выпустишь свой более производительный конструктор. Чо, бизнес.
Еще меня радуют «разоблачатели всяких *дуин», если тебе настолько не нравится, то предложи что-нибудь свое (только пожалуйста без изготовления плат). Заодно глядишь, выпустишь свой более производительный конструктор. Чо, бизнес.
А вот это зря. Нинай, что за «знаток», но конструкторы часто весьма неплохи. Не только показывают как нужно соединить детальки, но и дают понять почему. Ардуйня же — это сугубо потребительский девайс рода «нажми кнопку — получишь банан». Её нельзя рассматривать, как конструктор, т.к. конструирования там нет. Купи сыну айфон — научится пользоваться айфоном, купи ардуину — научится пользоваться ей. Пользы одинаково.
Советую завязать с ардуинами и послушать разоблачителей повнимательней.
Советую завязать с ардуинами и послушать разоблачителей повнимательней.
Тут все дело в уровне подготовленности, времени, возможностях. Я в свое время тоже паял свои платы на контроллерах, модули делал, переферию, но времени на это перестало хватать, а необходимость появилась — ардуино самое быстрое и простое решение. Естественно нельзя его считать окончательным вариантом для серьезных разработок, но на уровне проверки возможности реализации, построения первой грубой модели и быстрого решения задачи вполне подходит.
А можно пример, в каких случаях ардуино дает возможность что-то проверить? Что на ней можно такого потестить, что на практике работает не так, как в теории? Цифровая электроника не такая уж и непредсказуемая вещь.
Вопрос не в том работает чтото так или не так, а проверить возможность какой либо своей идеи, например проверить будет ли работать GPS модуль и насколько он будет эффективней другого, или провести тесты различных компонентов. Понятно, что все это по сути одно и тоже, но зато позволяет сверить характеристики не по паспорту, а у себя на столе, убедиться, проверить, может быть выявить недочеты, несовместимости и учесть их в разрабатываемом устройстве.
Ардуиносрач =)
Хотел бы согласиться. Делать поделки за цену Ардуины, мне вообще не хочется. Они просто очень дорогие
А я иногда (когда требуется простое штучное изделие) просто покупаю Ардуину mini или nano за 350 рублей. Разве это дорого? Учитывая стоимость Atmega168 в 120 рублей, кварца еще рублей в 20, и прочей мелочевки, + сэкономленное время на разводку/травление/пайку.
Не так давно видел платку с кортексом, нацеленную на аналогичные мини-ардуино цели, но по цене 5-7 баксов. Насколько я понял, поддерживает Maple, а это прямой аналог фреймворка ардуино. Единственное, что неясно — это можно ли ее купить готовую.
я ардуинщик, я не хочу учить микроконтроллеры, я хочу поиграться
Сколько ненависти… любой человек, знающий свою область может написать аналогичное, например я веб-разработчик… и теперь мне надо писать статьи о том что нельзя использовать готовые CMS, а всегда писать свою под каждый проект?
Честно — мне ардуинка нравиться и да, я понимаю что компоненты стоят намного дешевле и можно спаять самому, но вот проблема даже печатную плату сделать, всё напаять, надеятся что не спалил и т.д., намного удобнее (для меня) взять готовую ардуинку (например мини, которая по сути брейкборд для атмеги, но с удобствами), подпаять кнопки и спокойно поморгать светодиодиком… или полетать на коптере.
У всех свои цели и задачи и не стоит так пинать ардуинку и модули к ней — за удобство надо платить.
Честно — мне ардуинка нравиться и да, я понимаю что компоненты стоят намного дешевле и можно спаять самому, но вот проблема даже печатную плату сделать, всё напаять, надеятся что не спалил и т.д., намного удобнее (для меня) взять готовую ардуинку (например мини, которая по сути брейкборд для атмеги, но с удобствами), подпаять кнопки и спокойно поморгать светодиодиком… или полетать на коптере.
У всех свои цели и задачи и не стоит так пинать ардуинку и модули к ней — за удобство надо платить.
Ну при его знаниях пусть организует производство более дешевых «ардуинок» с такими же удобствами — так народ брать будет на ура и только спасибо скажет.
Но при всем моем уважении к автору, для этого надо еще организовать производство, просечь, чего хочет конечный потребитель, да и вообще иметь к этому талант. И все это стоит отдельных денег между прочим. В результате имеем цену. Ну может и завышенную, но если б все на каждом углу могли предложить подобное — согласитесь, цена бы сама по себе упала.
Но при всем моем уважении к автору, для этого надо еще организовать производство, просечь, чего хочет конечный потребитель, да и вообще иметь к этому талант. И все это стоит отдельных денег между прочим. В результате имеем цену. Ну может и завышенную, но если б все на каждом углу могли предложить подобное — согласитесь, цена бы сама по себе упала.
Я презираю тех, кто покупает в магазине хлеб. Нет, ну понятное дело, что вначале можно было бы купить хлеб — ну, чтобы попробовать, ощутить вкус и т.д. Но зачем покупать хлеб постоянно? Ведь это всего-лишь мука, вода, дрожжи + еще пару простых компонентов. Если это купить по отдельности — будет намного дешевле. Ну да, придётся построить пекарню и каждый день вставать в 5 утра, чтобы успеть замесить\выпечь булочку к завтраку, но ведь вы будете понимать весь процесс, сможете сэкономить (на партиях от 10000 булок) и вообще будете классным типом!
А между прочим домашняя хлебопечь… очень даже рулит :)
Мука? Я презираю тех кто покупает муку, ведь можно встать ранним утром, засеять поле, ухаживать за ним всё лето и собрать прекрасный урожай.
Аналогия в корне неправильная. Должно быть так: автор предлагает печь хлеб и муки в специальной пекарне. А ардуино фанаты предлагают это делать в той же само кастрюле, где варится борщ, только докупив при этом новый набор ручек к ней и насадку на плиту а в качестве ингридиентов брать пальмовое масло и смесь кукурзной муки с крахмалом. В итоге получается не очень качественно, дорого и в небольшом количестве, но зато удобно и доступно каждой домохозяйке, «которая готова переплатить за удобства и не желает пару лет тратить на изучение хлебопечек»
Я презираю идиотов. Которые позиционируют хлеб, как универсальную платформу для приготовления еды.
Пост «расистский», хотя автора я где-то понимаю.
Ардуино — это не игрушка. Это пример универсальной SDK c отладочной платой по цене в 10-100 раз меньше чем любые с похожим функционалом. Я работал на китайском заводе по производству медиа-плееров. Даже для самого простого ЦД-плеера отладочная плата стоила 10 000 Евро, и еще 200 Евро JIG для программирования. И безумная софтина а-ля IAR, чтобы сломать мозг и навсегда зависеть от того китайца, который все это написал…
Вы чудесным образом выдаете за черное все, что на самом деле является белым.
Ардуино привлекает к микроконтроллерам массу молодежи. Разве Вы не этого хотите, как патриот?
Нет, в современных реалиях нет никакой необходимости так глубоко погружаться физические процессы микроконтроллера (этим занимаются совершенно другие специалисты — разработчики микроконтроллеров). Это все равно что полностью писать приложение на Асме, когда есть JAVA или .NET.
Раз «микроконтроллер» становится настолько совершенным, и его цена (как микросхемы) уже не отличается от стоимости обычного резистора, будьте добры следовать за прогрессом и осваивать новую методологию разработки.
Ардуино позволяет собрать и отладить контроллер на любой вкус, который ни коем образом не пойдет в серию в своем Ардуиновском виде. Для коммерческого проекта Вы закажете его отдельно, по своей схеме и только с необходимыми для этой схемы деталями. И он будет стоить для Вас свои положенные 10 баксов, а для потребителя — 50.
Что Вы там говорите про невозможность процессов реального времени??
Акститесь… Коптер, это не система реального времени? А здесь хватит и Вам и внукам…
Нет, не нужно нам разнообразие очень похожих микроконтроллеров, особенно сейчас, они сыграли свою роль и определили направление и лучшие свои варианты. Нам нужно универсальное решение, недорогое и взаимозаменяемое, и в автомобиле, и в спутнике, и в домашнем выключателе. И не надо строить велосипеды. Лучше из готовых кубиков строить готовые изделия, которые путем рекомбинации простейших элементов могут представлять из себя инновационные изделия в целом.
А творческую энергию и желание докопаться до основ нужно применять там, где это необходимо и актуально — в инновационных исследованиях, в квантовых компьютерах, СТО и альтернативной энергетике.
По человечески я Вас понимаю, я тоже патриот своей Родины. Но Родине не нужны супер-профессионалы по STM32F103, и даже не нужны разработчики своих аналогичных кристалов — все это уже есть у людей. Родине нужны хорошие программисты Ардуино на языке с подсветкой синтаксиса, а не быдлокодеры. Нужны светлые головы, с конкурентной ЗП и без патологических идей свалить в Кембридж. Нужен Ё-Мобиль. Нужен Фобос-Грунт, но на Фобосе… Нужны свои топливные элементы и супер-конденсаторы. Нужны сытые и обеспеченные лабораториями фундаментальные специалисты. И не нужно объять необъятное. Не имея своего кремниевого фундамента, не надо готовить по нему специалистов. Пусть каждый занимается тем, что у него получается лучше всего. Так у Человечества будет больше шансов.
Ардуино — это не игрушка. Это пример универсальной SDK c отладочной платой по цене в 10-100 раз меньше чем любые с похожим функционалом. Я работал на китайском заводе по производству медиа-плееров. Даже для самого простого ЦД-плеера отладочная плата стоила 10 000 Евро, и еще 200 Евро JIG для программирования. И безумная софтина а-ля IAR, чтобы сломать мозг и навсегда зависеть от того китайца, который все это написал…
Вы чудесным образом выдаете за черное все, что на самом деле является белым.
Ардуино привлекает к микроконтроллерам массу молодежи. Разве Вы не этого хотите, как патриот?
Нет, в современных реалиях нет никакой необходимости так глубоко погружаться физические процессы микроконтроллера (этим занимаются совершенно другие специалисты — разработчики микроконтроллеров). Это все равно что полностью писать приложение на Асме, когда есть JAVA или .NET.
Раз «микроконтроллер» становится настолько совершенным, и его цена (как микросхемы) уже не отличается от стоимости обычного резистора, будьте добры следовать за прогрессом и осваивать новую методологию разработки.
Ардуино позволяет собрать и отладить контроллер на любой вкус, который ни коем образом не пойдет в серию в своем Ардуиновском виде. Для коммерческого проекта Вы закажете его отдельно, по своей схеме и только с необходимыми для этой схемы деталями. И он будет стоить для Вас свои положенные 10 баксов, а для потребителя — 50.
Что Вы там говорите про невозможность процессов реального времени??
Акститесь… Коптер, это не система реального времени? А здесь хватит и Вам и внукам…
Нет, не нужно нам разнообразие очень похожих микроконтроллеров, особенно сейчас, они сыграли свою роль и определили направление и лучшие свои варианты. Нам нужно универсальное решение, недорогое и взаимозаменяемое, и в автомобиле, и в спутнике, и в домашнем выключателе. И не надо строить велосипеды. Лучше из готовых кубиков строить готовые изделия, которые путем рекомбинации простейших элементов могут представлять из себя инновационные изделия в целом.
А творческую энергию и желание докопаться до основ нужно применять там, где это необходимо и актуально — в инновационных исследованиях, в квантовых компьютерах, СТО и альтернативной энергетике.
По человечески я Вас понимаю, я тоже патриот своей Родины. Но Родине не нужны супер-профессионалы по STM32F103, и даже не нужны разработчики своих аналогичных кристалов — все это уже есть у людей. Родине нужны хорошие программисты Ардуино на языке с подсветкой синтаксиса, а не быдлокодеры. Нужны светлые головы, с конкурентной ЗП и без патологических идей свалить в Кембридж. Нужен Ё-Мобиль. Нужен Фобос-Грунт, но на Фобосе… Нужны свои топливные элементы и супер-конденсаторы. Нужны сытые и обеспеченные лабораториями фундаментальные специалисты. И не нужно объять необъятное. Не имея своего кремниевого фундамента, не надо готовить по нему специалистов. Пусть каждый занимается тем, что у него получается лучше всего. Так у Человечества будет больше шансов.
Я собрал коптер. Естественно, плата управления — самодельная — на основе STM32F103. Изготовил я её ЛУТом, но есть готовые модули (тот же Discovery). На написание и отладку софта у меня ушёл 1 день (правда, алгоритм фильтра Калмана у меня уже был нарисован). Теперь он выполняет всё то-же, что делает стандартная плата управления и обладает ещё огромным ресурсом для моих экспериментов (мечтаю его сделать полностью автономным).
Я не уверен, используют ли Кембридже Arduino, но в курсах от MIT вместо LabView (упоминавшегося выше), используют Python.
Я не уверен, используют ли Кембридже Arduino, но в курсах от MIT вместо LabView (упоминавшегося выше), используют Python.
… и я за Вас рад, совершенно искренне.
и даже больше, чем за АвтоВАЗ, потому что Вы это делаете бескорыстно.
и даже больше, чем за АвтоВАЗ, потому что Вы это делаете бескорыстно.
Поясните суть своей аллегории.
Извольте. Вы проповедуете путь от А до Я, хотя в современных реалиях «А» и «Я» уже представляют собой самостоятельные предметы.
При этом Вы не изготавливаете ЛУТом персональный компьютер, хотя могли бы пойти и по такому пути, чтобы быть до конца честным перед самим собой.
Между этим и этим решением функционально разницы практически нет. Даже продукты на них почти одинаковы, за что говорит и Ваш коптер.
Но у последнего есть отличный SDK, удобный, с множеством библиотек и огромным количеством готовых доп. модулей к основной плате.
Это конкурирующие решения, и у второго сильное преимущество в среде разработки.
Я не удивлюсь, если и другие производители в итоге совместят свои решения с языком Ардуино (Wiring), это позволит приложениям мигрировать между контроллерами и сыграет всем на пользу. Иначе с Ардуино просто нечем конкурировать…
Да, АвтоВАЗ это аллегория. Как пытаться от самого начала пройти все этапы развития конструкции автомобиля, когда все это уже давно прошли ваши соседи, вместо того, чтобы взять лучшее из доступного, усовершенствовать и двигаться дальше.
У меня самого Лада Гранта, и я очень огорчен, что в ней нет ничего от Протона или Ангары, с которыми я был знаком.
И не надо питать иллюзии, что Китай сделал свою станцию или свою основную ракету-носитель с нуля. И китайский самолет пятого поколения тоже не совсем китайский. И это хорошо, я за них рад.
При этом Вы не изготавливаете ЛУТом персональный компьютер, хотя могли бы пойти и по такому пути, чтобы быть до конца честным перед самим собой.
Между этим и этим решением функционально разницы практически нет. Даже продукты на них почти одинаковы, за что говорит и Ваш коптер.
Но у последнего есть отличный SDK, удобный, с множеством библиотек и огромным количеством готовых доп. модулей к основной плате.
Это конкурирующие решения, и у второго сильное преимущество в среде разработки.
Я не удивлюсь, если и другие производители в итоге совместят свои решения с языком Ардуино (Wiring), это позволит приложениям мигрировать между контроллерами и сыграет всем на пользу. Иначе с Ардуино просто нечем конкурировать…
Да, АвтоВАЗ это аллегория. Как пытаться от самого начала пройти все этапы развития конструкции автомобиля, когда все это уже давно прошли ваши соседи, вместо того, чтобы взять лучшее из доступного, усовершенствовать и двигаться дальше.
У меня самого Лада Гранта, и я очень огорчен, что в ней нет ничего от Протона или Ангары, с которыми я был знаком.
И не надо питать иллюзии, что Китай сделал свою станцию или свою основную ракету-носитель с нуля. И китайский самолет пятого поколения тоже не совсем китайский. И это хорошо, я за них рад.
Комментарии только подтверждают мои опасения: люди твёрдо убеждены, что Ардуино — оплот готовых библиотек и многократного использования кода. Что всё, что не Ардуино — всё надо паять и собирать с нуля.
На языке С написано огромное количество библиотек с уровнями абстракции достаточными для лёгкого портирования с одних микроконтроллеров на другие. А куда можно портировать код с Arduino? Если вам понадобится мощный контроллер, вы поставите 2 Ардуино, или начнёте переписывать проект заново?
Паять тоже абсолютно ничего не надо — вы сами приводите примеры шилдов.
На языке С написано огромное количество библиотек с уровнями абстракции достаточными для лёгкого портирования с одних микроконтроллеров на другие. А куда можно портировать код с Arduino? Если вам понадобится мощный контроллер, вы поставите 2 Ардуино, или начнёте переписывать проект заново?
Паять тоже абсолютно ничего не надо — вы сами приводите примеры шилдов.
Вы просто не хотите реально взглянуть на вещи… МК не упрощаются, а постоянно усложняются.
Да, остаются задачи, где нужно просто помигать светодиодиком, но это скорее исключение из правил, т.к. светодиодик, как правило, мигает в составе комплексной системы, у которой есть центральный контроллер, который легко обслуживать, менять и дублировать, при необходимости (не кучу МК для каждого диода, а ОДИН для всех).
МК на котором можно уже запустить DOS 6.22 (80МГц, это больше, чем у меня была 286ХТ, а я на ней еще в автокаде работал) — это уже не МК в классическом понимании.
Здесь спрашивали, что будет, если в вузах начнут преподавать Ардуино, то кто будет писать новые либы?
Новые либы будет писать тот, кто разрабатывает эти МК. И этот кто-то скорее всего никогда не будет касаться процесса написания кода с использованием этих либ.
И наоборот, тем, кто программирует Ардуино на высоком уровне нет никакой необходимости и не должно опускаться ниже (без существенных и объективных на то причин).
Это разные уровни, и специалисты важны и там и здесь.
А вы пытаетесь обосновать, что программисту Java (т.е. программисту на виртуальной машине) необходимо досконально изучить Ассемблер, для правильного понимания процесса…
И я еще раз повторюсь, я Вас прекрасно понимаю! Но принудительно интеллектуалов в Вашем понимании в вузах готовить не удастся — это неправильно.
И на мой взгляд, погружаться в дебри машинного кода лучше сверху вниз. В этом случае Вы сразу отсеете тех, кому программирование противопоказано. А вот для тех, кто будет уметь представлять, как электрон медленно, как бы нехотя вращается вокруг атома — для них и именно для них давайте организовывать дальнейшее обучение по МК на низком уровне, и желательно там, где эти МК разрабатывают. Это будет правильнее и эффективнее, уверяю Вас.
Да, остаются задачи, где нужно просто помигать светодиодиком, но это скорее исключение из правил, т.к. светодиодик, как правило, мигает в составе комплексной системы, у которой есть центральный контроллер, который легко обслуживать, менять и дублировать, при необходимости (не кучу МК для каждого диода, а ОДИН для всех).
МК на котором можно уже запустить DOS 6.22 (80МГц, это больше, чем у меня была 286ХТ, а я на ней еще в автокаде работал) — это уже не МК в классическом понимании.
Здесь спрашивали, что будет, если в вузах начнут преподавать Ардуино, то кто будет писать новые либы?
Новые либы будет писать тот, кто разрабатывает эти МК. И этот кто-то скорее всего никогда не будет касаться процесса написания кода с использованием этих либ.
И наоборот, тем, кто программирует Ардуино на высоком уровне нет никакой необходимости и не должно опускаться ниже (без существенных и объективных на то причин).
Это разные уровни, и специалисты важны и там и здесь.
А вы пытаетесь обосновать, что программисту Java (т.е. программисту на виртуальной машине) необходимо досконально изучить Ассемблер, для правильного понимания процесса…
И я еще раз повторюсь, я Вас прекрасно понимаю! Но принудительно интеллектуалов в Вашем понимании в вузах готовить не удастся — это неправильно.
И на мой взгляд, погружаться в дебри машинного кода лучше сверху вниз. В этом случае Вы сразу отсеете тех, кому программирование противопоказано. А вот для тех, кто будет уметь представлять, как электрон медленно, как бы нехотя вращается вокруг атома — для них и именно для них давайте организовывать дальнейшее обучение по МК на низком уровне, и желательно там, где эти МК разрабатывают. Это будет правильнее и эффективнее, уверяю Вас.
Новые либы будет писать тот, кто разрабатывает эти МК. И этот кто-то скорее всего никогда не будет касаться процесса написания кода с использованием этих либ.
Так их пишут. Пишут производители. Но это стандартные либы (например, библиотеки периферии у stm32), которые никаким боком отношения к ардуиновским не имеют.
И у тех же производителей есть либы и примеры кода для стандартных интерфейсов, работы с сетью, внешней памятью и много чего еще. Так в чём проблема взять их и использовать? Не хочется паять — те же отладочные комплекты почти задаром.
Просто там надо побольше думать, а люди почему-то этого боятся.
Так их пишут. Пишут производители. Но это стандартные либы (например, библиотеки периферии у stm32), которые никаким боком отношения к ардуиновским не имеют.
И у тех же производителей есть либы и примеры кода для стандартных интерфейсов, работы с сетью, внешней памятью и много чего еще. Так в чём проблема взять их и использовать? Не хочется паять — те же отладочные комплекты почти задаром.
Просто там надо побольше думать, а люди почему-то этого боятся.
Я, в общем то, про это чуть ниже и написал. Системы, как-бы, альтернативные.
Но STM32 теперь и под Ардуино работает, и это ну просто очень помогает вашему любимому МК на ниве рыночной конкуренции.
У конечного изделия, как Вы понимаете, есть и параметр — человеко-часы, и на Ардуино он существенно ниже.
Но STM32 теперь и под Ардуино работает, и это ну просто очень помогает вашему любимому МК на ниве рыночной конкуренции.
У конечного изделия, как Вы понимаете, есть и параметр — человеко-часы, и на Ардуино он существенно ниже.
Нет, там побольше информации и побольше готовых наработок — это плюс любой популярной платформы, с которым довольно сложно конкурировать.
x86 так вообще практически исключительно на этом держится, ИМХО.
x86 так вообще практически исключительно на этом держится, ИМХО.
Разница только в том, что в среде ардуино можно сразу приступить к логике, а используя инструментарий производителя придётся соорудить некий уровень абстракции, чтобы использовать готовые алгоритмы. Не сложный, кстати (хотя от задачи сильно зависит). И именно на этом уровне открываются все прелести работы с МК.
Если я что-то делаю — мне нужна логика, а не прелести МК. Платформа, позволяющая сконцентрироваться на ней — это прекрасно.
Если я изучаю МК — я возьму не ардуино, а именно этот МК.
Впрочем, если рассматривать лично меня — ардуино я не буду использовать потому, что жаба давит его покупать. И потому, что IDE — блокнот с кнопкой вызова компилятора.
Если я изучаю МК — я возьму не ардуино, а именно этот МК.
Впрочем, если рассматривать лично меня — ардуино я не буду использовать потому, что жаба давит его покупать. И потому, что IDE — блокнот с кнопкой вызова компилятора.
Если так — то спора нет.
Просто лично мне интереснее раскуривать сам МК. Да, для меня это просто хобби, поэтому на время наплевать, но удовольствие после не передаваемо :)
Просто лично мне интереснее раскуривать сам МК. Да, для меня это просто хобби, поэтому на время наплевать, но удовольствие после не передаваемо :)
Я, честно говоря, не нахожу интереса в раскуривании МК. В конечном счете они все одинаковы — ядро и регистры периферии. Так что раскуривание сводится к изучению раздела про нужную периферию в даташите. Бывают, правда, сюрпризы, но все же.
Даже ассемблер особо не нуждается в раскуривании. Вооружаешься табличкой команд и вперед.
Так что меня всегда интересует именно конечная задача, где МК — это всего лишь средство ее реализации.
Даже ассемблер особо не нуждается в раскуривании. Вооружаешься табличкой команд и вперед.
Так что меня всегда интересует именно конечная задача, где МК — это всего лишь средство ее реализации.
Есть у меня родственник (довольно преклонного возраста), обожает ковыряться в машинах, всю жизнь механиком проработал на автосервисе. Но, так как он дело имел только с отечественным автопромом, буржуйские пепелацы в разговорах для него как красная тряпка, а слова «коробка автомат» у него матерные заменяют. Ну презирает он забугорный автопром, что уж теперь.
Так вот, его машина вечно стоит разобраная, практически не ездит. Ибо то одно разберёт что-то там отполировать, но другое. Ему кайф, а жена его бесится ибо тупо на дачу не на чем ехать.
А потом ему подарили иномарочку с АКПП. Сразу все ругательства исчезли, машину не разбирает, ездит (в т.ч. и на дачу). Потребитель… тьфу… его жена довольна.
Аналогия понятна?
Так вот, его машина вечно стоит разобраная, практически не ездит. Ибо то одно разберёт что-то там отполировать, но другое. Ему кайф, а жена его бесится ибо тупо на дачу не на чем ехать.
А потом ему подарили иномарочку с АКПП. Сразу все ругательства исчезли, машину не разбирает, ездит (в т.ч. и на дачу). Потребитель… тьфу… его жена довольна.
Аналогия понятна?
Не совсем.
Когда встаёт вопрос «шашечки или ехать?» я решу задачу подручными средствами с минимумом времени. И ардуиной не побрезгую. Или вообще каким-нибудь роутером на линуксах. Правда жаба задушит, ибо я за вечер управлюсь с вытравливанием платы и распайкой контроллера. благо опыт есть.
Я говорю про хобби в хорошем смысле, когда оно никому не мешает.
Когда встаёт вопрос «шашечки или ехать?» я решу задачу подручными средствами с минимумом времени. И ардуиной не побрезгую. Или вообще каким-нибудь роутером на линуксах. Правда жаба задушит, ибо я за вечер управлюсь с вытравливанием платы и распайкой контроллера. благо опыт есть.
Я говорю про хобби в хорошем смысле, когда оно никому не мешает.
Думаю, мне стоит написать чуть более практическую статью, с обилием кода и картинок, где я покажу, что научить студента писать код для микроконтроллера ничуть не сложнее, чем для Arduino.
Я сейчас изучаю eRM (e Reuse Methodology), и я уверен, что за повторным использованием кода — будущее любых систем (в том числе и микропроцессорных).
Я сейчас изучаю eRM (e Reuse Methodology), и я уверен, что за повторным использованием кода — будущее любых систем (в том числе и микропроцессорных).
Я презираю Arduino