Я хотел бы начать писать управляемый код для внешних устройств и датчиков. Есть ли какие-либо устройства, которые приходят на ум, который может быть кодирован против использования.NET? Какие-либо предложения?
Править: Главное, которое я пытаюсь сделать, изучают, как программирование устройства работает. Никакой лучший способ сделать это, по-моему, чем попытаться сделать что-то забава и прохладный.
Я знаю, что вы сказали .Net, но Arduino - забавное устройство, с которым можно поиграть. http://www.arduino.cc/
Список будет огромным, я не вижу причин, по которым .NET не может управлять устройством. В крайнем случае решение, использующее DllImport и прямые вызовы IoControl к драйверам устройств (при условии, что вы знаете интерфейсы), будет работать хорошо.
Microsoft .NET Micro Framework -> http://www.microsoft.com/netmf/default.mspx
Вам следует рассмотреть Arduino или другой вариант - он может взаимодействовать с USB-портом, а сам контроллер программируется на языке C.
Затем вы можете взаимодействовать с (практически) любым датчиком/устройством/инструментом, который вы хотите, и вы можете писать код на любом языке, который может взаимодействовать с USB.
Мне было очень весело программировать с помощью OCZ NIA. По сути, это электроэнцефалограмма, которая позволяет использовать биологическую обратную связь в вашем программном обеспечении. Я написал код, который переводит ваши альфа- и бета-волны в MIDI и DMX для управления синтезатором и освещением. Возможности безграничны.
Он использует USB HID, который используется во многих устройствах, так что это было хорошее введение. На сайте http://code.google.com/p/nia-brew/ есть несколько кодов, а форумы OCZ NIA очень полезны для начала работы.
Два продукта, которые значительно упрощают взаимодействие с внешними устройствами, - это Phidgets и Serializer. Phidgets поставляется с простым API .NET и включает в себя различные аппаратные и программные датчики и контроллеры. Множество классных проектов Phidgets и вообще аппаратных проектов .NET можно найти на Coding4Fun Blog.
Serializer, с другой стороны, ориентирован на робототехнику, но также имеет отличный .NET API. Для демонстрации Serializer есть отличная статья в Robot Magazine Issue 19 Клинта Руткаса (одного из ответственных за Coding4Fun).
TinyCLR, с другой стороны, предлагает три различных устройства серии FEZ (Freakin' Easy), которые могут быть запрограммированы с помощью фреймворка .NET и работать независимо от ПК для взаимодействия с датчиками и устройствами.
Существует множество API домашней автоматизации для .Net .
Netduino только что вышел, и он использует .NET Micro Framework: -> http://www.netduino.com/