물론 기존에 ESP8266용 gcc 개발환경이 이미 공개되어 있으나 프로그램을 작성하려면 API를 포함해 공부해야 할 것도 많고 개발환경을 설정하는것도 쉽지 않았다.
하지만 Arduino IDE를 ESP8266용으로 사용할 수 있게 되어 이제는 ESP8266용으로도 별도의 API를 공부할 필요 없이 아두이노 코드를 작성하는것과 동일하게 프로그래밍이 가능해졌다.
기본적으로 pinMode, digitalRead, digitalWrite는 아두이노와 동일하게 사용하면 된다. 단 핀 번호는 esp8266 GPIO 핀 번호를 사용하면 된다.
GPIO0~GPIO15는 핀 모드를 INPUT, OUTPUT, INPUT_PULLUP 및 OUTPUT_OPEN_DRAIN (이것만 추가됨)로 설정할 수 있고, GPIO16은 INPUT, OUTPUT으로만 설정이 가능하다.
ESP8266의 경우 ADC는 1 채널이기 때문에 analogRead(0)만 사용할 수 있다. 이 경우 TOUT 핀의 입력전압 값을 변환하게 된다. (주의: ESP8266의 ADC의 변환 레인지는 0~3.3V가 아니고 0~1V이다)
GPIO 핀 인터럽트도 아두이노와 동일하게 사용할 수 있다. GPIO16을 제외한 모든 GPIO핀에 인터럽트를 사용할 수 있고, 인터럽트 타입은 CHANGE, RISING, FALLING을 사용하면 된다.
현재 Wifi, Ticker, I2C, 1-wire, mDNS, MQTT, DHT-11, LCD, Stepper 라이브러리등을 사용할 수 있고 나머지 라이브러리들도 계속 추가되고 있다.
ESP8266 지원이 포함된 arduino는 https://github.com/esp8266/arduino 에서 다운받으면 된다.
스케치를 업로드 할 때는 Tools->Programmer 에서 esptool을 선택해주면 된다. 물론 업로드 하기 전에 ESP8266을 bootloader 모드(GPIO0를 LOW로 하고 전원을 연결)로 만들어 줘야만 한다.
기존에는 ESP8266을 아두이노에 연결해 저렴한 wifi 모듈로 많이 사용했지만, 이제는 별도의 아두이노 없이 ESP8266만으로 모든걸 쉽게(기존의 아두이노 코드와 유사하게) 처리할 수 있게 되었다.
댓글 없음:
댓글 쓰기