HTTP - 设置伺服器以控制 LED

材料准备

范例说明

介绍

这个范例里,我们使用Ameba连上WiFi,作为服务器端,用户可通过网页来控制LED的开关。

流程

首先将Ameba与LED进行连线

LED灯泡的接线里,LED比较长的脚为正极,比较短的脚为负极,所以我们要将短脚接到GND的地方(电压为0),并将长脚接到D13的地方。为了避免LED因为电流太大而烧坏,通常会在正极的前面加上电阻。现在很多LED其实都做的很好,不加电阻也不会烧坏,但保险起见还是加上电阻。

Note:
对于 RTL8720DN(BW16) ,您可以考虑将“LED_PIN”重新定义为 10 用于内置绿色 LED,或 11 用于蓝色内置 LED,或 12 用于红色内置 LED,以避免使用额外的组件。

然后打开Simple Web Server WiFi的范例, “File” -> “Examples” -> “WiFi” -> “SimpleWebServerWiFi”

5-2

将WiFi连线的相关讯息,如下图中黄色标注的地方进行对应的修改。

5-3

上传程式码之后,按下Ameba的Reset按钮, 在WiFi连线成功后,会提示”To see this page in action, open a browser to http://xxx.xxx.xxx.xxx”。如下图黄色标注:

5-4

在连接在同一WiFi环境下的电脑或手机上,打开浏览器,输入提示的地址

5-5

点击网页中的“here”即可完成LED灯泡的点亮与关闭操作。在连线以及点击时,Ameba会有相关的信息显示。

程式码说明
在连线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通讯软体