<center id="cog8c"></center>
  • <sup id="cog8c"></sup>
    <nav id="cog8c"></nav>
  • 首頁 > 評測 > 評測列表 > MCU

    網絡觸手可及,然而仍然是差評 --Arduino MKR WiFi 1010開發板評測

    開發板   網絡   Arduino   MKR   WiFi   1010   
    • 作者:SATURN
    • 來源:21ic
    • [導讀]
    • Arduino MKR WiFi 1010開發板將MCU與WiFi/BLE模塊結合起來,提供了快速接入網絡的功能,簡化了一般用戶的操作步驟,確實非常實用。另一方面,ESP32的模塊目前還只提供了WiFi的配置功能,而BLE則被忽略了,有點可惜,雖則用戶可以借助官方提供的工具來自行處理BLE相關的操作,這樣一來,門檻顯著提升,差評!

    Arduino家族正變得越來越龐大!

    目前的Arduino硬件已形成了清晰的產品線,從入門級的UHO、NANO,到增強特性的產品如MEGA,再到IoT系列的YUN及TIAN等,滿足了不同水平的用戶需求。入門者可以從UNO開始,掌握了基本的電子小應用開發后,可以逐步過渡到增強型產品應用中,再進一步,就可以開始嘗試IoT類型的產品應用了。也可以這么說,正是Arduino,見證了菜鳥的成長!

    Arduino MKR WiFi 1010隸屬Arduino IoT系列產品,板載一顆來自U-BLOX的ESP32模塊,提供了IEEE 802.11 b/g/n無線連接能力,除此之外,Arduino MKR WiFi 1010還包含一顆自SAMD21的微處理器,二者共同構成了Arduino MKR WiFi 1010的核心硬件,給廣大Arduino用戶帶來了更好的開發體驗。

    rId21.jpg

    Arduino MKR系列產品相對于經典的UNO來說,體積更加小巧,同時在接口及布局方面也做了調整,新用戶也許得花點時間來熟悉新的GPIO接口布局,但也僅限于此。因為不管是哪一款Arduino開發板,其開發流程,API接口等都保持了基本的一致,Arduino  MKR WiFi 1010開發板也不例外,在熟悉了基本的硬件接口后,用戶可以很快的進入到開發的角色中來。

    rId22.jpg

    開發板上負責無線通信的模塊型號為U-BLOX NINA-W102,其內部核心為ESP32,其內部框圖如下

    rId23.png

    U-BLOX NINA-W102的主要特性如下

    • Wi-Fi 802.11b/g/n

    • Dual-mode Bluetooth v4.2

    • 封裝尺寸小

    • 4Mbit/16MBit的SRAM/FLASH存儲器

    該模塊在Arduino MKR WiFi 1010上的主要功能是連接網絡,另外該模塊雖然具備WiFi及BLE 4通信功能,目前還只提供WiFi通信功能,至于BLE的功能,目前在Arduino環境下還不能使用。

    開發板上的另一顆芯片是SAMD21,開發板主要的外高接口都是從該芯片引出,關于GPIO接口對應關系,請參考官方原理圖。

    rId24.jpg

    其實對于Arduino用戶來說,很多情況下我們只關心每個GPIO引腳提供了哪些具體的功能,比如GPIO、PWM、AD/DA等,關于這些接口,都可以在開發板的背面,直接從PCB絲印上獲取第一手資料,如上圖所示。

    開發環境當然首選Arduino IDE,這個IDE雖然雖然經典,但是界面很復古,一些實用的功能如代碼提示及補全功能至今也還沒有,不過勝在簡單,對于大部分用戶來說,足夠了。

    首先是安裝開發板硬件支持平臺,如下

    rId25.png

    這部分是主要針對SAMD21微處理器,這是一款基于ARM Cortex=M0+的32位處理器,Arduino MKR系列產品大部分使用該處理器,另外像ARDUINO YUN及TIAN等高端產品也使用了該處理器。

    至于無線部分的庫,則需要安裝WiFiNINA庫來進行處理,如下

    rId26.png

    安裝好這兩個庫之后,就可以愉快的開始體驗網絡編程了。

    我們打開WiFiNINA庫自帶的WiFiWebServer示例程序來體驗下網絡編程的快捷特性。打開工程文件后,需要修改代碼中關于本地無線路由器的配置,參考代碼如下

    char ssid[] = SECRET_SSID; // your network SSID (name)

    char pass[] = SECRET_PASS; // your network password

    接下來開始編譯并上傳代碼到開發板,這一過程和其它的Arduino開發板并無兩樣。

    接下來在串口監視器中可以看到如下信息

    rId27.png

    表明開發板和本地無線路由器已建立了連接,設備也通過DHCP方式獲取到了適當的IP地址,同時Web Server已開始正常工作,這一點我們可以通過打開瀏覽器來進行驗證。

    rId28.png

    這是瀏覽器中得到的結果,很簡陋,但是至少工作了!

    如果要打造一個基于Web Server的簡單應用,例如顯示采集的溫度信息,以這個為藍本,加上適當的外設操作代碼,很快就可以做出令人滿意的小產品。如果還想進一步的美化,那么,你需要一個HTML的參考設計,來幫你將作品進一步完善。

    然而令人遺憾的是,目前開發板的BLE功能還沒有開放出來,如果我們想要使用BLE功能怎么辦呢?辦法當然是有的,只不過恐怕步驟要麻煩一點。既然無線模塊就是ESP32,當然也可以使用ESP32的工具來對之編程并按照我們的意愿來工作。不過這樣的話,你需要對ESP32的SDK有一定程度的了解。

    不像一般的ESP32模塊,開發板并沒有引出該模塊的編程接口,所以我們首先得讓ESP32模塊能接收來自上位機的編程數據,在WiFiNINA庫里有個程序,可以將來自串口的數據寫入到ESP32模塊中,從而實現固件編程的需求。

    • 本文系21ic原創,未經許可禁止轉載!

    網友評論

    新人擼一發 排列五胆拖