https://blog.with2.net/link/?1965529

ESP-WROOM02でLチカ

https://blog.with2.net/link/?1965529

スイッチサイエンス The Arduino Starter Kit(日本語版)

価格:12,731円
(2020/2/28 17:31時点)
感想(0件)

この内容では過去にも記事を掲載していますが、改めてその内容を見るとなんとも不親切で備忘録の役に立ちません、そこでもう少し詳細に記載しておきます。

ArduinoとしてのLチカまでは特に難解な内容ではないので割愛して、WiFi経由でLEDをON/OFFするスケッチについて記載します。

試験回路は以下です。ただし、ESP-WROOM02の電源3.3Vは外部電源としたほうが無難です。FT232RLの電源はUSBから供給しています。LEDは抵抗入りを使用。回路図中のWrite SW,RESETスイッチはジャンパーピンの抜き差しで代用しています。

02.02.20 RSTポート抵抗位置変更
ここではFT232RLの電源を利用しています。

まず、各種の定義分です。LEDはIO2に接続。SSID、passwordは接続するWi-Fiのものを入力。

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
int led = 2;   
const char* ssid     = "*********";
const char* password = "**********";

IPAddress ip(192, 168, 0, 33);
IPAddress gateway(192, 168, 0, 1);
IPAddress netmask(255, 255, 255, 0);

String html = "";

ESP8266WebServer server(80);

それにつづく命令文です。

void setup(void){
analogWriteRange(255);
html = "<!DOCTYPE html>\
<html>\
<head>\
<meta charset=\"UTF-8\">\
<meta name=\"viewport\" content=\"width=device-width,initial-scale=1,minimum-scale=1\">\
<style>\
 table td{\
    padding:15px;\
 }\
</style>\
</head>\
<body>\
<br>\
<br>\
<table>\
<tr><td></td><td><input type=\"button\" value=\"  ON  \" style=\"font-size:20px;\" onclick=\"location.href='/on';\"></td><td></td></tr>\
<tr><td></td><td><input type=\"button\" value=\"  OFF  \" style=\"font-size:20px;\" onclick=\"location.href='/off';\"></td><td></td></tr>\
</table>\
</body>\
</html>";

  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.config(ip, gateway,netmask);    
  WiFi.begin(ssid, password);
  Serial.println("");

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
   }
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  
  if (MDNS.begin("petitmonte")) {
    Serial.println("start mDNS responder");
  }

  server.on("/", [](){
    server.send(200, "text/html", html);    
  });

// ON
server.on("/on", [](){
  analogWrite(2,255);
Serial.println("ON");
server.send(200, "text/html", html); 
delay(1); 
 });

 //OFF
server.on("/off", [](){
Serial.println("OFF");  
analogWrite(2,0);
server.send(200, "text/html", html); 
delay(1000); 
 });

 server.begin();
  Serial.println("start Web server");
}

void loop(void){  
  server.handleClient();
 }



スマホあるいはPC上に表示する操作ボタンはHTMLタグで表示させます。PCあるいはスマホのブラウザを開いてIPアドレスを入力すれば操作画面が現れます。

試験風景は以下のYoutubeの記事を参照してください。

シェアする

フォローする