下期第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:遠端工作

電影阿凡達可能嗎?

https://tw.news.yahoo.com/%E7%BE%A9%E5%A4%A7%E5%88%A9-%E6%9B%BF%E8%BA%AB%E6%A9%9F%E5%99%A8%E4%BA%BA-%E5%B9%AB%E4%BD%A0%E5%87%BA%E5%9C%8B-%E6%9C%83%E8%AA%AA%E8%A9%B1-%E8%83%BD%E8%A1%8C%E8%B5%B0-090925659.html



下方為今天答案,有雷,慎入


  1. 這塊板子的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>

您可能也會喜歡…

發佈留言