본문 바로가기

Study501

ESP8266 OTA(Over The Air) 사용하기 - 업데이트하기 참고 소스코드 저번에 OTA 준비작업을 하였다면 이번에는 실제로 업데이트를 해보겠습니다. 저번과 조금은 방법을 바꿔서 해보도록 하겠습니다. 부팅할때마다 서버에 파일업데이트를 확인하는 방법입니다. 그러기 위해서 소스에서 버전관리를 해줘야 합니다. 12String version="sensorview 1";String nextVersion="esp8266/sensorview2.bin";cs 이런식으로 현재버전과 앞으로 업데이트 할 버전을 관리합니다. 그리고 서버쪽에는 업데이트 할 버전의 파일을 만들어서 넣어두면 부팅시 접속하여 업데이트 할 버전의 파일을 다운로드 합니다. 물론 새 버전에서는 위의 버전을 한단계씩 바꿔줘야 합니다. ota를 할 함수는 재부팅시마다 실행되는데 ota 코드는 아래와 같습니다. 123.. 2019. 3. 18.
ESP8266이용하여 웹으로 CT 바르게 연결하기 앞서 전력값을 읽어 마이너스의 경우 플러스로 바꾸어 주는 법에 대해 포스팅했습니다. 전력값 읽을때 주의사항(마이너스 값 플러스로~) 하지만 3상의 경우 상마다 각각 읽었을 경우 대응이 가능하나, 전력 평균값을 읽을 경우 대응이 안된다는 것을 확인했습니다. 따라서 CT를 연결할 때 올바르게 연결할 수 있도록 웹에서 간단히 확인 할 수 있는 방법에 대해 알아보겠습니다. ESP8266의 AP모드를 통하여 WiFi의 SSID와 PASSWORD를 입력해 주기위해 웹서버를 사용하는데, 이곳에서 CT값을 읽어 방향을 확인할 수 있습니다. 웹서버에 접속했을때 기존엔 바로 WiFi설정을 하는 것을 보여줬지만, CT 세팅과, WiFi설정 항목을 선택할 수 있도록 바꾸었습니다. 12345678910111213141516vo.. 2019. 3. 7.
전력값 읽을때 주의사항(마이너스 값 플러스로~) 78M6610이나 78630으로 전력값을 가져오면 CT의 방향에 따라 마이너스( - )값이 나타납니다. 레지스터 테이블을 보면 전압과 전류는 부호가 없지만, 전력은 부호가 있습니다. 즉 CT를 반대로 연결하면 마이너스 값이 발생합니다. 단상인 78M6610의 경우 마이너스 값이 나오면 플러스로 바꿔주면 됩니다. 1234567if (((data >> 23) & 0x01) == 1) { //minus data -= 1; data = (0xffffff - data); data = (data *0.05); }else{ //plus data = (data *0.05); }Colored by Color Scriptercs 전압과 전류는 플러스값으로만 표현되니 상관이 없고, 전력의 경우 signed 24bit 인데 .. 2019. 3. 7.
arduino에서 CT로 전류값 읽기 예제소스코드 이번 프로젝트에서 CT로 전류값을 읽어 제어를 해야 하는 부분이 있어서 검색해보니 아두이노를 이용하여 전류값을 측정하는 방법은 많이 나와있습니다. 그래서 해봤는데 CT측정 값이 정형파로 나와 정확한 값을 측정하기는 어려웠습니다. 대충 비슷한 값을 넣어주고 해서 비슷하게는 되지만 정확한 값을 알기는... 제가 사용한 CT센서는 화인트랜스텍의 FS9L10입니다. 개폐형이라 사용하기 쉽습니다. 회로구성은 CT에 저항을 연결하여 나오는 전압값을 ADC로 받아서 처리하면 됩니다. 테스트 그래프입니다. 일단 저는 100옴짜리 저항을 사용하였습니다. 그리고 ADC값을 출력해봅니다. 시리얼 플로터로 보면 위와같은 그래프가 출력됩니다. 최고 값이 240정도 나오는데 전압으로 환산을 해보면 240/1024*5.. 2019. 3. 6.
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.
프로그램 가능한 GUI LCD Nextion Nextion의 NX8048K070은 터치와 LCD 데이터 포트가 필요없는 7인치 LCD입니다. NX8048K070의 가장 큰 장점은 MCU단에서 보다 화려한 그래픽 구사가 가능하다는 것입니다. Editor를 이용하여 사진파일과 동작에 대한 프로그래밍을 해주면 됩니다. 제품 WIKI에 보면 스펙이 나와있는데 Serial 통신이 가능하고, SD카드 지원, PWM과 이벤트가 가능한 8개의 IO포트, 그리고 RTC를 지원합니다. 아래쪽으로 내려와 데모파일을 다운로드합니다. 압축을 풀어주면 파일이 2개가 나오는데 HMI 확장자가 Editor 파일입니다. 이제 Editor를 다운로드합니다. Nextion Editor 홈페이지 위 링크로 들어가 Editor를 다운로드합니다. 다운로드후 설치하고 실행합니다. 이게 N.. 2018. 12. 24.

인기글