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