Является ли .NET Micro Framework хорошим способом начать со встроенного программирования? - PullRequest
10 голосов
/ 12 ноября 2008

Как .NET Micro Framework с платой разработки сравнивается с чем-то вроде Arduino или Nintendo DS для запуска со встроенным программированием?

Ответы [ 9 ]

9 голосов
/ 30 сентября 2010

Все остальные ответы превосходны, но я просто хотел бы добавить, что для новичка такая среда, как .NET Micro, может абстрагироваться от некоторых очень важных концепций; это может привести к тому, что вы будете слишком удалены от вашего оборудования. Радость (и настоящий навык) встроенного программирования заключается в использовании аппаратного обеспечения и архитектуры вашего микроконтроллера. Если вы используете инфраструктуру в качестве уровня абстракции поверх аппаратного обеспечения, вы не получите базовых понятий, важных для встраиваемого программирования.

Я говорю, что сначала попробуйте использовать C и сборку, напрямую взаимодействуя с аппаратным обеспечением, чтобы вы могли лучше понять, что делают эти платформы под ним. Когда вы освоитесь с этим, вы можете перейти к структуре (но в этот момент ... вероятно, нет: P)

Но опять же, если ваша цель не учить , а просто выполнить , то фреймворк может помочь вам сделать это гораздо быстрее, потому что вам не нужно понять внутреннюю работу. Но где в этом веселье?

9 голосов
/ 04 августа 2010

Честно говоря, если бы я был вами (а я, кстати, не так), я бы выбрал его и избежал высокоуровневой абстракции платформы .NET для встроенной системы. Я изучал этот курс в колледже, где впервые познакомился с концепциями встраиваемых систем на наборе SunROM (аналогично плате Arduino, а также с микроконтроллером ATmega32) на языке ассемблера AVR, а затем переучил концепции на C Имея краткое техническое понимание .NET, которое я делаю, я чувствую, что в платформе слишком много произвольной абстракции, чтобы это был очень мудрый выбор. (Конечно, отчасти это тоже моя ненависть к .NET и Java в целом, особенно когда они используются в программировании для встраиваемых систем, так что примите мое предвзятое мнение с большой долей соли.)

Встроенное программное обеспечение должно (на мой взгляд) иметь возможность использовать платформу, на которой оно работает, для максимально быстрой и эффективной работы, вместо того, чтобы быть более абстрактным для работы на как можно большем количестве различных машин. Я думаю, что вместо того, чтобы перерабатывать комплект разработки программного обеспечения, делать программы медленнее или добавлять ненужную сложность, вам следует изучить концепции и реализацию с нуля, чтобы у вас было лучшее понимание того, что такое «System.Watchdog». действительно, прежде чем вы начнете злоупотреблять одним.

8 голосов
/ 09 сентября 2010

Netduino выглядит очень круто. И это всего 30 грн. А версия Plus с Ethernet.

7 голосов
/ 12 ноября 2008

.NET Micro Framework предназначена для встраиваемых систем, которые содержат мощный процессор (в настоящее время ARM7, ARM9 и Blackfin).

Плата Arduino основана на 8-битном микроконтроллере AVR, для которого .NET Micro Framework даже недоступен. Рассмотрим, например, требования к памяти для платформы: объявляется, что она потребляет около 300 КБ памяти. Arduino имеет 16 КБ памяти программ + 1 КБ ОЗУ.

Nintendo DS, с другой стороны, по крайней мере технически способен работать с .NET Micro Framework.

Если вы заинтересованы во встроенном программировании для аппаратного обеспечения, такого как Arduino, я могу заверить вас, что вам не нужна (и обычно не может использоваться) никакая высокоуровневая библиотека или операционная система. На самом деле, вы обнаружите, что программирование для небольшого микроконтроллера будет радостью, потому что все очень просто и под вашим полным контролем.

2 голосов
/ 07 февраля 2009

Это правда, .NET Micro Framework совершенно другой. Поддержка Ethernet, последовательных портов (UART), SPI , I2C и GPIO в одном.

И вы используете Visual Studio 2008. Лучшая IDE.

1 голос
/ 25 сентября 2012

Если вы заинтересованы в создании прототипов с чрезвычайно низкой стоимостью, стоит рассмотреть «маршрут Arduino», но не использовать Arduino.

Использование макета или макета, такого как # Креветка с использованием ATmega328-PU с загрузчиком Arduino Uno , может дать вам почти такую ​​же базовую стоимость, что и PIC , но поддерживает совместимость со всеми существующими ранее проектами Arduino Maker, например ... http://www.instructables.com/tag/type-id/category-technology/channel-arduino/

Исходя из 100 единиц, вы можете получить компоненты для работающей #Shrimp на макете всего за £ 1,70 на картоне или £ 2,30 на макете без припоя в британских условиях. Для небольших объемов, таких как 5 или 10, вы смотрите на 2,90 фунтов стерлингов и 3,50 фунтов стерлингов соответственно, но это все еще дешево. Схема #Shrimp может быть составлена ​​из схемы компоновки примерно за 10 минут, когда вы начинаете, и вы можете уменьшить это до минут, когда вы быстро.

Конечно, стоимость - не единственный фактор, который следует принимать во внимание.

Вы можете программировать на определенном языке. Чтобы ваш sketch мог работать на Arduino, он должен быть написан на C, хотя вы можете использовать pyfirmata для удаленного управления Arduino-совместимым с Python , если вы не против будучи постоянно подключенным к рабочему столу.

Использование языка сбора мусора, такого как C # и поддержка инструментов Visual Studio , можно рассматривать как большое преимущество при использовании .NET Micro Framework , особенно для тех, кто уже развивается в среде Microsoft. В равной степени простота бесплатной среды разработки Arduino с открытым исходным кодом представлена ​​в качестве преимущества для других.

[Раскрытие информации, я сам являюсь сотрудником некоммерческого проекта @ShrimpingIt.]

1 голос
/ 17 января 2009

Если вы заинтересованы в использовании .NET micro Framework, взгляните на Tahoe II с devicesolutions.net

1 голос
/ 12 ноября 2008

Этот ответ немного не по теме, но ....

Я лично использую PIC от microchip.com . Они действительно недороги и имеют много встроенных вещей с кучей опций / версий. Хотя я бы хотел использовать .NET Micro, он, похоже, разработан для высокопроизводительных чипов, предназначенных для работы с ОС. Многие встраиваемые проекты, особенно в области коммуникаций, нуждаются в более дорогих чипах (100 долларов + платы в небольших количествах), но многие хорошие встраиваемые проекты - это мелочи и требуют всего 2 доллара. .NET Micro не предназначается для тех.

0 голосов
/ 01 декабря 2009

Также обратите внимание на другой способ: преобразование кода обработки для запуска на .NET micro Framework http://blogs.oberon.ch/tamberg/2009-02-23/running-processing-code-on-the-dotnet-mf.html

...