본문 바로가기

Study/ESP8266(WIFI),ESP32(BLE,WIFI)37

ESP8266-arduino Serial(UART) 통신시 유의점 아두이노와 ESP8266을 UART를 이용하여 서로 데이터를 주고받고 있습니다. 데이터를 보낼때 serial.write를 이용하여 byte array를 전송하고, 받을때는 serial.read()와 serial.readBytes()를 이용하여 받고있습니다. 그런데 아두이노 ESP8266 으로의 전송시 ESP에서 데이터 수신시 데이터가 잘리는 현상이 발생합니다. 위 그림에서 표시된 부분을 보면 length가 15가 정상이고, length가 15이면 정상수신이라 화면에 뿌려준 뒤 서버로 전송합니다. 하지만 뒤로 갈수로 데이터가 잘려 length가 이상하게 됩니다. length는 패킷의 2번째 byte인데, 데이터가 끊기고 밀려서 저렇게 됩니다. Arduino쪽이 메인 MCU라서 위 그림과 같이 Arduino.. 2019. 2. 21.
ESP8266에서 I2C 사용하기 ESP8266의 경우 I₂C 핀이 따로 지정되어 있지 않습니다. 따라서 I₂C를 사용하기 위해서는 핀을 지정해주셔야 합니다. 물론 데이터시트에 보면 특정핀을 지정하였지만 변경가능합니다. 12345#include void setup(){ Wire.begin(2,14); //SDA,SCL}cs 위와 같이 Wire 라이브러리를 추가하시고, Wire.begin(SDA,SCL); 을 setup 안에서 초기화 해주시면 됩니다. 반드시 사용할 핀의 SDA와 SCL 순서대로 해주세요~ 2018. 11. 6.
ARDUINO PHP POST로 통신하기2 앞서 아래링크의 포스트에서 ESP에서 php post 통신하는 걸 구현했었습니다. ARDUINO PHP POST로 통신하기 하지만 연결이 잘 안되고 끊어지는 서버도 있어 기존 WifiClient가 아닌 ESP8266HTTPClient로 변경해 보았습니다. 12345678910HTTPClient http; http.begin("http://"+SerIP_str+":80/php/receive_data.php");http.addHeader("Content-Type", "application/x-www-form-urlencoded");int httpCode = http.POST("mac="+Wifi8266.macAddress()+"&power="+send_wh+"&phase="+phase);String payl.. 2018. 6. 21.
ESP32 arduino에서 사용하기 ESP32는 espressif에서 WIFI와 BLE를 동시에 지원하게 만든 칩입니다. 모듈로는 ESP-WROOM-32와 WROVER가 있습니다. ESP8266의 경우 arduino에서 작업할때 간단히 보드를 추가해 줄 수 있었습니다. ESP8266 arduino에서 사용하기 바로가기 하지만 ESP32의 경우 조금은 다른방법으로 진행하게 됩니다. 전 github의 espressif/arduino-esp32를 참고했습니다. 1. Git GUI를 설치합니다. Git GUI 다운로드 위 링크를 눌러 Git GUI를 다운로드합니다. 설치시 default로 Next만 눌러 설치합니다. 설치가 완료되면 Git GUI를 실행합니다. Clone Existing Repository를 클릭합니다. Source Locatio.. 2018. 2. 28.
ESP8266 mac Address 가져오기 ESP8266은 내부 플래시에 mac address가 넣어져 있습니다. Arduino기준으로 ESP8266WiFi.cpp 파일에 보면 macAddress() 함수를 통해 String 값으로 macAddress를 가져올 수 있습니다. 파일을 자세히 들여다 보면 macAddress가 2가지가 있습니다. 위 빨간 네모박스 안의 macAddress와 아래 파란 박스 안의 softAPmacAddress macAddress는 station mode용(즉 주로 사용하는 공유기(AP)에 붙이기 위한 device용) softAPmacAddress는 softAP용( 공유기 같은 용도) 입니다. 즉, ESP8266으로 개발한 Device를 설정하기 위한 모드일때는 softAP모드이지만, 설정이 완료되고 자기의 본 역할을 할.. 2018. 1. 9.
ARDUINO PHP POST로 통신하기 앞서 소켓통신만을 했었는데, ESP8266으로 PHP를 이용한 WEB 통신도 가능합니다. arduino 소스코드부터 보겠습니다. esp8266을 ap-station모드로 변환하는건 앞선 포스팅을 참고하세요. 모두 제거하고 간단 소스만 올렸습니다. 123456789101112131415161718192021222324252627282930IPAddress server{192, 168, 0, 102};int serverport = 80;WiFiClient Wificlient;#define debug Serialsetup(){ debug.begin(115200); Wificlient.connect(server, serverport);} loop(){ if(Wificlient.connected){ String .. 2017. 11. 8.

인기글