HTTP - 设置伺服器以控制 LED

材料准备

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

  • 面包板 x1

  • LED x 1

  • 1KΩ电阻 x 1

流程

这个范例里,我们使用Ameba连上WiFi,作为服务器端,用户可通过网页来控制LED的开关。
首先将Ameba与LED进行连线
LED灯泡的接线里,LED比较长的脚为正极,比较短的脚为负极,所以我们要将短脚接到GND的地方(电压为0),并将长脚接到D13的地方。为了避免LED因为电流太大而烧坏,通常会在正极的前面加上电阻。现在很多LED其实都做的很好,不加电阻也不会烧坏,但保险起见还是加上电阻。

AMB21 / AMB22 接线图:

  1

AMB23 接线图:

1-1

BW16 接线图:

1-2

Note:
对于 BW16 ,您可以考虑将“LED_PIN”重新定义为 10 用于内置绿色 LED,或 11 用于蓝色内置 LED,或 12 用于红色内置 LED,以避免使用额外的组件。
然后打开Simple Web Server WiFi的范例, “File” -> “Examples” -> “AmebaWiFi” -> “SimpleWebServerWiFi”

2

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

3

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

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

in the Arduino IDE as shown in the figure:

  4

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

  5

点击网页中的“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();