교통시설안전물
LTE U+ 와이파이 라우터 & WEMOS D1 MINI 연결
ZEROWIN.ART
2020. 8. 5. 12:29
728x90
휴대용 라우터
휴대용 라우터 와 임베디드 와이파이 보드와 연결하여 외부에서 인터넷을 사용할 수 있도록 합니다.
아두이노같은 임베디드 보드에서 휴대용 라우터를 이용ㅇ하여 데이터를 서버로 전송합니다.
라우터 관련 정보를 아래에서 볼수 있습니다.
휴대형 라우터
U+ LTE 라우터
lgrouter.co.kr
WEMOS D1 MINI
미니보드를 다른 임베디드 보드와 연결하여 Serial 통신으로 받은 데이터를 와이파이로 전송하는 용도로 사용이 가능합니다.
https://docs.wemos.cc/en/latest/d1/d1_mini.html
LOLIN D1 mini — WEMOS documentation
© Copyright 2019, wemos.cc Revision d994a5da.
docs.wemos.cc
ESP-8266EX 기반 4MB 플래시 미니 와이파이 보드
11 개의 디지털 IO, 인터럽트 / 펌웨어 / I2C / 1 선 지원 (D0 제외)
아날로그 입력 1 개 (3.2V 최대 입력)
마이크로 USB 연결
MicroPython, Arduino, nodemcu와 호환
프로그래밍
소프트웨어 시리얼을 통해서 임베디드 보드로 부터 데이터를 수신합니다.
수신한 데이터를 와이파이를 이용하여 서버로 전송합니다.
* 아래코드는 사용하는 코드중 통신기능 일부만 발췌한 것입니다.
#include <ESP8266WiFi.h>
#include <SoftwareSerial.h>
#define SW_TX D1
#define SW_RX D2
SoftwareSerial swSerial(SW_RX, SW_TX); // RX, TX
char * ssid = "IML-C5000W 629a";
char * pass = "xxxxxxxx";
void tryLogIn()
{
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, pass);
int timeout = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.println(".");
timeout += 1;
if(MAX_WIFI_CONNECT_TIMEOUT < timeout) break;
}
if(timeout <= MAX_WIFI_CONNECT_TIMEOUT)
{
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
Serial.println(getTime());
bLogInInit = true;
}
else {
Serial.println("RESET!");
software_Reset();
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("START...");
swSerial.begin(9600);
tryLogIn();
}
void loop() {
// put your main code here, to run repeatedly:
// 임베디드 보드에서 데이터를 수신합니다.
while(0 < swSerial.available())
{
char c = swSerial.read();
buffer[cnt] = c;
if ((c == '\n') || (sizeof(buffer)-1 <= cnt))
{
cnt += 1;
buffer[cnt] = '\0';
cnt = 0;
ready = true;
break;
}
else {
cnt += 1;
}
}
delay(10); //
}
테스트영상
LTE 라우터를 통한 아이피 획득 테스트를 합니다.
서버로 올라오는 데이터를 확인합니다.
문제없이 정상동작합니다.