Wemos D1 보드를 통해 WiFi를 연결하는법을 알기위해 수 많은 정보의 바다를 뒤졌고
거기있는 많은정보들을 다 보니 이해하기가 너무어려웠기에 단계별로 글을 작성하려고합니다.
그 정보들을 잘 조합해서 합쳤고 아주아주 기초 초보자들을위해 주석도 달고 만들었습니다.
우선 이 글은 아두이노에서 WiFi를 사용하기위해선 ESP8266 모듈을 사용하는데
이 모듈이 내장되어있는 보드중 Wemos D1에 대한 설명입니다.
이 글의 순서는
1. WiFi연결하는법
2. Thinkspeak에 data 올리는법
3. 그 data를 앱인벤터 APP으로 받아오는법
4. 앱인벤터에서 아두이노로 WiFi를 통해 값을 변환시키는 법(저의 경우는 서보모터를 움직였습니다)
5. 토양수분센서 사용법(간단하게)
총 4가지 단계로 움직일 예정입니다.
다 만들면 이런 구조로 만들어지게 됩니다.
우선 setup() 전 기본 선언입니다.
#include <ESP8266WiFi.h>
#ifndef STASSID
#define STASSID "WIFI아이디"
#define STAPSK "WiFi비밀번호"
// 연결할 WiFi id, pw
const char* ssid = STASSID;
const char* password = STAPSK;
const char* server = "api.thingspeak.com";
// WiFiClient를 선언한다.
WiFiClient client;
// WiFiServer 포트선언
WiFiServer webServer(80);
// 자신의 thingspeak 채널의 API key 선언
String apiKey = "본인의 API키 입력";
void setup() {
Serial.begin(115200);
// WiFi연결
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
// WiFi 연결이 되지않을때 ... 재연결
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected"); // WiFi 연결 성공!
// 웹 서버 start
webServer.begin();
Serial.println("Web server running. Waiting for the ESP IP...");
// IP 주소 출력
Serial.println(WiFi.localIP());
}
1 : 와이파이를 사용하기위해 기본선언을 해줍니다.
3~5 : 아이디와 비밀번호값을 따로 넣어주실꺼라면 필요는 없는 부분입니다. 편하게 코딩하기위해 넣어줬습니다.
8~10 : 미리 선언해둔 ID와 PW를 변수에 넣어줍니다.
11 : thingspeak주소값을 server변수에 넣어줍니다. ( 여기선 2개의 서버와 2개의 클라이언트가 나오니 햇갈리지않게 조심해주세요)
13 : WiFi 클라이언트를 선언합니다 ( thingspeak에 접속하는 클라이언트입니다)
16 : WiFiServer를 선언합니다 ( 아두이노내부에서 값 전달 및 변경을 위한 웹서버입니다. 포트는 웹이기때문에 기본포트 80을 사용했습니다)
19 : thingSpeak apiKey를 따로 변수로 등록해줍니다.
22 : Wemos D1 보드의 기본 시리얼 속도는 115200입니다.
24~30 : 위의 WiFi아이디와 비밀번호로 와이파이를 연결합니다.
(저는 편하게 핫스팟을 사용했습니다)
31~37 : WiFI연결이 잘 되지 않을 때 재연결을 기다리는 부분입니다.
40~41 : 웹서버를 시작합니다.
44 : 서버 연결 후 연결된 IP 주소 출력합니다.
와이파이가 연결되면
와이파이가 연결됐다고 나오면서 현재 연결중인 와이파이의 IP주소를 출력해줍니다.
'IoT > Arduino' 카테고리의 다른 글
[Wemos D1] 2. Thinkspeak에 데이터를 올리는 방법 (0) | 2020.08.27 |
---|---|
[아두이노] LCD 알파벳 표현하기 (0) | 2020.06.26 |
[아두이노] 키패드 입력받기 (0) | 2020.05.26 |
[아두이노] 아날로그 핀으로 모터움직이기(MAP함수) (0) | 2020.05.26 |
[아두이노] IR리모컨을 이용한 LED RGB변경 (0) | 2020.05.26 |
3년차 WPF 개발자입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!