下期第6堂-物聯網IOT遠端控制
作品預覽+動動腦
我們今天會從瀏覽器遠端控制LED燈
老師手上的LED燈已經亮起,請閱讀下面”今日主程式”,
遠端把老師的LED燈熄滅
(提示:這塊板子的ON和OFF是顛倒的)
遠端把老師的LED燈再點亮
安裝CH340驅動
插上主板
打開Arduino IDE,安裝ESP8266主板
主板的COM PORT數字去裝置管理員確認
Serial Monitor速率改成115200
選擇主板
今日主程式
新增空白程式,開始遠端操控電器囉
從網址就可以操控LED
目前ON變成熄燈,OFF變成點燈。
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#ifndef STASSID
#define STASSID "TCGS-Student" //無線分享器的名稱
#define STAPSK "22205108" //密碼
#endif
const char* ssid = STASSID;
const char* password = STAPSK;
ESP8266WebServer server(80);
void handleRoot() { //訪客進入主網頁時顯示的內容
server.send(200, "text/plain", "Hello From ESP8266 !");
}
void handleNotFound() { //找不到網頁時顯示的內容
server.send(404, "text/plain", "File Not Found");
}
void setup(void) {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");
pinMode(2,OUTPUT); //設定GPIO2為OUTPUT
digitalWrite(2,LOW); //熄滅LED
// 等待WiFi連線
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP()); //在監控視窗顯示取得的IP
if (MDNS.begin("esp8266")) {
Serial.println("MDNS responder started");
}
server.on("/", handleRoot); //綁定主網頁會觸發的副程式
server.on("/on", []() { //網頁 /on 會執行的程式
server.send(200, "text/plain", "LED ON");
digitalWrite(2,HIGH); //點亮LED
});
server.on("/off", []() { //網頁 /off 會執行的程式
server.send(200, "text/plain", "LED OFF");
digitalWrite(2,LOW); //熄滅LED
});
server.onNotFound(handleNotFound); //綁定找不到網頁時會觸發的副程式
server.begin();
Serial.println("HTTP server started");
}
void loop(void) {
server.handleClient();
MDNS.update();
}
動動腦1
這塊板子的LED_BUILTIN到底是在哪一腳?
(一定不是13)
試試看用程式把腳位查出來
提示:顯示在Serial Monitor裡
答案是第N腳,以後用N也可以
把開關製作成網頁吧
今天用記事本,純文字練習HTML。
先開記事本,再改副檔名。
加入下面HTML語法
<a href="https://www.youtube.com/">這個連結</a>會連到 YouTube<br>
機器人課程和創客課程有何不同?
機器人著重在”自動化”,例如重複性和危險性的工作,
即使是聊天機器人,網路客服機器人,沒有實體,也都是機器人。
EX1:重複性工作
外接LED燈
可以控制LED,就可以控制繼電器,也就可以控制電器開關。
所以遠端控制LED,就是遠端控制任何機器的基礎。
遠端控制3顆LED燈
要可以分開控制喔
EX2:遠端工作
電影阿凡達可能嗎?
下方為今天答案,有雷,慎入
- 這塊板子的LED_BUILTIN到底是在哪一腳?
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println(LED_BUILTIN);
delay(5000);
}
2.
<a href="http://192.168.0.170/off">亮燈</a><br>
<a href="http://192.168.0.170/on">熄燈</a><br>