經過一個輪回,硬體開發、硬體創業又被推到了曆史的前台。
面向低端、初級的硬體愛好者,以Arduino和81單片開發闆為核心的開源硬體越來越深入人心,參與的人群越來越多,相關硬體和周邊子產品也越來越便宜。另外随着各個創客空間的創立,給愛好者即提供了硬體子產品,也提供了參與空間和交流平台。不過愛好者也越來越低齡化,參與其中的初高中學生也越來越多,不管怎樣,這也算是一種時代的進步。
面向高端、複雜的硬體設計和開發,一般都是面向公司或資深硬體從業者。一部分是以裸機開發為主,Main函數+While循環+各種中斷+各種基礎庫實作各種功能。另外一部分偏于複雜和高端的硬體應用往往基于作業系統了,相對簡單的就是uCOS-II、FreeRTOS,複雜的VxWorks、uClinux,大型一些的就是Linux、WinCE和安卓等系統了。
其實無論是愛好者還是硬體從業者,其最終目的不過是希望快速完成心目中的一個産品而已。當制作者心目中想象的産品越來越複雜,其相關的代碼越來越多,其硬體平台的限制便越來越凸顯了。硬體本身的運算能力,接口數量,擴充能力;以及開發工具的代碼編寫、開發、調試,管理能力就是一道藩籬。能否突破,或者說能否持續非常關鍵。
之是以選擇.NET技術建構智能主要,就是考慮開發要簡單,要快速,并且可擴充性和可持續性要好,要有跨平台的能力,并且代碼開發、維護、調試工具要非常強大。
.NET技術可以用一緻的開發語言(C#/VB.net等),一緻的開發工具(VisualStudio 2010/2012),開發從嵌入式單片硬體、手機、平闆、遊戲機,Web、雲計算平台上的代碼。其最大的好處,就是少了新語言學習和平台切換的代價。

NetDIY智能主要是什麼?
所謂的NetDIY智能主要,其硬體主機闆尺寸不超過四個兩兩并列的1元硬币的大小。采用Cortex-M4為核心的晶片,主頻168M,片内Flash 1M byte,片内RAM 192K byte。對外引出的功能接口有:
A、1路USB
B、3路I2C
C、3路SPI
D、24路PWM(含3路軟PWM)
E、2路 DA(可以播放WAV語音)
F、12路AD(12位精度)
G、6路TTL序列槽
H、31路GPIO
I、1個使用者按鈕,1個使用者LED
J、1個複位按鈕,1個電源LED
K、內建如下三個傳感器
MPU6050 三軸數字陀螺儀+三軸數字加速度傳感器(自動穩定用)
BMP085 數字氣壓傳感器(鎖定高度用)
HMC5883L 三軸數字磁阻傳感器(電子羅盤,鎖定航向用)
注:尺寸機關為毫米。
其軟體平台基于開源的.NET Micro Framework系統,并在此基礎上擴充了很多實用功能,比如MDKC++使用者驅動開發(流式驅動模型)、多路I2C通信、TinyGUI等。
為什麼開發NetDIY智能主要?
基于.NET MicroFramework硬體平台已經有SideShow、MsnDirect、Netduino和.NET Gadgeteer平台了。為什麼還要推出NetDIY?
SideShow和MsnDirect是早期的系統,目前就不必多說了。Netduino外形完全仿照Arduino,對外接口有限,要開發一個比較複雜的智能裝置,需要外擴很多子產品。.NET Gadgeteer平台更是需要各種子產品的堆疊。另外問題相對嚴重的是,如果是開發一些比較實時的功能,僅靠C#是很難實作的。
NetDIY智能主要對外引出31個PIN腳(n種功能),支援USB調試開發,無需擴充接口子產品,可直接作為智能裝置的大腦,控制周邊子產品。支援C++使用者驅動開發,滿足實時+易用的開發需求。
NetDIY智能主要的架構模型是什麼?
大腦的作用: 整合資訊,處理資訊,發出指令。
使用者代碼(C#): 采集資訊,邏輯控制,接收指令,傳達指令。
小腦的作用: 維持姿勢平衡,調節肌緊張,協調身體運動。
使用者驅動(C/C++):采集MPU6050/ BMP085/ HMC5883L晶片資訊,發出控制指令,維持裝置平衡(對自平衡智能車,四翼機,人形機器人來說,這個功能很重要)。
腦幹的作用: 維持個體生命,包括心跳、呼吸、消化、體溫、睡眠等重要生理功能
TinyCLR: .NET MF核心,維系Net運作時的正常運作,負責解析使用者代碼,為使用者代碼提供各種功能支援。
脊髓的作用: 控制肌體,傳遞大腦指令,反射。
功能接口: 連接配接各種功能子產品,傳遞控制指令,收集傳感器回報資訊。
NetDIY智能主要能做什麼?
NetDIY智能主要的定位非常明确,也是專為具體的項目而設計的。其主要項目為:智能車(可以是自平衡車),四翼飛行器,人形機器人,智能家居等。
自平衡小車:NetDIY自帶平衡晶片,支援多路PWM,可以直接控制相關電機驅動子產品。
四翼飛行器:I2C或PWM接口驅動電調,控制機翼旋轉,根據傳感器晶片調節自身平衡。外接470M無線子產品,支援遠端調控。多路PWM可以控制舵機,調整攝像頭(樹莓派+攝像頭)位置。序列槽通信,可以控制樹莓派何時拍照和錄制視訊。序列槽外接GPS子產品,支援一鍵返航。
人形機器人:人形機器人一般有17或21個自由度(也就是17或21個舵機),NetDIY有24路PWM,可以直接驅動舵機(可以直接插入NetDIY的PWM專有接口)。直接支援Sony PS2遙控子產品,友善遠端操控。多個序列槽,多個SPI、對個I2C接口,可以外挂其他傳感器子產品。
智能家居:對門禁系統來說,可同時支援8路WG26的刷卡器。對控制和采集來說,31路GPIO,多路通信接口,可以采集各種資訊,和控制各種裝置。
注:以上不僅僅是裝置本身的控制,還會通過藍牙,wifi或GPRS子產品和安卓、Windows Phone手機進行通信控制。另外還支援Web Server,遠端傳遞相關資訊。
如何參與NetDIY智能主要能開發計劃?
NetDIY開發計劃,其實是學習計劃,是通過具體的項目,可以對物聯網,對嵌入式式裝置有更深地了解。可以把相關的技術用在實際的項目當中去。
目前NetDIY計劃之四翼機已經初步啟動, 相關内容,可以看讨論帖。
《四翼機任務、分工及參與說明》
http://www.yfiot.net/forum.php?mod=viewthread&tid=1963&extra=page%3D1《NetDIY主機闆設計》
http://www.yfiot.net/forum.php?mod=viewthread&tid=1961&extra=page%3D1