天天看點

【NetDIY智能主要】開發計劃

經過一個輪回,硬體開發、硬體創業又被推到了曆史的前台。

面向低端、初級的硬體愛好者,以Arduino和81單片開發闆為核心的開源硬體越來越深入人心,參與的人群越來越多,相關硬體和周邊子產品也越來越便宜。另外随着各個創客空間的創立,給愛好者即提供了硬體子產品,也提供了參與空間和交流平台。不過愛好者也越來越低齡化,參與其中的初高中學生也越來越多,不管怎樣,這也算是一種時代的進步。

面向高端、複雜的硬體設計和開發,一般都是面向公司或資深硬體從業者。一部分是以裸機開發為主,Main函數+While循環+各種中斷+各種基礎庫實作各種功能。另外一部分偏于複雜和高端的硬體應用往往基于作業系統了,相對簡單的就是uCOS-II、FreeRTOS,複雜的VxWorks、uClinux,大型一些的就是Linux、WinCE和安卓等系統了。

其實無論是愛好者還是硬體從業者,其最終目的不過是希望快速完成心目中的一個産品而已。當制作者心目中想象的産品越來越複雜,其相關的代碼越來越多,其硬體平台的限制便越來越凸顯了。硬體本身的運算能力,接口數量,擴充能力;以及開發工具的代碼編寫、開發、調試,管理能力就是一道藩籬。能否突破,或者說能否持續非常關鍵。

之是以選擇.NET技術建構智能主要,就是考慮開發要簡單,要快速,并且可擴充性和可持續性要好,要有跨平台的能力,并且代碼開發、維護、調試工具要非常強大。

.NET技術可以用一緻的開發語言(C#/VB.net等),一緻的開發工具(VisualStudio 2010/2012),開發從嵌入式單片硬體、手機、平闆、遊戲機,Web、雲計算平台上的代碼。其最大的好處,就是少了新語言學習和平台切換的代價。

【NetDIY智能主要】開發計劃

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 三軸數字磁阻傳感器(電子羅盤,鎖定航向用)

【NetDIY智能主要】開發計劃

注:尺寸機關為毫米。

其軟體平台基于開源的.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智能主要的架構模型是什麼?

【NetDIY智能主要】開發計劃

大腦的作用:      整合資訊,處理資訊,發出指令。

使用者代碼(C#):   采集資訊,邏輯控制,接收指令,傳達指令。

小腦的作用:      維持姿勢平衡,調節肌緊張,協調身體運動。

使用者驅動(C/C++):采集MPU6050/ BMP085/ HMC5883L晶片資訊,發出控制指令,維持裝置平衡(對自平衡智能車,四翼機,人形機器人來說,這個功能很重要)。

腦幹的作用:      維持個體生命,包括心跳、呼吸、消化、體溫、睡眠等重要生理功能

TinyCLR:         .NET MF核心,維系Net運作時的正常運作,負責解析使用者代碼,為使用者代碼提供各種功能支援。

脊髓的作用:      控制肌體,傳遞大腦指令,反射。

功能接口:        連接配接各種功能子產品,傳遞控制指令,收集傳感器回報資訊。

NetDIY智能主要能做什麼?

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

繼續閱讀