2012-09-02

Arduino WiFi Shield 簡單測試及功能初灠

Arduino官方版的WiFi擴充板自八月中在Arduino Store上市後,
直到下旬(8/23)終於Sparkfun也開始販售,價格為$84.95,比定價便宜了將近$19。雖然還是有人質疑價格太貴,據Sparkfun的回覆,這個板子的零件成本並不便宜。
不過Sparkfun上架的25組,大約兩天就全部賣光了,下次就還得再等46週之後。
而在上週收到之後,利用周末進行了一些簡單的功能測試,結果算是符合預期。
(1Arduino WiFi Shield)


FTDI終端機介面

這個主要是為了能夠透過電腦的終端機程式(CooltermPutty)連接WiFi Shield進行偵錯或測試的功能,所提供的指令可參考此連結

使用時,先以FTDI轉接板及USB Cable連接電腦之後,就可以啟動終端機程式下指令設定WiFi參數或查詢網路狀態。

(
2FTDI Breakout)
這是非常實用的輔助工具,先將網路的設定與環境確認正常後,再開始進行正式專案的開發,可以減低後續不少的除錯作業。
(3Putty)


(4:查詢無線網路狀態)

功能測試摘要
對於Arduino WiFi Shield最大的期待在於與以Ethernet Shield所作專案的相容性,亦即對於<WiFi.h>程式庫的功能測試。
而最直接的方式就是將原有Ethernet Shield的專案轉換成Arduino WiFi Shield,從中檢視兩者間的相容性與差異處,而所選擇的即是有點複雜的〝以瀏覽器控制HiTechnic自主平衡機器人HTWay〞。

(
圖:HTWay)



原來Ethernet的控制流程為:
瀏覽器→[Ethernet Web Server + XBee]→[NXTBee + HTWay]

更改為WiFi Shield之後:
瀏覽器→[WiFi Web Server + RS485 + HTWay]
經過測試,確實接近預期的結果,只需要修改網路初始化的步驟,而一旦Web server socket建立運作之後,後續處理HTTP request的程式碼則不需任何變更。

(
5WiFi_HTWayControlPanel)



WiFi.begin()
Ethernet.begin()初始化的差異處在於不同網路硬體的特性:

(
6Ethernet.begin())



(
7WiFi.begin())



WiFi Shield
需要在初始程序連接Wireless
Network
,因此,指定RouterSSID以及加密認證即為需要的步驟。

(
8WiFi_setup())

WiFi Shield啟始時,可以使用 WiFi.config() 指定Static IP 或於加密認證時由 DHCP 配置 Dynamic IP。

(
9WiFi
Shield Local IP))

另外,最重要的是<WiFi.h>程式庫的Client class同樣有繼承<Stream.h>的串流處理功能,這對於解析HTTP request會是相當的便利。

(
10HTTP request)





  • 留言者: 乖孩子
  • Email: chenlsdy@yahoo.com.tw
  • 網址:
  • 日期: 2013-04-20 01:22:54
你好 因為我之前用過了一塊是 WiFi Shield V1.0 是使用 Arduino當中 wishield函式庫的
我採用裡面可以直接拆URL來製作我處理的遙控訊號 但是這款硬體非常不穩定
所以剛好看到原廠推出的這塊 Arduino WiFiShield 就買了
但是研究發現 他是使用 WiFi 函式庫 所以我就上網查相關資料
撞牆撞了頗久阿 剛好看到這邊文章 是使用 HTTPS REQUEST的方式
問題來惹Q_Q 我只有單純的使用ARDUINO UNO跟這塊WISHIELD連接手機的WIFI分享
參考你這篇還有遙控那篇的文章 來製作HTTPS REQUEST
可是我一直撞牆阿Q_Q client.read()讀出來的是HTTP的標頭檔
我也可以看到我URL變數的不同(我是使用sumit 改變GET的參數)
但是我怎麼樣都沒辦法拆解... 使用find()或readBytesUnit()手機端都會變成下載的頁面
所以我也不能夠準確地抓出控制變數
希望大大能夠檞解惑 Q_Q





  • 留言者: jeul
  • Email: yclee2006@gmail.com
  • 網址:
  • 日期: 2012-09-07 09:26:25
很接近我想做的 Wi-Fi NXT 車,不過打算拿一般的小型 Wi-Fi AP 當作 Wi-Fi Web Server,Wi-Fi AP 上有 USB Host 用來控制 NXT。
將來打算改用 TTL UART 轉 RS485 或 I2C 控制 NXT,把 USB 空出來接 WebCam,這樣變成可用傳回的影像來遠端控制 NXT 車,甚至經過 Internet 控制。

ch_logo 大大,關於 RS485 部份可以多講一些嗎?
TTL UART 轉 RS485 一定要用 RS485 driver 嗎?有沒有其它簡單的方式?

[版主回覆09/07/2012 15:17:08]
在Wifi shield上市之前, 原來我是使用Arduino UNO+Ethernet shield方式架Web server,
因為需要連接網路線, 所以, Arduino web server是固定接在HUB, 再以XBee無線控制NXT.
我也曾經想過如果有行動式的小AP, 那Arduino Web server就可以連接AP的LAN port, 省掉XBee wireless,
不過, 在這個構想還沒真正付諸實現之前, Wifi shield就(終於)上市, 也就不需要透過AP來架無線通訊了.
NXT的 S4 port內建RS485 Hi-Speed communication介面, 至於Arduino除非有 Software RS485 程式庫可以使用, 還是需要經由驅動器來通訊.
我另外一篇文章"連接NXT與Arduino的RS485通訊"有實作的程序與程式碼可以參考.

沒有留言:

張貼留言