[Netduino 3 WiFi]_讓Neduino 3 WiFi連上無線網路步驟筆記

Netduino 3 上面搭載CC3100網路模組

 

但現階段這個模組的連線AP資訊需要透過MFDeploy去做調整(也就是.NET MicroFramework 的工具)

開發團隊有說未來將會有IN-CODE設定的API出現,屆時才能在RUNTIME內設定CC3100…

 

算是目前比較麻煩的地方…

 

不過還是筆記一下現階段用MFDeploy設定的方式

以下操作版本Netduino 3資訊為:

  Solution Build Info: 4.3.2.2, Netduino 3 Wi-Fi (v4.3.2.2) by Secret Labs LLC
  AppDomains:
    default, id=1
  Assemblies:
    mscorlib,4.3.1.0
    Microsoft.SPOT.Native,4.3.1.0
    Microsoft.SPOT.Hardware,4.3.1.0
    Microsoft.SPOT.Net,4.3.1.0
    Microsoft.SPOT.Net.Security,4.3.1.0
    System,4.3.1.0
    System.Net.Security,4.3.1.0
    Microsoft.SPOT.Hardware.SerialPort,4.3.1.0
    Microsoft.SPOT.IO,4.3.1.0
    System.IO,4.3.1.0
    Microsoft.SPOT.Hardware.PWM,4.3.1.0
    Microsoft.SPOT.Hardware.Usb,4.3.1.0
    Netduino.IP,1.0.0.0
    Netduino.IP.Interop,1.0.0.0
    Netduino.IP.LinkLayers.CC3100,1.0.0.0
    SecretLabs.NETMF.Diagnostics,4.3.1.0
    GoBus,1.5.0.0
    SecretLabs.NETMF.Hardware.Netduino,4.3.1.0
    Microsoft.SPOT.Hardware.OneWire,4.3.1.0
    SecretLabs.NETMF.Hardware.NetduinoPlus,4.3.1.0
    SecretLabs.NETMF.IO,4.3.1.0
    NetduinoApplication1,1.0.0.0
    SecretLabs.NETMF.Hardware,4.3.1.0

 

1.連接你的Netduino 3,並打開MFDeploy

2015-06-13_17-28-11

 

2.選擇Target->Configuration->Network

2015-06-13_17-28-20

 

3.進入這個畫面後,可以填入你要連線AP的設定

2015-06-13_17-29-43

  1. 一般WPA2的加密AP,認證方式會是PEAP,加密方式選WPAPSK就可以(同時支援WPA/WPA2)
  2. 下面的Pass phrase填入你的AP密碼
  3. SSID部分塞入AP名稱

 

而Network key不用管,那是WEP時期的東西…不安全的連線方式我就不講了

如果你一開始想用最單純沒有加密的基地台做測試,也是OK

  1. 驗證方式選Open
  2. 加密方式選None
  3. 不用填密碼,只要塞SSID就OK

 

Update後設定就會寫入Netduino,但不會立即做連線,必須要有upload app在runtime的時候才會啟動

否則wifi的指示燈可能還是在滅掉的情況

(這個問題我有在官方網站提問,請參考:http://forums.netduino.com/index.php?/topic/11934-wifi-connection-steps-problem/)

 

另外指示燈的意思可以參考

Off = Wi-Fi is not active
Amber = Trying to connect
Green = Connected

 

不過也是要讓Netduino執行程式,才會從Amber變為Green

 


 

測試App

 

我寫了一隻測試的App,目前要讓網路運作起來,你的專案必須要include外部的Netduino.IP跟修改過的幾個系統Refrence,最新版本可以在Github找到:

https://github.com/netduino/Netduino.IP_CC3100

 

而我的測試專案放在Bitbucket上,可以自行抓回運行做測試!:

https://bitbucket.org/thkaw/netduino-wifi-test

 

看你是要把source直接塞入你的方案refrence還是去refrence各lib已經建置好的.dll檔。

我是使用前者,把source的直接加入我的測試方案。

要注意的是Netduino.IP.LinkLayers.CC3100這個專案的refrence要把原本的System參考改成在從Github抓下來有做修改的System。

並且要讓他refrence到對的Netduino.IP.Interop專案路徑,這樣在build的時候才會過~

2015-06-13_17-42-42

 

//2015/08/13補充

另外while邏輯寫的其實很糟糕哈哈,趕測試沒有仔細去檢查,會發現沒有吃到ip就不會動了,所以朋友看了有貼了一下他修過的版本,我就懶惰直接經過他本人同意轉貼圖片過來了,有需要的可以自己動手改成比較robust的版本:

11853062_827057167413564_1152910738_o

 

主體的測試Code很簡單,等待有網路的時候才去透過HttpWebRequest去抓google的網站response並且print出來~

也會發現wifi燈從橘色變綠色了~

WP_20150613_001

 

其他操作http的方式跟一般C#沒甚麼差異~,這邊就不多談了~

 

另外官方論壇人員也提供了幾種連線測試的使用方式,可以參考:

http://forums.netduino.com/index.php?/topic/11827-best-practices-how-to-wait-for-a-wi-fi-network-connection/

但別忘了該refrence的都要refrence!

 

以上~

2 Comments

  1. 您好,
    最近想利用android手機透過網路來遙控網路另一端的NETDUINO 3 WIFI控制伺服馬達運轉,因苦於網路上幾乎沒有應用範例,請問可否撰寫相關應用文章,感激不盡。:)

    • sorry, 目前那一部分的project已經結束,開發版也已經歸還。
      不過我想可以透過wifi用udp協定跟android手機溝通,這個思路下去找相關資料應該沒問題~

Leave a comment

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料