使用 Ameba作為網路服務器端發送Ameba狀態

材料準備

  • Ameba x 1

範例說明

這個範例裡,我們使用Ameba連上WiFi,作為服務器端,將信息發送給連線的客戶端。
首先打開 WiFi Web Server的範例, “File” -> “Examples” -> “AmebaWiFi” -> “WiFiWebServer”
 
6-1

將WiFi連線的相關訊息,如將下圖中黃色標註的地方進行對應的修改。

6-2

 

上傳程式碼之後,按下Ameba的Reset按鈕, WiFi連線成功后,會開啟服務器端,服務器端的IP為Ameba的IP,端口為80。

我們在瀏覽器中連接到服務器,然後可以看到從服務器發送的數據。

6-3
通過瀏覽器來與服務器進行連線,即可獲得服務器所發出的數據

6-4

程式碼說明

在連線WiFi時會使用到WiFi.begin();
https://www.arduino.cc/en/Reference/WiFiBegin
連線成功后會讀取WiFi的信息:
顯示WiFi的名稱WiFi.SSID()
https://www.arduino.cc/en/Reference/WiFiSSID
顯示WiFi的訊號強度WiFi.RSSI()
https://www.arduino.cc/en/Reference/WiFiRSSI
顯示Ameba的IP信息WiFi.localIP()
https://www.arduino.cc/en/Reference/WiFiLocalIP
設定服務器的端口號WiFiServer server()
https://www.arduino.cc/en/Reference/WiFiServer
開始服務器的監聽server.begin()
https://www.arduino.cc/en/Reference/WiFiServerBegin
判斷是否有客戶端連線server.available()
https://www.arduino.cc/en/Reference/WiFiServerAvailable
判斷客戶端是否處於連線狀態client.connected
https://www.arduino.cc/en/Reference/WiFiClientConnected
向服務器發送數據并開啟新的一行client.println()
https://www.arduino.cc/en/Reference/WiFiClientPrintln
向服務器發送數據client.print()
https://www.arduino.cc/en/Reference/WiFiClientPrint
判斷是否有數據從服務器端發送過來client.available()
https://www.arduino.cc/en/Reference/WiFiClientAvailable
客戶端讀取數據client.read()
https://www.arduino.cc/en/Reference/WiFiClientRead
客戶端斷開與服務器的連線client.stop();
https://www.arduino.cc/en/Reference/WiFIClientStop
 
請先確認已安裝QQ通訊軟體