本更新韌體修改自Github上的程式設計師cmagana所撰寫的CC3000Patch,由FunMaker Leon修改並移植到Spider L3S的Library與硬體上,經測試使用上並無問題。
環境需求:
1. Arduino Mega2560 * 1
2. Spider L3S * 1
3. 連接線數條
首先,在更新之前要注意的是,因為更新韌體時若環境不穩定,則有可能會讓Spider L3S變成磚塊,所以在更新前請先檢查傳輸線與Arduino的電源。
接下來就開始更新吧!
1.先到Github下載更新檔案
2.解壓縮更新檔案到資料夾下,在這邊示範的是1.12版本的韌體
3.設定Arduino IDE的工作目錄到更新韌體的目錄下,設定完成後請重開IDE
4.開啟Patch_1_12.ino,並設定Arduino與Spider L3S的接腳
unsigned char WLAN_CS = 24; unsigned char WLAN_EN = 25; unsigned char WLAN_IRQ = 21; unsigned char WLAN_IRQ_INTNUM = 2;
5.將Arduino接上PC,然後執行Verify & Upload
6.開啟Serial Monitor
7.輸入0+Enter確認Spider L3S是否連接正確,與目前Spider L3S上的韌體版本
8.輸入4Y+Enter將Spider L3S的出廠時預設的Mac Address與無線參數儲存到Arduino上的EEPROM內
9.輸入6Y+Enter更新Spider L3S內部檔案系統的檔案表
10.輸入7Y+Enter將EEPROM內儲存的Mac Address與無線參數存回Spider L3S上
11.輸入8Y+Enter將新的驅動韌體寫入Spider L3S內
12.輸入9Y+Enter將新的網路韌體寫入Spider L3S內
13.輸入0+Enter確認是否可以讀取Spider L3S與韌體版本是否正確無誤
以上為更新Spider L3S韌體的流程,需要注意的是若在更新某個流程時發生錯誤,不要驚慌,先等待一段時間,若都沒反應則試著關掉Serial Monitor在重新打開,並且重新執行錯誤的流程,只要又能順利執行該流程,更新就不會出問題。
Uno板 在韌體更新不適用對吧!?
回覆刪除我目前正在測試妳們這塊
但都還沒成功連線上
是的,目前只能用Arduino mega2560更新,因為TI的韌體塞不太進Arduino Uno的Flash上面。不過您可以先確認一下手上Spider L3S的韌體版本是否為1.26,如果是的話是目前最新的韌體版本。
回覆刪除連線不成功的話,您可以先試看看用SimpleHttpGet.ino的example,並且修改SSID跟Password為您要連線的AP,然後修改Spider_Connect的第一個參數,針對WiFi AP的加密去做修改再連看看可否成功。
Spider_Connect的第一個參數的設定為,0 = OPEN, 1 = WEP, 2 = WPA, 3 = WPA2,請依據您AP使用的加密方式選擇適合的參數 :)
針對妳的建議,目前可以正常連線到該網並且讀取相關資料
回覆刪除謝謝^^
但目前 smartconfig.ino 這個範例 燒錄近UNO版時
手機的SSID設定 再進行Start 那個按鍵時
她都會一直在像是在連線的狀態,但是並沒連到的感覺
關於 "搜尋網域裡的IP Address,即可連上"
是用arduino那邊輸入網址嗎?
這部份我們漏寫了一小段,就是Device Name那個欄位要填上"SpiderL3"這串字串才會成功(不含雙引號),近期我們會將文件修正更新到網站上。
回覆刪除搜尋網域裡的IP Address這塊目前還沒放到smartconfig的example內,如果有使用的需求新增下列程式碼:
void Find_Me(void){
/* Timer register */
static unsigned long tmr = 0;
/* Simple mdnsAdvisor function */
char mdns_msg[10];
memset(mdns_msg, 0, sizeof(mdns_msg));
if(millis() > tmr){
strncpy_P(mdns_msg, PSTR("FB_Like"), sizeof(mdns_msg));
mdnsAdvertiser(1, (char*)mdns_msg, strlen(mdns_msg));
tmr = millis() + 1000;
}
}
並且在loop()內增加FindMe()的函式名稱
void loop() {
Find_Me();
....
}
以上程式的功能是每一秒鐘對網路上所有裝置廣mDNS的封包,所以只要手機有安裝搜尋mDNS裝置的APP,就可以找到SpiderL3S的IP Address。安裝的APP可以參考TI的網站,上面有推薦在Android與iPhone上的APP。
http://processors.wiki.ti.com/index.php/CC3000_mDNS
我現在要更新Spider L3S 韌體
回覆刪除腳位是以下接法
EN <> 25
VIO <> IOREF
CS <> 24
IRQ <> 21
SI <> 51
SO <> 50
CLK <> 52
但都沒有動作,請問是哪裡有問題,我誤解甚麼了嗎?
unsigned char WLAN_CS = 24;
unsigned char WLAN_EN = 25;
unsigned char WLAN_IRQ = 21;
unsigned char WLAN_IRQ_INTNUM = 2;
看起來都正確,沒有動作是指打開Serial monitor沒有畫面出來,還是按下0+ENTER確認韌體版本時沒有正確訊息傳出?
回覆刪除按下0+ENTER
回覆刪除確認韌體版本時沒有回應
可以試著將之前能成功動作的APP將腳位修改為
回覆刪除unsigned char WLAN_CS = 24;
unsigned char WLAN_EN = 25;
unsigned char WLAN_IRQ = 21;
unsigned char WLAN_IRQ_INTNUM = 2;
並將板子改成Arduino Mega2560,看看這樣之前的APP可不可以正常動作,
也請用電表確認一下腳位是否有正確連接。