.NET Gadgeteer

.NET Gadgeteer — открытый стандарт для быстрой прототипизации небольших электронных устройств с использованием .NET Micro Framework и Microsoft Visual Studio/Visual C# Express[1][2]. Это решение предназначено для конструирования малых аппаратных проектов как инженерами, так и любителями, базируется на использовании открытого исходного кода.

Что важно знать
.NET Gadgeteer
Тип встраиваемые системы
Автор Microsoft Research Cambridge
Разработчик Microsoft
Написана на C#, Visual Basic .NET
Движок .NET Micro Framework
Первый выпуск 20 сентября 2010
Последняя версия Core 2.14.500 (2012)
Репозиторий archive.codeplex.com/?p=…
Состояние прекращена
Лицензия Apache License 2.0, Creative Commons 3.0
Сайт microsoft.com/en-us/rese…

Платформа Gadgeteer

Платформа Gadgeteer строится вокруг основной платы (mainboard) с микроконтроллером, на котором работает .NET Micro Framework. В Gadgeteer определены правила подключения дополнительных аппаратных модулей посредством безпайковых соединителей push-on. Gadgeteer содержит небольшую библиотеку классов, упрощающую организацию работы с этими внешними модулями в системе. Это позволяет использовать широкий спектр возможностей микроконтроллера, упорядоченных по стандарту и физическим интерфейсам посредством рядовых разъёмов[3].

История и лицензирование

.NET Gadgeteer был создан исследователями из Microsoft Research Cambridge, где группа Sensors and Devices разработала платформу для быстрого и многократного прототипирования устройств. Проект быстро вызвал интерес среди энтузиастов, преподавателей и разработчиков, ищущих эффективную платформу для быстрой сборки электронных устройств[4].

В ответ на интерес со стороны сообщества Microsoft выпустила Gadgeteer как проект с открытым исходным кодом[5], определив его как «открытое сотрудничество между Microsoft, производителями аппаратного обеспечения и конечными пользователями»[4].

Базовые библиотеки распространяются по лицензии Apache License 2.0, а конструкции аппаратных модулей — по лицензии Creative Commons 3.0. Основной исходный код доступен в репозитории CodePlex[4].

Microsoft заявляла о планах по дальнейшей поддержке и развитию экосистемы .NET Gadgeteer, включая создание образовательных ресурсов и сотрудничество с компаниями по выпуску совместимых наборов и модулей[4]

Конструкция и разработка

undefined

Проекты .NET Gadgeteer состоят из основной платы и цепочки модулей, соединённых стандартным 10-контактным разъёмом. Разъёмы основной платы поддерживают определённые типы модулей, что указывается серией букв рядом с разъёмом. Каждый модуль помечен своей буквой типа. (Неправильное подключение модуля не повредит схему — при условии использования только одного красного модуля питания). Любой модуль, подающий питание (от USB, постоянного тока или батареи), окрашен в красный цвет, чтобы исключить одновременное использование нескольких источников питания, способных повредить устройство.

Библиотека Gadgeteer реализует слой событийных драйверов и автоматическую генерацию кода, интегрированную с Visual Studio. Это позволяет разработчику визуально собирать схему в среде Visual Studio, указывая, какие аппаратные модули (например, камера, кнопка, дисплей) подключены к каким разъёмам основной платы, после чего SDK обеспечивает автоматическую генерацию кода для всех соответствующих устройств. Таким образом, программист может сразу приступить к написанию .NET-кода для подключения к выбранному оборудованию.[6].

В настоящее время доступно множество разнообразных модулей от разных производителей: для беспроводной связи, мониторинга окружающей среды, приводов и иных задач, а также многочисленные пользовательские модули, формирующие широкую экосистему проектов[7].[8][9][10][11][12][13]

Аппаратные средства

Любой производитель, разработчик или энтузиаст может создавать совместимые с .NET Gadgeteer устройства; в проекте участвует ряд производителей.

Основная плата Тактовая частота (МГц) Процессор Ядер Количество разъёмов Ширина (мм) Длина (мм) Производитель
Argon R1 120 LPC1788 Cortex-M3 1 14 57 92 Love Electronics
Eth Mainboard 1.0 168 STM32F407 Cortex-M4 1 8 42 57 Mountaineer Group
USB Mainboard 1.0 168 STM32F407 Cortex-M4 1 9 32 57 Mountaineer Group
Nano 200 Freescale ARM920T 1 10 42 57 Sytech Design
FEZ Spider 73 ARM7 LPC2478 1 14 52 57 GHI Electronics
FEZ Hydra 200 ARM9 AT91SAMRL 1 14 62 87 GHI Electronics
FEZ Cerberus 168 STM32F405 Cortex-M4 1 8 47 57 GHI Electronics
FEZ Cebuino Bee 168 STM32F405 Cortex-M4 1 3 55 80 GHI Electronics
Bambino 200 204 LPC4330 Cortex-M4 & M0 2 5 58 102 Micromint
Bambino 200E 204 LPC4330 Cortex-M4 & M0 2 10 58 102 Micromint

Примечания