728x90
휴대용 라우터
휴대용 라우터 와 임베디드 와이파이 보드와 연결하여 외부에서 인터넷을 사용할 수 있도록 합니다.
아두이노같은 임베디드 보드에서 휴대용 라우터를 이용ㅇ하여 데이터를 서버로 전송합니다.
라우터 관련 정보를 아래에서 볼수 있습니다.
WEMOS D1 MINI
미니보드를 다른 임베디드 보드와 연결하여 Serial 통신으로 받은 데이터를 와이파이로 전송하는 용도로 사용이 가능합니다.
https://docs.wemos.cc/en/latest/d1/d1_mini.html
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 라우터를 통한 아이피 획득 테스트를 합니다.
서버로 올라오는 데이터를 확인합니다.
문제없이 정상동작합니다.
'교통시설안전물' 카테고리의 다른 글
RF 송신거리 테스트 (0) | 2020.08.07 |
---|---|
도로에서 교통 데이터 서버로 데이터 전송 (0) | 2020.07.29 |
라이다센서 + RF 통신 모듈 (0) | 2020.05.17 |
Thingsboard 셋업 / 대쉬보드 설정 (0) | 2020.04.29 |