時(shí)間:2018-08-15 10:52:39來源:網(wǎng)絡(luò)轉(zhuǎn)載
業(yè)界認(rèn)為,物聯(lián)網(wǎng)(IoT)對(duì)緊湊型無頭微控制器板的快速增長起到了重要作用,控制器板專為傳感器和致動(dòng)器等多種邊界節(jié)點(diǎn)設(shè)備而設(shè)計(jì)。憑借其無線微控制器、少量I/O和極低能耗,此此類開發(fā)板和模塊將成為眾多將數(shù)據(jù)饋送至云分析服務(wù)的設(shè)備。許多應(yīng)用都要求更多計(jì)算資源、操作員接口和連接選項(xiàng)。
不論是執(zhí)行網(wǎng)關(guān)功能、聚合許多傳感器的數(shù)據(jù),還是啟動(dòng)本地控制或多種功能,都需要具有更多功能和資源的單板計(jì)算機(jī)。制造商們?cè)谠O(shè)法打造可滿足每件設(shè)備所有不同需要的嵌入式器件,他們多數(shù)會(huì)選擇一種平臺(tái)方法——使用一塊嵌入式主板并按需添加外設(shè)。對(duì)于中小批量,在市場(chǎng)上大量越來越流行的開源單板計(jì)算機(jī)(SBC)中選擇一臺(tái)的優(yōu)勢(shì)更加顯著。這不僅可以省去大量NRE成本、無線監(jiān)管認(rèn)證和軟件啟動(dòng),還讓開發(fā)團(tuán)隊(duì)可以在設(shè)計(jì)的應(yīng)用程序方面快速上手,而不必對(duì)可能需要集成的各種器件進(jìn)行評(píng)估、設(shè)計(jì)和原型開發(fā)。
對(duì)于許多工程團(tuán)隊(duì),IoT的一個(gè)顯著影響是,處理新項(xiàng)目的方式會(huì)有根本性轉(zhuǎn)變。團(tuán)隊(duì)可能完全有能力從零開始設(shè)計(jì)嵌入式板,但在很緊湊的期限內(nèi)交付工作設(shè)計(jì)才是最終目標(biāo)。對(duì)于在創(chuàng)建自己的開發(fā)板前使用SBC平臺(tái)快速評(píng)估設(shè)計(jì)的人來說,訪問所有機(jī)械文件、布局和BOM都很有必要。
圖1:UDOONeo
開發(fā)人員可能考慮使用的SBC的一個(gè)代表是UDOONeo。UDOONeo分為基本版、擴(kuò)展板和完整版,是一個(gè)全面的低成本系統(tǒng),且均基于適合Android和Linux的Freescalei.MX6SoloX應(yīng)用處理器構(gòu)建。本文將著重探討Neo完整版。此Freescale器件在單一芯片上嵌入一個(gè)運(yùn)行頻率為1GHz的強(qiáng)大單核ARM?Cortex?-A9處理器,以及一個(gè)運(yùn)行頻率高達(dá)200MHz的ARMCortex-M4I/O實(shí)時(shí)協(xié)處理器。這些器件通過高速AXI總線連接在一起,能共享和使用大量硬件實(shí)施的功能,例如GPIO、UART、I2C等。開發(fā)人員通過對(duì)可編輯進(jìn)行復(fù)用,可以分配外設(shè)功能的配置由哪個(gè)內(nèi)核使用。
UDOONeo完整版具有1GB閃存,豐富的GPIO、串行接口、完整的Wi-Fi802.11b/g/n和BLE連接。此板配備有嵌入式9軸運(yùn)動(dòng)傳感器、3軸加速度計(jì)、磁力儀和陀螺儀、LVDS、HDMI、相機(jī)和音頻接口,適合許多工業(yè)設(shè)計(jì)。
從操作系統(tǒng)的角度看,Cortex-A9內(nèi)核可以運(yùn)行AndroidLollipop或UDOObuntu(14.04LTS)。Cortex-M4擁有完整堆棧Arduino環(huán)境的訪問權(quán)限,包括完整的Arduino擴(kuò)展板排針,進(jìn)一步使其成為一個(gè)非常靈活的平臺(tái)。
圖2:UDOONeo完整版板的主要特性
圖2中顯示為紅色的外部引腳,在GPIO模式下默認(rèn)分配給Cortex-A9。因此,這些引腳可直接從文件系統(tǒng)(Linux、Android)控制。顯示為綠色的內(nèi)部引腳由尺寸與ArduinoUNO引腳輸出相同的Cortex-M4來分配和控制。
此板由單一6–15VDC電源供電,所有的GPIO為3.3VDC。圖3的示意框圖強(qiáng)調(diào)了基于i.MX應(yīng)用處理器的主要組成部分和接口。
Neo適合用作無頭計(jì)算平臺(tái);或通過添加LVDS觸摸面板或HDMI設(shè)備,用作適合用戶控制的平臺(tái)。如果您的預(yù)期應(yīng)用不需要運(yùn)動(dòng)傳感器或同樣多的內(nèi)存,則可以選擇Neo的基本或擴(kuò)展版本,以節(jié)省板的成本。對(duì)于許多遠(yuǎn)程應(yīng)用,無頭配置是可取的,通過SSH遠(yuǎn)程端子或類似端子與之通信。
圖3:UDOONeo的i.MX6框圖
UDOONeo入門再簡(jiǎn)單不過了。讓開發(fā)板運(yùn)行的所有必要信息及更全面的配置和代碼示例可在Wiki-style網(wǎng)站上找到。如果您需要,此網(wǎng)站還提供全面的機(jī)械布局文件和BOM清單。
此板在供貨時(shí)未安裝任何操作系統(tǒng)。不論您選擇Linux還是Android,都需要容量為8GB或以上的microSD卡。從Neo的文檔網(wǎng)站將您選擇的操作系統(tǒng)下載到PC或筆記本電腦,然后執(zhí)行解壓縮。您還需要將microSD卡插入卡插槽或USB適配器。訪問計(jì)算機(jī)的命令行,完整詳情見此處,并遵循指示來卸載卡及所有分區(qū),然后再傳輸操作系統(tǒng)映像。完成后,請(qǐng)記得,您需要同步或彈出卡以正確關(guān)閉映像寫入。
現(xiàn)在,將microSD卡插入Neo,連接鼠標(biāo)和鍵盤(通常為USB)、HDMI顯示器(建議最初就使用,以查看一切是否正常運(yùn)行),然后再通電。很快,開發(fā)板上綠色和黃色LED閃爍,假設(shè)選擇了Linux,進(jìn)入U(xiǎn)DOOUbuntu桌面前屏幕上會(huì)顯示Linux企鵝Tux標(biāo)志。您可以通過這一熟悉的桌面使用Linux的所有普通功能及實(shí)用工具。針對(duì)Neo配置的ArduinoIDE也會(huì)在Linux平臺(tái)中預(yù)加載,并通過桌面現(xiàn)成可用。下一步是連接Neo的Web控制面板。執(zhí)行此操作有多種方式,可以通過讓Neo的瀏覽器指向其udooneo.localWeb服務(wù)器,或指向板自身的IP地址(如果您知道)。請(qǐng)見圖4。
圖4:UDOONeoWeb控制面板
可通過該控制面板充分了解Neo內(nèi)部發(fā)生的情況。除了提供有關(guān)有線和無線連接狀態(tài)的信息以及傳感器和板摘要信息外,還提供配置選項(xiàng),用于設(shè)置并連接到無線接入點(diǎn)、完成地區(qū)設(shè)置和更改顯示輸出。還提供來自加速度計(jì)、陀螺儀和磁力儀的軸與模數(shù)數(shù)據(jù),您可以通過輕輕地四周移動(dòng)開發(fā)板來測(cè)試其操作。
Web控制面板上還提供測(cè)試Arduino代碼草稿示例和寫入一些簡(jiǎn)單的代碼的功能,請(qǐng)見圖5。熟悉ArduinoUNO等開發(fā)板的人,從圖5(打開引腳13)的應(yīng)用示例中可以看出是個(gè)簡(jiǎn)單的‘“”閃爍“”示例。Neo的紅色LED已連接至此引腳,因此上傳此代碼草稿會(huì)導(dǎo)致其閃爍。請(qǐng)注意,編程應(yīng)用程序中的Ardublocky應(yīng)用程序允許以圖形、互聯(lián)邏輯塊的方式創(chuàng)建Arduino代碼草稿。
圖5:ArduinoWebIDE和代碼草稿樣本
正如前文所述,Neo配備有兩組GPIO??蓮腁rduino代碼草稿訪問的GPIO稱作內(nèi)部排針,最內(nèi)側(cè)的排針組和從Linux內(nèi)訪問的GPIO則稱為外部排針。默認(rèn)情況下,所有GPIO都配置為輸入,但可配置為輸入或輸出,且在需要時(shí)可產(chǎn)生內(nèi)核中斷。引腳復(fù)用允許MPU向外部引腳分配更專門的任務(wù)。
圖6:可從Linux內(nèi)訪問的GPIO。單擊此處查看全尺寸圖像。
可以在命令行使用以下簡(jiǎn)單命令控制GPIO引腳:
echoout>/gpio/pin19/direction–將引腳設(shè)置為輸出引腳,或
echoin>/gpio/pin19/direction–將引腳設(shè)置為輸入引腳
指定為輸出的引腳,可使用echo0>/gpio/pin19/value設(shè)置為低,零伏;
或使用echo1>/gpio/pin19/value設(shè)置為高,+3.3VDC
輸入引腳值可使用cat/gpio/pin19/value來讀取
除了從/sys/class/gpio目錄創(chuàng)建鏈接外,UDOObuntuLinux中預(yù)安裝的udoo-gpio-export軟件包還負(fù)責(zé)導(dǎo)出所有GPIO作為輸入。有關(guān)這類高級(jí)要求的更多信息,請(qǐng)見UDOO文檔。
Cortex-A9和Cortex-M4內(nèi)核之間通過雙向虛擬化串行引腳進(jìn)行通信,使用共享內(nèi)存交換數(shù)據(jù)??梢栽贚inux中通過使用/dev/ttyMMC來讀取,例如minicom–D/ttyMCC;或使用Serial0對(duì)象在Arduino代碼草稿內(nèi)讀取。
UDOONeo完整版板擁有三個(gè)運(yùn)動(dòng)傳感器。14位加速度計(jì)和16位磁力儀位于相同封裝(一種FreescaleFXOS8700CQ器件內(nèi)。加速度計(jì)擁有三個(gè)可動(dòng)態(tài)選擇的滿量程范圍:+/-2g、+/-4g或+/-8g。
3軸陀螺儀是FreescaleFXAS21002C。
它們被連接至I2C總線,請(qǐng)見圖7,并可通過任一內(nèi)核訪問。
圖7:顯示傳感器和器件配置的I2C總線
在命令行,它們可以使用
echo1>/sensors/accelerometer/enable或echo1>/sensors/gyroscope/enable來啟用,并可使用cat/sensors/magnetometer/data等命令來讀取一次性的值。
嵌入式應(yīng)用當(dāng)然可以通過相關(guān)I2C寄存器直接從它們讀取。加速計(jì)和磁力儀使用地址0x1E,陀螺儀使用0x20。
也可以通過更高級(jí)的語言(例如Python)來訪問傳感器。在使用任何新開發(fā)板的早期,您都會(huì)希望開發(fā)板設(shè)計(jì)具備開源與社區(qū)性質(zhì)。關(guān)于這方面的一個(gè)很好例子是GitHub上的Neo.GPIOPython庫,該庫提供在Cortex-A9上運(yùn)行的Python應(yīng)用程序的傳感器接口代碼。Python已包含在UDOObuntu發(fā)行版中,因此,使其成為在Neo上進(jìn)行開發(fā)的必然選擇。使用前,您需要從GitHub下載.ZIP文件,然后將其解壓縮到將要?jiǎng)?chuàng)建Python應(yīng)用程序所在的目錄。在.ZIP文件中還包括了多個(gè)代碼示例,圖8中顯示了其簡(jiǎn)化版本。
圖8:讀取陀螺儀并顯示其中數(shù)據(jù)的Python程序
要在命令行運(yùn)行圖8中顯示的Python代碼,您必須以root的身份運(yùn)行。如果您使用的是如上所述的UDOONeo,您的用戶帳戶為udooer,那么您需要按以下方式使用GyroExample.py程序。請(qǐng)見圖9。
echoudooer|sudo–Ssu–c‘pythonGyroExample.py’
圖9:GyroExample.py代碼運(yùn)行的截屏
UDOONeo是全面且強(qiáng)大的SBC,可以用作工業(yè)IoT應(yīng)用的理想開發(fā)平臺(tái)。通過使用Neo,您可極快運(yùn)行初始應(yīng)用,并以最具時(shí)間和成本效益的方式讓產(chǎn)品上市。
標(biāo)簽:
中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測(cè)節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20