HTTP - 設置伺服器以控制 LED

材料準備

  • AmebaD [AMB21 / AMB22 / AMB23 / BW16] x 1

  • 麵包板 x 1

  • LED燈泡 x 1

  • 1KΩ電阻 x 1

範例説明

這個範例裡,我們使用Ameba連上WiFi,作為服務器端,用戶可通過網頁來控制LED的開關。

First, connect Ameba with the LED. In a LED, the longer pin is the positive pole, and the shorter pin is the negative pole. So, we connect the shorter pin to GND and connect the longer pin to D13. Additionally, to avoid the electric current exceeds the tolerance of the LED and causes damage, we connect a resistance on the positive pole.

AMB21 / AMB22 接线图:

../../../../_images/image110.png

AMB23 接线图:

../../../../_images/image1-12.png

BW16 接线图:

../../../../_images/image1-23.png

備註

對於 RTL8720DN(BW16) ,您可以考慮將“LED_PIN”重新定義為。10 用於內置綠色 LED,或 11 用於藍色內置 LED,或 12 用於紅色內置 LED,以避免使用額外的組件

BW16-TypeC Wiring Diagram:

../../../../_images/image1-33.png
Then open “File” “Examples” “WiFi” “SimpleWebServerWiFi”
../../../../_images/image29.png
將WiFi連線的相關訊息,如下圖中黃色標註的地方進行對應的修改。
../../../../_images/image35.png

上傳程式碼之後,按下Ameba的Reset按鈕, 在WiFi連線成功后,會提示.

“To see this page in action, open a browser to http://xxx.xxx.xxx.xxx”

如下圖黃色標註:

../../../../_images/image44.png

在連接在同一WiFi環境下的電腦或手機上,打開瀏覽器,輸入提示的地址

../../../../_images/image55.png

點擊網頁中的“here”即可完成LED燈泡的點亮與關閉操作。在連線以及點擊時,Ameba會有相關的信息顯示。

程式碼説明

Use WiFi.begin() to establish WiFi connection. https://www.arduino.cc/en/Reference/WiFiBegin

To get the information of a WiFi connection: Use WiFi.SSID() to get SSID of the current connected network. https://www.arduino.cc/en/Reference/WiFiSSID

Use WiFi.RSSI() to get the signal strength of the connection. https://www.arduino.cc/en/Reference/WiFiRSSI

Use WiFi.localIP() to get the IP address of Ameba. https://www.arduino.cc/en/Reference/WiFiLocalIP

Use WiFiServer server() to create a server that listens on the specified port. https://www.arduino.cc/en/Reference/WiFiServer

Use server.begin() to tell the server to begin listening for incoming connections. https://www.arduino.cc/en/Reference/WiFiServerBegin

Use server.available() to get a client that is connected to the server and has data available for reading. https://www.arduino.cc/en/Reference/WiFiServerAvailable

Use client.connected() to get whether or not the client is connected. https://www.arduino.cc/en/Reference/WiFiClientConnected

Use client.println() to print data followed by a carriage return and newline. https://www.arduino.cc/en/Reference/WiFiClientPrintln

Use client.print() to print data to the server that a client is connected to. https://www.arduino.cc/en/Reference/WiFiClientPrint

Use client.available() to return the number of bytes available for reading. https://www.arduino.cc/en/Reference/WiFiClientAvailable

Use client.read() to read the next byte received from the server the client is connected to. https://www.arduino.cc/en/Reference/WiFiClientRead

Use client.stop() to disconnect from the server the client is connected to. https://www.arduino.cc/en/Reference/WiFIClientStop