로그인회원등록 내글장바구니주문조회현재접속자
 상품 검색








 게시판 검색





 
 
회원등록 비번분실


온라인 입금계좌
ㆍ기업은행
ㆍ219-043192-01-028
ㆍ이건영

      거래은행 바로가기
 
 Sensor Applications
아듀이노 응용소스
작성자 avrtools™        
작성일 2016/02/25
첨부#1 init.lua (4KB) (Down:598)
ㆍ추천: 0  ㆍ조회: 292   
  2 채널 ESP8266 WiFi Switch의 제작
2 채널 ESP8266 WiFi Switch의 제작
참조: WiFi Controlled Relays using ESP8266 

이 프로젝트는 간단한 소스로 WiFi로 연결된 ESP 모듈에서 Relay를 제어하는 프로젝트이다.
Arduino 실드인 2 릴레이 기판과 ESP-01, SDK 펌웨어 Lua Interpreter를 사용하였다.
init.lua는 Lua Interpreter에서 ESP-01의 init.lua 파일로 저장되면 자동으로 시작되는 영역이다.
 
이것은 인터넷으로 LED 전구나 조명장치등의 전기장치를 ON-OFF 하는 제어장치이다.
Homedpot, Wall Mart, Ebay에서 WiFi Switch로 판매하고 있다. (USD 15)


ESP8266은 많이 알려진 IOT(인터넷 연결 기술) 소자로 만들어진 모듈이다. 
이것은 80 MHz로 작동하는 작고 매우 작은 내장된 SoC 칩을 가졌다.
그리고 펌웨는 별도의 MPU 없이 작동된다.
프로젝트 작동과 제작 과정의 동영상 

이 프로젝트는 매우 간단한 ESP-01을 사용한다.
이것은 다른 장치와 쉽게 연결할 수 있는 핀헤더 출력이 있다.
5V 2A 교류전원은 전압안정기와 2 릴레이 기판에서 사용한다.
CP2102 USB는 프로그램과 ESP 모듈의 설정에 사용한다.
 
모듈은 NodeMCU 펌웨어가 구워진다
GPIO와 lua scripting는 아두이노와 같은 함수를 지원한다.

부품 목록
ESP8266 모듈 ESP-01 
광절연 2 회로 5V 접점 기판
교류전원 SMPS 5V 1 ~ 3A 출력
LM2596 3A Step-Down 스위칭 모듈 혹은 LM1117-3.3V LDO
CP2102 USB 모듈 혹은 CH340G USB 모듈
점퍼 혹은 연결 배선 

시험용 전원의 준비
1. 적색과 흑색 연결전선을 준비한다.
 
아두이노 점퍼는 단가  27.5원으로 저렴하지만, 전원선으로 사용하면 절대 안된다.

 
아두이노 점퍼로 판매되는 중국산 점퍼의 전선은 직경 0.1mm 5 심이다.
전류용량을 계산해보자, 단면적은 반지름^2 x 3.14159 이므로,
 0.1/2 x 3.1459 x 5 = 0.00785 mm^2 이다.
방열공간이 제한된 피복전선이므로 전류밀도 4A/mm^2를 적용하면
4 A/mm^2 x0.00785 mm^2 = 0.0315 A = 약 30 mA
 
이것은 40 mA LED 1개의 구동전류도 안되고, Fanout 40mA의 아두이노 포트출력 1 개도 안된다.
문제는 저질 중국 제조사와 이런 것을 무조건 수입하는 수입상의 무지 때문이다.

2. 전원의 + out에 적색을, - out에 흑색 점퍼(짧은 연결 전선)를 연결한다.
5V 1A SMPS (USD 1.99)
  

5V2A SMPS AC 아댑터 (샘플가격 2,700원)

 
교류 어댑터 중에서 SMPS 방식을 사용해도 된다.
220V 교류 어댑터는 유럽용을 사면 플럭이 가늘기 때문에 안된다.
어떻게 안전규격도 없는 유럽용 상품이 시중에서 유통되는지 모르겠다.
 
노트북 전원 12V 5A SMPS (샘플 가격 7,900원)
  
나중에 다른 용도로 쓰려고, 더 큰 전류용량으로 저렴하게 구입했다. KC 인증도 있다.
그러나 24V를 만들려고 출력 2개를 직렬로 연결하니 출력전압이 죽었다 ???
 
분해하고 보니, 12V 출력 2차 -가 전원 220V 접지 단자와 직접 연결되어 있었다 ???
원래 2차 절연 전압을 EMI 문제로 1차 접지 FG와 연결은 반드시 Ycap 2KV 102를 사용해야 하는데,
앗 FG 절연용 Ycap이 없다. 더구나 1차 충전 Cap의 방전 저항도 없다, 만지다 320V 전기충격 받았다,
이런 엉터리 제품을 전기제어용으로 사용하면 큰일 난다. (KC 인증품? 그러나 1-2차 절연저항 문제있다)

3. 전원에 연결된 적색과 흑색 점퍼선을 서로 꼬아 준다.
4. 전원에 연결된 적색과 흑색 점퍼를 전원안정기로 연결한다.
 
LM2596 DC-DC 3A Step Down 모듈 (스텝다운 LM2596 샘플가격 1,050원)
  

5. 적색은 +(VCC), 흑색은 -(GND)로 연결한다.
6. 전원을 인가하고 전압안정기 출력에 3.3V가 나오는지 DVM으로 점검한다.
7. 다른 전압 안정기를 사용해도 된다. 전압 안정기의 입력은 5V 이상, 출력은 3.3V면 좋다.
 
아두이노 2 릴레이 기판 (샘플가격 4,400원)
 

아두이노 릴레이 기판은 2종류가 있다. 입력 형식이 +와 - 2 중에서 -입력으로 준비한다. 
릴레이 기판의 작동시험은 전원을 켜고. 적색은 VCC로 흑색은 IN1 과 IN2로 연결한다.
그러면 릴레이 기판이 작동되고 연결된 릴레이 기판의 LED가 점등된다.
이것은 점검을 하는 연결이다, 이제 릴레이 기판에 연결된 전선을 제거한다.

ESP01 Module의 준비 (샘플 4600원)


ESP-01의 VCC와 GND에 3.3V를 전원에 연결하고 전원을 켜면,
ESP-01의 LED가 깜빡인다. 이제 시험 전선을 제거한다.
이제 전원과 장치의 시험이 끝났다.
 
ESP8266 모듈 중에서 가장 저렴한 ESP-10은 빵판에 꼽으면 쇼트가 난다.
다음과 같이 점퍼 와이어로 연결하면 빵판에서 시험하기 좋다.


 
CH340G USB 모듈 (샘플 가격 2,200원)
 
 
ESP-01의 연결
 
ESP VCC와 ESP CH_PD는 3.3V로 연결
ESP RX는 UART TX로 연결 
ESP TX는 UART RX로 연결 
ESP GND는 UART GND로 연결
ESP GPIO0은 UART GND로 연결 

ESP 모듈은 반드시 3.3V를 넣어야 한다.
그리고 ESP 모듈은 RST와 CH-PD 핀은 VCC로 연결해야 작동한다.
펌웨어를 구울때는 GPIO0을 GND로 연결해야 한다.
GPIO-0은 작동시에 GND와 분리하고, 일반 포트로 사용할 수 있다.
 
주의 사항
GPIO-0 핀은 Reset 직후에 GND되는 신호를 입력으로 사용할 수 없다.
출력은 Active Low로 작동하는 회로를 사용하지 않으면,
Reset 되면 GPIO-0은 GND로 입력되고, 펌웨어 굽기 모드로 들어간다.
 
Lua Interpreter는 개발자용 ESP 모듈 시험용 SDK 펌웨어다.
대화형 인터프리터의 작동은 편리한 대신, 디버깅 용도이므로 무겁고 크고 완벽하지 않다.

ESP-xx 펌웨어 굽기
구입한 ESP 모듈은 AT-Command 가 들어 있다. 이것은 기본적인 부트로더이다.
NodeMPU의 펌웨어의 하나인 Lua Interpreter를 구워야 한다.

ESP-01에 구울 펌웨어는 NodeMCU 펌웨어를 받는다. (우측 상단의 Download Zip 단추)
 

ESP-01의 펌웨어를 굽는 Flash 소프트웨어는 nodemcu-flasher를 받는다.
내려받은 폴더의 Win32 혹은 Win64 폴더의 Release 안의 ESP8266Flasher.exe를 실행한다.
 
ESP 모듈을 연결하고, Flash 단추를 누르면 연결된 ESP 모듈에 Lua 펌웨어가 구워진다.
만일 굽기작동이 안되면 CH-PD는 VCC로 GPIO0은 GND로 연결하라. 전원을 뺏다가 넣는다.
 

ESP-01 모듈에 펌웨어를 Lua Interpreter를 구웠으면, 이제 ESP-01 모듈에 Initlua 파일을 넣어야 한다
WiFi ESP8266 Lua 모듈의 자동작동 펌웨어 소스 파일 (혹은 첨부파일 #1을 받는다)
 
ESP8266 NodeMCU Lua 파일 업로더 ESPlorer.zip (Java Runtime을 추가 설치해야 한다)
 

ESPlorer를 실행하고 우측 상단의 Open을 누른다. ESP 모듈이 UART로 연결되면,
우측 터미널 창에 ESP 모듈이 리셋되고 작동하는 것을 볼 수 있다.
만일 작동이 조금이라도 이상하면? 위의 ESP Lua 펌웨어를 다시 굽는다.
 
GPIO0은 GND에서 떼어내고, ESP 모듈을 UART와 연결한다.
좌측 하단의 Upload 단추를 누르고, init.lua 파일이 저장된 위치을 지정한다.
확인 단추를 누르면 init,lua를 ESP 모듈을 굽는다.
init.lua를 구었으면 Run 단추를 누른다. ESP 모듈의 init.lua 파일이 작동된다.
ESPlorer의 좌측하단 단추 Run과 Upload외의 단추를 사용하면 init.lua 굽기가 안된다. 

Lua Interpreter 펌웨어로 작동하는 init.lua
ESPlorer를 연다. 작동이 안되면 자바 run time을 추가 설치해야 한다.
Connect on the same COM Port as Flasher at 9600 baud rate.
ESP-01을 USB-Uart로 연결하고, ESPlorer의 COMP Port Open 단추를 누른다.
 
그러나 걱정하지 마라. ESP 펌웨어는 어떤 오류도 발견한다.
ESP 모듈로 init.lua를 업로드하기 전에 문서 편집기로 IP 주소와 AP의 SSID 그리고 PW를 변경한다.
ESPlorer에서 변경하면, 수정한 소스를 저장할 때 ESP로도 저장하려고 오류가 발생한다.
ESPlorer의 좌측 소스영역의 아래쪽에 있는 업로드 단추를 누른다.
 
ESP 모듈의 리셋(GPIO-0을 접지하는 누름 스위치) 단추를 누른다.
사전에 init.lua 파일에서 설정한 IP로 연결되어야 한다.
WiFi로 연결되지 않는 오류가 있으면 init.lua 파일을 수정해야 한다.

 

이제 인터넷 탐색기(browser)에서 스위치 서버가 연결된 IP를 찾으면, 서버가 작동하든지 아니든지 할 것이다.
스마트폰의 인터넷 탐색기에서 위와 같은 4개의 단추가 보이면 작동이 잘 되는 것이다.
릴레이 출력을 다른 장치로 연결하려면, 이제 모듈을 끄고 USB-UART 연결을 끊는다.

모든 연결 그리고 시험


다음과 같이 전원을 끄고 연결을 만들고 점검한다.
 
ESP VCC는 +3.3V로 연결 (VCC와 CH_PD는 계속 연결한다)
ESP GND는 전원 -GND로 연결
ESP GPIO0는  Relay 기판 IN1으로 연결 
ESP GPIO2는 Relay 기판 IN2로 연결 
Relay 기판 VCC는 전원 +5V로 연결 
Relay 기판 GND는 전원 - GND로 연결 
어댑터 +5V는 전압 안정기 +ve 입력으로 연결
어댑터 -는 전압 안정기 -ve 입력으로 연결
전압 안정기 +ve 출력은 ESP 3.3V로 연결 
전압 안정기 -Ve 출력은 ESP - GND로 연결 

모두 끝났으면,  어댑터를 켜고 인터넷 탐색기에서 IP 주소를 연다.
릴레이를 on/off로 전환하고 릴레이 기판이 작동하는지 점검한다.
이제 이 릴레이로 연결된 다른 장치를 인터넷에서 제어할 수 있다.

다른 장치의 제어 연결
릴레이 접점 출력 COM, NC, NO 접점을 다른 장치의 스위치와 병열로 연결한다. 
NC는 OFF에서 연결된 접접이고 NO은 ON에서 연결되는 접점이다. (대부분 NO을 사용한다)
NC 접점은 함부로 사용하면 릴레이의 기계적인 충격으로 NC 접점의 연결이 쉽게 끊어질 수 있다.

DDNS의 서비스
DNS 서비스인 duckdns 혹은 no-ip.com의 DNS를 사용하면, 외부에서도 이 장치를 제어할 수 있다.
많은 무선공유기 AP(routers)들이 No-IP와 다른 DNS 서비스로 변경되는 동적 IP를 연결하는 지원을 한다.
init.lua에 설정된 포트 80을 다른 포트로 바꾸면, 많은 릴레이를 하나의 IP에서 포트로 분리해서 쓸 수 있다.

평가
이 lua 소스는 연결 유지도 스위치 작동도 매우 잘 된다. 스위치 서버를 공부하기 매우 좋다.
그러나 ESP-01에 구워진 NodeMCU는 문제가 있다. 부팅 초기에 릴레이를 마구 작동시킨다.
멍청한 SDK 펌웨어다. 아무리 SDK라도 부팅되고 포트를 함부로 흔드는 펌웨어가 어디 있는가? 
 
이 문제만 빼고 다 좋다. 그리고 서버 사이트의 단추가 너무 작았다, 단추의 크기를 수정했다.
폰트도 한국 홈피용으로 바꾸고, 단추의 색상도 우중충해서 밝은 색으로 수정했다. (첨부 파일 #1)
 
또한 고정된 IP로 펌웨를 굽기보다, 공유기 처럼 하나의 간편 SSID, PW로 된 펌웨어로 만들고, 
탐색기에서 연결하고 IP, SSID, PW를 바꾸고, Station 모드로 스위치 서버를 시작하는 것이 좋다. 
안정된 ESP 모듈의 작동은 원한다면, NodeMCU 대신 MQTT로 컴파일한 펌웨어를 직접 구워야 한다.

이 프로그램은 무료 소프트웨어로, 신체와 재산 상의 어떤 위험과 손해를 보상하지 않습니다.
이 프로그램은 GNU 무료 소프트웨어 배포규정을 따릅니다.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
 AVRTOOLS™
   
윗글 ESP8266 MQTT Relay Control
아래글 ESP-12E SDK 0.9.5 사용방법
    N         제목    글쓴이 작성일 조회 추천
아듀이노 응용소스 게시판 avrtools™ 2016/02/05 (금) 177 0
25 ESP8266 MQTT Relay Control avrtools™ 2016/03/03 (목) 258 0
24 2 채널 ESP8266 WiFi Switch의 제작 avrtools™ 2016/02/25 (목) 292 0
23 ESP-12E SDK 0.9.5 사용방법 avrtools™ 2016/02/18 (목) 351 0
22 ESP8266 ESP-12E WiFi 센서 서버의 제작 avrtools™ 2016/02/17 (수) 334 0
21 Arduino DS3231 RTC to 5110 LCD avrtools™ 2016/02/16 (화) 403 0
20 ESP8266 Weather Server의 제작 avrtools™ 2016/02/15 (월) 375 0
19 Arduino 온습도 센서 DHT-22 avrtools™ 2016/02/12 (금) 322 0
18 ESP8266 WiFi 펌웨어 업그레이드 avrtools™ 2016/02/11 (목) 531 0
17 Arduion ESP8266 WiFi 설정 방법 avrtools™ 2016/02/10 (수) 458 0
16 Arduino 정전용량식 수분센서의 분석과 제작 avrtools™ 2016/02/07 (일) 275 0
15 Arduino 전극식 수분센서의 분석과 제작 avrtools™ 2016/02/07 (일) 356 0
14 Arduino 정밀 전력계의 ADC avrtools™ 2016/02/02 (화) 518 0
13 Arduino 정밀 전력계의 LPF avrtools™ 2016/02/02 (화) 389 0
12 Ardunio 16비트 ADC Data Logger avrtools™ 2016/01/31 (일) 266 0
11 Arduino AC/DC Power Meter의 제작 avrtools™ 2016/01/29 (금) 486 0
10 Arduino 교류 역율계(power factor)의 제작 avrtools™ 2016/01/29 (금) 360 0
9 Arduino DUE based DDS Synthesizer avrtools™ 2016/01/24 (일) 220 0
8 QTouch ADC 근접검출 스위치 avrtools™ 2016/01/21 (목) 384 0
7 Arduino 음성인식 Speech/Voice Recognition avrtools™ 2013/09/14 (토) 1654 0
6 Arduino Uno로 만드는 3축 CNC avrtools™ 2013/09/10 (화) 2529 0
5 Arduino로 만드는 mySpectral 분광기 avrtools™ 2013/09/04 (수) 2067 0
4 8채널 12비트 ADC MCP3208 오실로스코프 avrtools™ 2012/03/29 (목) 462 0
3 교류저항 (impedance) 측정 AD5933 avrtools™ 2012/03/17 (토) 415 0
2 Arduino DMX512 수신기 제작 avrtools™ 2012/03/15 (목) 3630 0
1 TSL2561 조도 측정기의 제작 avrtools™ 2011/09/11 (일) 2615 0
1

바구니 : 0
 보관함 : 0
오늘뷰 : 0
HOME   |   회사소개   |   제휴안내   |   회사위치   |   서비스이용 약관   |   개인정보 보호정책   |   사이트맵
17015 경기도 용인시 기흥구 동백중앙로16번길 16-25, 508호. 전화 : 031-282-3310
사업자 등록번호 : 697-47-00075 / 대표 : 이건영 / 업태 : 제조업 / 종목 : LED조명, LED전원, 제어장치.
개인정보 관리책임자 : 홈페이지 관리자 . Copyright ⓒ2016 아크레즈 (ACLEDS INC.)
HOME TOP PREVNEXT 0 0 0