HTTP - 設置伺服器以控制 LED
材料準備
AmebaD [AMB21 / AMB22 / AMB23 / BW16] x 1
麵包板 x 1
LED燈泡 x 1
1KΩ電阻 x 1
範例説明
這個範例裡,我們使用Ameba連上WiFi,作為服務器端,用戶可通過網頁來控制LED的開關。
首先將Ameba與LED進行連線
LED燈泡的接線裡,LED比較長的腳為正極,比較短的腳為負極,所以我們要將短腳接到GND的地方(電壓為0),並將長腳接到D13的地方。為了避免LED因為電流太大而燒壞,通常會在正極的前面加上電阻。現在很多LED其實都做的很好,不加電阻也不會燒壞,但保險起見還是加上電阻。
AMB21 / AMB22 接线图:
AMB23 接线图:
BW16 接线图:
Note:
對於 RTL8720DN(BW16) ,您可以考慮將“LED_PIN”重新定義為。10 用於內置綠色 LED,或 11 用於藍色內置 LED,或 12 用於紅色內置 LED,以避免使用額外的組件
然後打開Simple Web Server WiFi的範例, “File” -> “Examples” -> “AmebaWiFi” -> “SimpleWebServerWiFi”
將WiFi連線的相關訊息,如下圖中黃色標註的地方進行對應的修改。
上傳程式碼之後,按下Ameba的Reset按鈕, 在WiFi連線成功后,會提示.
“To see this page in action, open a browser to http://xxx.xxx.xxx.xxx”
如下圖黃色標註:
在連接在同一WiFi環境下的電腦或手機上,打開瀏覽器,輸入提示的地址
點擊網頁中的“here”即可完成LED燈泡的點亮與關閉操作。在連線以及點擊時,Ameba會有相關的信息顯示。
程式碼説明
在連線WiFi時會使用到
WiFi.begin();連線成功後會讀取WiFi的信息:
顯示WiFi的名稱
WiFi.SSID()顯示WiFi的訊號強度
WiFi.RSSI()顯示Ameba的IP信息
WiFi.localIP()設定服務器的端口號
WiFiServer server()開始服務器的監聽
server.begin()判斷是否有客戶端連線
server.available()判斷客戶端是否處於連線狀態
client.connected向服務器發送數據并開啟新的一行
client.println()向服務器發送數據
client.print()判斷是否有數據從服務器端發送過來
client.available()客戶端讀取數據
client.read()客戶端斷開與服務器的連線
client.stop();





