在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

測試Arduino代碼示例及功能介紹

工程師兵營 ? 2018-08-15 09:52 ? 次閱讀

業(yè)界認(rèn)為,物聯(lián)網(wǎng) (IoT) 對緊湊型無頭微控制器板的快速增長起到了重要作用,控制器板專為傳感器和致動器等多種邊界節(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ù),還是啟動本地控制或多種功能,都需要具有更多功能和資源的單板計(jì)算機(jī)。 制造商們在設(shè)法打造可滿足每件設(shè)備所有不同需要的嵌入式器件,他們多數(shù)會選擇一種平臺方法——使用一塊嵌入式主板并按需添加外設(shè)。 對于中小批量,在市場上大量越來越流行的開源單板計(jì)算機(jī) (SBC) 中選擇一臺的優(yōu)勢更加顯著。 這不僅可以省去大量 NRE 成本、無線監(jiān)管認(rèn)證和軟件啟動,還讓開發(fā)團(tuán)隊(duì)可以在設(shè)計(jì)的應(yīng)用程序方面快速上手,而不必對可能需要集成的各種器件進(jìn)行評估、設(shè)計(jì)和原型開發(fā)。

對于許多工程團(tuán)隊(duì),IoT 的一個顯著影響是,處理新項(xiàng)目的方式會有根本性轉(zhuǎn)變。 團(tuán)隊(duì)可能完全有能力從零開始設(shè)計(jì)嵌入式板,但在很緊湊的期限內(nèi)交付工作設(shè)計(jì)才是最終目標(biāo)。 對于在創(chuàng)建自己的開發(fā)板前使用 SBC 平臺快速評估設(shè)計(jì)的人來說,訪問所有機(jī)械文件、布局和 BOM 都很有必要。

圖 1: UDOO Neo

開發(fā)人員可能考慮使用的 SBC 的一個代表是 UDOO Neo。 UDOO Neo 分為基本版、擴(kuò)展板和完整版,是一個全面的低成本系統(tǒng),且均基于適合 AndroidLinux 的 Freescale i.MX6SoloX 應(yīng)用處理器構(gòu)建。 本文將著重探討 Neo 完整版。 此 Freescale 器件在單一芯片上嵌入一個運(yùn)行頻率為 1 GHz 的強(qiáng)大單核 ARM? Cortex?-A9 處理器,以及一個運(yùn)行頻率高達(dá) 200 MHz 的 ARM Cortex-M4 I/O 實(shí)時協(xié)處理器。 這些器件通過高速 AXI 總線連接在一起,能共享和使用大量硬件實(shí)施的功能,例如 GPIO、UARTI2C 等。 開發(fā)人員通過對可編輯進(jìn)行復(fù)用,可以分配外設(shè)功能的配置由哪個內(nèi)核使用。

UDOO Neo 完整版具有 1 GB 閃存,豐富的 GPIO、串行接口、完整的 Wi-Fi 802.11 b/g/n 和 BLE 連接。 此板配備有嵌入式 9 軸運(yùn)動傳感器、3 軸加速度計(jì)、磁力儀和陀螺儀、LVDS、HDMI、相機(jī)和音頻接口,適合許多工業(yè)設(shè)計(jì)。

操作系統(tǒng)的角度看,Cortex-A9 內(nèi)核可以運(yùn)行 Android Lollipop 或 UDOObuntu (14.04 LTS)。 Cortex-M4 擁有完整堆棧 Arduino 環(huán)境的訪問權(quán)限,包括完整的 Arduino 擴(kuò)展板排針,進(jìn)一步使其成為一個非常靈活的平臺。

圖 2: UDOO Neo 完整版板的主要特性

圖 2 中顯示為紅色的外部引腳,在 GPIO 模式下默認(rèn)分配給 Cortex-A9。 因此,這些引腳可直接從文件系統(tǒng)(Linux、Android)控制。 顯示為綠色的內(nèi)部引腳由尺寸與 Arduino UNO 引腳輸出相同的 Cortex-M4 來分配和控制。

此板由單一 6 – 15 VDC 電源供電,所有的 GPIO 為 3.3 VDC。 圖 3 的示意框圖強(qiáng)調(diào)了基于 i.MX 應(yīng)用處理器的主要組成部分和接口。

Neo 適合用作無頭計(jì)算平臺;或通過添加 LVDS 觸摸面板或 HDMI 設(shè)備,用作適合用戶控制的平臺。 如果您的預(yù)期應(yīng)用不需要運(yùn)動傳感器或同樣多的內(nèi)存,則可以選擇 Neo 的基本或擴(kuò)展版本,以節(jié)省板的成本。 對于許多遠(yuǎn)程應(yīng)用,無頭配置是可取的,通過 SSH 遠(yuǎn)程端子或類似端子與之通信

UDOO Neo 的 i.MX6 框圖

圖 3:UDOO Neo 的 i.MX6 框圖

UDOO Neo 入門再簡單不過了。 讓開發(fā)板運(yùn)行的所有必要信息及更全面的配置和代碼示例可在 Wiki-style 網(wǎng)站上找到。 如果您需要,此網(wǎng)站還提供全面的機(jī)械布局文件和 BOM 清單。

此板在供貨時未安裝任何操作系統(tǒng)。 不論您選擇 Linux 還是 Android,都需要容量為 8 GB 或以上的 microSD 卡。 從 Neo 的文檔網(wǎng)站將您選擇的操作系統(tǒng)下載到 PC 或筆記本電腦,然后執(zhí)行解壓縮。 您還需要將 microSD 卡插入卡插槽或 USB 適配器。 訪問計(jì)算機(jī)的命令行,完整詳情見此處,并遵循指示來卸載卡及所有分區(qū),然后再傳輸操作系統(tǒng)映像。 完成后,請記得,您需要同步或彈出卡以正確關(guān)閉映像寫入。

現(xiàn)在,將 microSD 卡插入 Neo,連接鼠標(biāo)和鍵盤(通常為 USB)、HDMI 顯示器(建議最初就使用,以查看一切是否正常運(yùn)行),然后再通電。 很快,開發(fā)板上綠色和黃色 LED 閃爍,假設(shè)選擇了Linux,進(jìn)入 UDOO Ubuntu 桌面前屏幕上會顯示 Linux 企鵝 Tux 標(biāo)志。 您可以通過這一熟悉的桌面使用 Linux 的所有普通功能及實(shí)用工具。 針對 Neo 配置的 Arduino IDE 也會在 Linux 平臺中預(yù)加載,并通過桌面現(xiàn)成可用。 下一步是連接 Neo 的 Web 控制面板。 執(zhí)行此操作有多種方式,可以通過讓 Neo 的瀏覽器指向其 udooneo.local Web 服務(wù)器,或指向板自身的 IP 地址(如果您知道)。 請見圖 4。

圖 4: UDOO Neo Web 控制面板

可通過該控制面板充分了解 Neo 內(nèi)部發(fā)生的情況。 除了提供有關(guān)有線和無線連接狀態(tài)的信息以及傳感器和板摘要信息外,還提供配置選項(xiàng),用于設(shè)置并連接到無線接入點(diǎn)、完成地區(qū)設(shè)置和更改顯示輸出。 還提供來自加速度計(jì)、陀螺儀和磁力儀的軸與模數(shù)數(shù)據(jù),您可以通過輕輕地四周移動開發(fā)板來測試其操作。

Web 控制面板上還提供測試 Arduino 代碼草稿示例和寫入一些簡單的代碼的功能,請見圖 5。 熟悉 Arduino UNO 等開發(fā)板的人,從圖 5(打開引腳 13)的應(yīng)用示例中可以看出是個簡單的‘“”閃爍“”示例。 Neo 的紅色 LED 已連接至此引腳,因此上傳此代碼草稿會導(dǎo)致其閃爍。 請注意,編程應(yīng)用程序中的 Ardublocky 應(yīng)用程序允許以圖形、互聯(lián)邏輯塊的方式創(chuàng)建 Arduino 代碼草稿。

圖 5: Arduino Web IDE 和代碼草稿樣本

正如前文所述,Neo 配備有兩組 GPIO。 可從 Arduino 代碼草稿訪問的 GPIO 稱作內(nèi)部排針,最內(nèi)側(cè)的排針組和從 Linux 內(nèi)訪問的 GPIO 則稱為外部排針。 默認(rèn)情況下,所有 GPIO 都配置為輸入,但可配置為輸入或輸出,且在需要時可產(chǎn)生內(nèi)核中斷。 引腳復(fù)用允許 MPU 向外部引腳分配更專門的任務(wù)。

可從 Linux 內(nèi)訪問的 GPIO

圖 6: 可從 Linux 內(nèi)訪問的 GPIO。 單擊此處查看全尺寸圖像。

可以在命令行使用以下簡單命令控制 GPIO 引腳:

echo out > /gpio/pin19/direction – 將引腳設(shè)置為輸出引腳,或

echo in > /gpio/pin19/direction – 將引腳設(shè)置為輸入引腳

指定為輸出的引腳,可使用 echo 0 > /gpio/pin19/value 設(shè)置為低,零伏;

或使用 echo 1 > /gpio/pin19/value 設(shè)置為高,+3.3 VDC

輸入引腳值可使用 cat /gpio/pin19/value 來讀取

除了從 /sys/class/gpio 目錄創(chuàng)建鏈接外,UDOObuntu Linux 中預(yù)安裝的 udoo-gpio-export 軟件包還負(fù)責(zé)導(dǎo)出所有 GPIO 作為輸入。 有關(guān)這類高級要求的更多信息,請見 UDOO 文檔。

Cortex-A9 和 Cortex-M4 內(nèi)核之間通過雙向虛擬化串行引腳進(jìn)行通信,使用共享內(nèi)存交換數(shù)據(jù)。 可以在 Linux 中通過使用 /dev/ttyMMC 來讀取,例如 minicom –D /ttyMCC;或使用 Serial0 對象在 Arduino 代碼草稿內(nèi)讀取。

UDOO Neo 完整版板擁有三個運(yùn)動傳感器。 14 位加速度計(jì)和 16 位磁力儀位于相同封裝(一種 Freescale FXOS8700CQ 器件內(nèi)。 加速度計(jì)擁有三個可動態(tài)選擇的滿量程范圍:+/-2 g、+/- 4 g 或 +/- 8g。

3 軸陀螺儀是 Freescale FXAS21002C。

它們被連接至 I2C 總線,請見圖 7,并可通過任一內(nèi)核訪問。

圖 7: 顯示傳感器和器件配置的 I2C 總線

在命令行,它們可以使用

echo 1 > /sensors/accelerometer/enable 或 echo 1 > /sensors/gyroscope/enable 來啟用,并可使用 cat /sensors/magnetometer/data 等命令來讀取一次性的值。

嵌入式應(yīng)用當(dāng)然可以通過相關(guān) I2C 寄存器直接從它們讀取。 加速計(jì)和磁力儀使用地址 0x1E,陀螺儀使用 0x20。

也可以通過更高級的語言(例如 Python)來訪問傳感器。 在使用任何新開發(fā)板的早期,您都會希望開發(fā)板設(shè)計(jì)具備開源與社區(qū)性質(zhì)。 關(guān)于這方面的一個很好例子是 GitHub 上的 Neo.GPIO Python 庫,該庫提供在 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)行。 如果您使用的是如上所述的 UDOO Neo,您的用戶帳戶為 udooer,那么您需要按以下方式使用 GyroExample.py 程序。 請見圖 9。

echo udooer | sudo –S su –c ‘python GyroExample.py’

圖 9: GyroExample.py 代碼運(yùn)行的截屏

UDOO Neo 是全面且強(qiáng)大的 SBC,可以用作工業(yè) IoT 應(yīng)用的理想開發(fā)平臺。 通過使用 Neo,您可極快運(yùn)行初始應(yīng)用,并以最具時間和成本效益的方式讓產(chǎn)品上市。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9194

    瀏覽量

    370234
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2914

    文章

    45076

    瀏覽量

    378646
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6478

    瀏覽量

    188321
收藏 人收藏

    評論

    相關(guān)推薦

    用于 SPI 絕對編碼器的 Arduino 示例代碼

    作者:Damon Tarry, Design Applications Engineer, Same Sky 本 Arduino 示例代碼教程旨在為用戶提供一個堅(jiān)實(shí)的起點(diǎn),以便通過串行外設(shè)接口
    的頭像 發(fā)表于 01-26 21:35 ?281次閱讀
    用于 SPI 絕對編碼器的 <b class='flag-5'>Arduino</b> <b class='flag-5'>示例</b><b class='flag-5'>代碼</b>

    I2C總線與Arduino的接口示例

    在現(xiàn)代電子設(shè)計(jì)中,I2C總線因其簡單性和靈活性而廣受歡迎。它允許多個設(shè)備共享同一通信線路,從而節(jié)省空間和成本。Arduino,作為一個多功能的微控制器平臺,自然也支持I2C通信。 I2C總線
    的頭像 發(fā)表于 01-17 15:34 ?406次閱讀

    HAL庫在Arduino平臺上的使用

    ,適合于快速原型開發(fā)和教育。HAL(硬件抽象層)庫是一種在Arduino平臺上使用的軟件庫,它提供了一種標(biāo)準(zhǔn)化的方式來訪問硬件功能,使得開發(fā)者可以編寫更通用、更可移植的代碼。 1. 什么是HAL庫 HAL庫是硬件抽象層庫的簡稱,
    的頭像 發(fā)表于 12-02 14:04 ?597次閱讀

    LP589x和TLC698x示例代碼用戶指南

    電子發(fā)燒友網(wǎng)站提供《LP589x和TLC698x示例代碼用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-13 15:57 ?0次下載
    LP589x和TLC698x<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>用戶指南

    TPS929xxx-Q1示例代碼

    電子發(fā)燒友網(wǎng)站提供《TPS929xxx-Q1示例代碼.pdf》資料免費(fèi)下載
    發(fā)表于 11-13 14:59 ?2次下載
    TPS929xxx-Q1<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>

    LP5891-Q1示例代碼用戶指南

    電子發(fā)燒友網(wǎng)站提供《LP5891-Q1示例代碼用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-12 14:08 ?1次下載
    LP5891-Q1<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>用戶指南

    BQ40Z80量產(chǎn)校準(zhǔn)代碼示例

    電子發(fā)燒友網(wǎng)站提供《BQ40Z80量產(chǎn)校準(zhǔn)代碼示例.pdf》資料免費(fèi)下載
    發(fā)表于 09-27 09:34 ?1次下載
    BQ40Z80量產(chǎn)校準(zhǔn)<b class='flag-5'>代碼</b><b class='flag-5'>示例</b>

    展示TIC2000? CLA的獨(dú)特功能的軟件示例

    電子發(fā)燒友網(wǎng)站提供《展示TIC2000? CLA的獨(dú)特功能的軟件示例.pdf》資料免費(fèi)下載
    發(fā)表于 09-02 09:54 ?0次下載
    展示TIC2000? CLA的獨(dú)特<b class='flag-5'>功能</b>的軟件<b class='flag-5'>示例</b>

    怎樣用Arduino測試鋰電池容量

    本文詳細(xì)介紹了如何用Arduino測量鋰電池的容量。并附有電路圖和Arduino的程序代碼
    的頭像 發(fā)表于 07-30 09:14 ?1116次閱讀
    怎樣用<b class='flag-5'>Arduino</b><b class='flag-5'>測試</b>鋰電池容量

    接口測試屬于功能測試嗎為什么

    接口測試功能測試是軟件測試中的兩種不同類型,它們之間有一定的聯(lián)系,但也存在明顯的區(qū)別。本文將詳細(xì)討論接口測試
    的頭像 發(fā)表于 05-30 14:57 ?551次閱讀

    功能測試是白盒還是黑盒測試

    功能測試是軟件測試的一種方法,主要用于驗(yàn)證軟件的功能是否滿足需求規(guī)格說明書中的要求。功能測試可以
    的頭像 發(fā)表于 05-30 14:53 ?1039次閱讀

    功能測試主要做什么 功能測試包含哪些測試

    功能測試是軟件測試的一個重要組成部分,主要目的是驗(yàn)證軟件的功能是否滿足需求規(guī)格說明書(SRS)中定義的功能要求。
    的頭像 發(fā)表于 05-29 16:05 ?6137次閱讀

    功能測試和接口測試的區(qū)別

    功能測試和接口測試是軟件測試的兩個重要方面,它們在確保軟件質(zhì)量和性能方面發(fā)揮著關(guān)鍵作用。本文將詳細(xì)介紹
    的頭像 發(fā)表于 05-29 16:02 ?1072次閱讀

    功能測試和性能測試的區(qū)別與聯(lián)系

    功能測試和性能測試是軟件測試的兩個重要方面。它們在確保軟件質(zhì)量和性能方面發(fā)揮著關(guān)鍵作用。本文將詳細(xì)探討功能
    的頭像 發(fā)表于 05-29 15:40 ?1227次閱讀

    關(guān)于STM32 DMAMUX模塊具體的應(yīng)用示例代碼

    有人通過公眾號微信留言,詢問是否有關(guān)于STM32 DMAMUX模塊具體的應(yīng)用示例代碼。同時,個人也發(fā)現(xiàn),雖然STM32片內(nèi)的DMAMUX不是什么新模塊,似乎還是很多人并不太熟悉。這里借機(jī)聊聊這方面的內(nèi)容,重點(diǎn)演示相關(guān)功能的實(shí)現(xiàn),
    的頭像 發(fā)表于 03-25 09:15 ?2681次閱讀
    關(guān)于STM32 DMAMUX模塊具體的應(yīng)用<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>
    主站蜘蛛池模板: 国产精品黄网站免费进入 | 婷婷五月情 | 精品视频一区二区三区 | 青草久草视频 | 操女人网| 狂野欧美性猛交xxxx免费 | 在线天堂中文在线资源网 | 尤物啪啪| 好大好硬好深好爽想要免费视频 | 亚洲免费观看在线视频 | 日本三级免费网站 | 特级毛片aaaa免费观看 | 又粗又大撑满了好爽 | 37pao强力打造免费高速高清 | 欧美色亚洲图 | 精品综合久久久久久98 | 美女露出尿囗 | 亚洲国产成人久久精品影视 | 国产乱淫a∨片免费视频 | 色视频网 | 四虎影永久地址www 四虎影永久在线观看精品 四虎影永久在线观看网址 四虎影院.com | 中文字幕第十页 | 性欧美丰满xxxx性久久久 | 夜夜操国产| 亚洲精品久久婷婷爱久久婷婷 | 天天操天天摸天天射 | 日本加勒比黑人 | 午夜黄网站| 色偷偷成人 | 欧洲国产精品精华液 | 国产小视频在线播放 | 国产精品三区四区 | 美女视频网站免费播放视 | 欧美大片国产在线永久播放 | yyy6080韩国三级理论 | 欧美亚洲综合在线观看 | 四虎影院在线看 | 奇米激情 | 日日插天天操 | 女人本色高清在线观看wwwwww国产 | 9久久99久久久精品齐齐综合色圆 |