ESP 8266の使用
11057 ワード
📝 開始前...
皆さんこんにちは今日はESP 8266でWiFiでコントロールしましょう
ライブラリのインストール
皆さんこんにちは今日はESP 8266でWiFiでコントロールしましょう
ライブラリのインストール
Aveno ESP8266
ESP 8266モジュールを使用するには、リポジトリをインストールする必要があります.
アドゥエノIDEから파일 > 환경설정
に入ります.
別のボードマネージャのURLに次のアドレスを入力し、「OK」ボタンをクリックします.
http://arduino.esp8266.com/stable/package_esp8266com_index.json 툴>보드>보드매니저
でESP 8266を検索し、ESP8266
をインストールします.
インストール後、無人機IDEを再実行します.툴>보드>NodeMCU 1.0(ESP-12E Module)
を選択し、ポートを有効にします.
Blinkの例
無人機IDEを実行したら、파일 > 예제 > ESP8266 > Blink
をクリックします.void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, LOW); // LED ON
delay(1000);
digitalWrite(LED_BUILTIN, HIGH); // LED OFF
delay(2000);
}
内蔵LEDがオン、オフ、気まぐれであることを確認したら、LED制御を正式に開始します.
LEDコントロール
以下、ESP 8266の基本LED制御例を示す.#include <ESP8266WiFi.h>
#define PIN_LED D1
const char* ssid = "와이파이 아이디";
const char* password = "와이파이 비밀번호";
WiFiServer server(80);
void setup() {
pinMode(PIN_LED, OUTPUT);
digitalWrite(PIN_LED, LOW);
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connecting to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
Serial.println("Server started");
}
void loop() {
WiFiClient client = server.available();
if(!client) return;
Serial.println("새로운 클라이언트");
client.setTimeout(5000);
String request = client.readStringUntil('\r');
Serial.println("request: ");
Serial.println(request);
if(request.indexOf("/ledoff") != -1) {
digitalWrite(PIN_LED, LOW);
}
else if(request.indexOf("/ledon") != -1) {
digitalWrite(PIN_LED, HIGH);
}
else {
Serial.println("invalid request");
digitalWrite(PIN_LED, digitalRead(PIN_LED));
}
while(client.available()) {
client.read();
}
client.print("HTTP/1.1 200 OK");
client.print("Content-Type: text/html\r\n\r\n");
client.print("<!DOCTYPE HTML>");
client.print("<html>");
client.print("<head>");
client.print("<meta charset=\"UTF-8\">");
client.print("<title>LED CONTROL</title>");
client.print("</head>");
client.print("<body>");
client.print("<h2>HANIUM LED Control Page</h2>");
client.print("<a href='/ledon'>LED ON</a>");
client.print("<br>");
client.print("<a href='/ledoff'>LED OFF</a>");
client.print("<br>");
client.print("LED Status : ");
client.print((digitalRead(PIN_LED)) ? "ON" : "OFF");
client.print("</body>");
client.print("</html>");
Serial.println("클라이언트 연결 해제");
}
와이파이 이름
、와이파이 비밀번호
は、それぞれのネットワーク環境に応じて修正されるべきである.
アップロードしてオートミールモニターに入ると、ホームページのリンクがポップアップします.
リンクを使用して、次の画面を表示します.
WebページでLEDのボタンをオン/オフにできます(?)現在のLEDの状態です.
ホームページでLED ON
を押すとLEDが開きます.
ホームページでLED OFF
を押してLEDを消します.
取得温度
前述のLED制御例では、LEDを赤外線センサに変換した.
赤外線センサモジュールを使用するためのライブラリも含まれています.#include <ESP8266WiFi.h>
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
const char* ssid = "와이파이 이름";
const char* password = "와이파이 비밀번호";
WiFiServer server(80);
void setup() {
Serial.begin(115200);
mlx.begin();
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connecting to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
Serial.println("Server started");
}
void loop() {
WiFiClient client = server.available();
if(!client) return;
Serial.println("새로운 클라이언트");
client.setTimeout(5000);
String request = client.readStringUntil('\r');
Serial.println("request: ");
Serial.println(request);
client.print("HTTP/1.1 200 OK");
client.print("Content-Type: text/html\r\n\r\n");
client.print("<!DOCTYPE HTML>");
client.print("<html>");
client.print("<head>");
client.print("<meta charset=\"UTF-8\" http-equiv=\"refresh\" content=\"1\">");
client.print("<title>LED CONTROL</title>");
client.print("</head>");
client.print("<body>");
client.print("<h2>HANIUM Read Object TempC</h2>");
Serial.print("Object : ") ;
Serial.println(mlx.readObjectTempC());
client.print("Object: ");
client.println(mlx.readObjectTempC());
delay(500);
client.print("</body>");
client.print("</html>");
Serial.println("클라이언트 연결 해제");
}
手を出さないときは、室内温度26.29度を測定します.
手を手に置くと、体温は36.65度です.
終わりに...
ESP 8266を用いてウェブページを作成し,ユーザの現在の温度をウェブページ上で確認した.
次のレッスンでは、ユーザーの現在の経度と緯度を受信し、国/地域に変換してWebページに表示します.
Reference
この問題について(ESP 8266の使用), 我々は、より多くの情報をここで見つけました
https://velog.io/@hihajeong/ESP8266-사용하기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
無人機IDEを実行したら、
파일 > 예제 > ESP8266 > Blink
をクリックします.void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, LOW); // LED ON
delay(1000);
digitalWrite(LED_BUILTIN, HIGH); // LED OFF
delay(2000);
}
内蔵LEDがオン、オフ、気まぐれであることを確認したら、LED制御を正式に開始します.LEDコントロール
以下、ESP 8266の基本LED制御例を示す.#include <ESP8266WiFi.h>
#define PIN_LED D1
const char* ssid = "와이파이 아이디";
const char* password = "와이파이 비밀번호";
WiFiServer server(80);
void setup() {
pinMode(PIN_LED, OUTPUT);
digitalWrite(PIN_LED, LOW);
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connecting to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
Serial.println("Server started");
}
void loop() {
WiFiClient client = server.available();
if(!client) return;
Serial.println("새로운 클라이언트");
client.setTimeout(5000);
String request = client.readStringUntil('\r');
Serial.println("request: ");
Serial.println(request);
if(request.indexOf("/ledoff") != -1) {
digitalWrite(PIN_LED, LOW);
}
else if(request.indexOf("/ledon") != -1) {
digitalWrite(PIN_LED, HIGH);
}
else {
Serial.println("invalid request");
digitalWrite(PIN_LED, digitalRead(PIN_LED));
}
while(client.available()) {
client.read();
}
client.print("HTTP/1.1 200 OK");
client.print("Content-Type: text/html\r\n\r\n");
client.print("<!DOCTYPE HTML>");
client.print("<html>");
client.print("<head>");
client.print("<meta charset=\"UTF-8\">");
client.print("<title>LED CONTROL</title>");
client.print("</head>");
client.print("<body>");
client.print("<h2>HANIUM LED Control Page</h2>");
client.print("<a href='/ledon'>LED ON</a>");
client.print("<br>");
client.print("<a href='/ledoff'>LED OFF</a>");
client.print("<br>");
client.print("LED Status : ");
client.print((digitalRead(PIN_LED)) ? "ON" : "OFF");
client.print("</body>");
client.print("</html>");
Serial.println("클라이언트 연결 해제");
}
와이파이 이름
、와이파이 비밀번호
は、それぞれのネットワーク環境に応じて修正されるべきである.
アップロードしてオートミールモニターに入ると、ホームページのリンクがポップアップします.
リンクを使用して、次の画面を表示します.
WebページでLEDのボタンをオン/オフにできます(?)現在のLEDの状態です.
ホームページでLED ON
を押すとLEDが開きます.
ホームページでLED OFF
を押してLEDを消します.
取得温度
前述のLED制御例では、LEDを赤外線センサに変換した.
赤外線センサモジュールを使用するためのライブラリも含まれています.#include <ESP8266WiFi.h>
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
const char* ssid = "와이파이 이름";
const char* password = "와이파이 비밀번호";
WiFiServer server(80);
void setup() {
Serial.begin(115200);
mlx.begin();
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connecting to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
Serial.println("Server started");
}
void loop() {
WiFiClient client = server.available();
if(!client) return;
Serial.println("새로운 클라이언트");
client.setTimeout(5000);
String request = client.readStringUntil('\r');
Serial.println("request: ");
Serial.println(request);
client.print("HTTP/1.1 200 OK");
client.print("Content-Type: text/html\r\n\r\n");
client.print("<!DOCTYPE HTML>");
client.print("<html>");
client.print("<head>");
client.print("<meta charset=\"UTF-8\" http-equiv=\"refresh\" content=\"1\">");
client.print("<title>LED CONTROL</title>");
client.print("</head>");
client.print("<body>");
client.print("<h2>HANIUM Read Object TempC</h2>");
Serial.print("Object : ") ;
Serial.println(mlx.readObjectTempC());
client.print("Object: ");
client.println(mlx.readObjectTempC());
delay(500);
client.print("</body>");
client.print("</html>");
Serial.println("클라이언트 연결 해제");
}
手を出さないときは、室内温度26.29度を測定します.
手を手に置くと、体温は36.65度です.
終わりに...
ESP 8266を用いてウェブページを作成し,ユーザの現在の温度をウェブページ上で確認した.
次のレッスンでは、ユーザーの現在の経度と緯度を受信し、国/地域に変換してWebページに表示します.
Reference
この問題について(ESP 8266の使用), 我々は、より多くの情報をここで見つけました
https://velog.io/@hihajeong/ESP8266-사용하기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <ESP8266WiFi.h>
#define PIN_LED D1
const char* ssid = "와이파이 아이디";
const char* password = "와이파이 비밀번호";
WiFiServer server(80);
void setup() {
pinMode(PIN_LED, OUTPUT);
digitalWrite(PIN_LED, LOW);
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connecting to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
Serial.println("Server started");
}
void loop() {
WiFiClient client = server.available();
if(!client) return;
Serial.println("새로운 클라이언트");
client.setTimeout(5000);
String request = client.readStringUntil('\r');
Serial.println("request: ");
Serial.println(request);
if(request.indexOf("/ledoff") != -1) {
digitalWrite(PIN_LED, LOW);
}
else if(request.indexOf("/ledon") != -1) {
digitalWrite(PIN_LED, HIGH);
}
else {
Serial.println("invalid request");
digitalWrite(PIN_LED, digitalRead(PIN_LED));
}
while(client.available()) {
client.read();
}
client.print("HTTP/1.1 200 OK");
client.print("Content-Type: text/html\r\n\r\n");
client.print("<!DOCTYPE HTML>");
client.print("<html>");
client.print("<head>");
client.print("<meta charset=\"UTF-8\">");
client.print("<title>LED CONTROL</title>");
client.print("</head>");
client.print("<body>");
client.print("<h2>HANIUM LED Control Page</h2>");
client.print("<a href='/ledon'>LED ON</a>");
client.print("<br>");
client.print("<a href='/ledoff'>LED OFF</a>");
client.print("<br>");
client.print("LED Status : ");
client.print((digitalRead(PIN_LED)) ? "ON" : "OFF");
client.print("</body>");
client.print("</html>");
Serial.println("클라이언트 연결 해제");
}
前述のLED制御例では、LEDを赤外線センサに変換した.
赤外線センサモジュールを使用するためのライブラリも含まれています.
#include <ESP8266WiFi.h>
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
const char* ssid = "와이파이 이름";
const char* password = "와이파이 비밀번호";
WiFiServer server(80);
void setup() {
Serial.begin(115200);
mlx.begin();
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connecting to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
Serial.println("Server started");
}
void loop() {
WiFiClient client = server.available();
if(!client) return;
Serial.println("새로운 클라이언트");
client.setTimeout(5000);
String request = client.readStringUntil('\r');
Serial.println("request: ");
Serial.println(request);
client.print("HTTP/1.1 200 OK");
client.print("Content-Type: text/html\r\n\r\n");
client.print("<!DOCTYPE HTML>");
client.print("<html>");
client.print("<head>");
client.print("<meta charset=\"UTF-8\" http-equiv=\"refresh\" content=\"1\">");
client.print("<title>LED CONTROL</title>");
client.print("</head>");
client.print("<body>");
client.print("<h2>HANIUM Read Object TempC</h2>");
Serial.print("Object : ") ;
Serial.println(mlx.readObjectTempC());
client.print("Object: ");
client.println(mlx.readObjectTempC());
delay(500);
client.print("</body>");
client.print("</html>");
Serial.println("클라이언트 연결 해제");
}
手を出さないときは、室内温度26.29度を測定します.
手を手に置くと、体温は36.65度です.
終わりに...
ESP 8266を用いてウェブページを作成し,ユーザの現在の温度をウェブページ上で確認した.
次のレッスンでは、ユーザーの現在の経度と緯度を受信し、国/地域に変換してWebページに表示します.
Reference
この問題について(ESP 8266の使用), 我々は、より多くの情報をここで見つけました https://velog.io/@hihajeong/ESP8266-사용하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol