2019년 4월 8일 월요일

[프로젝트]ESP8266을 이용한 IOT 기기 구현! (1)

0. 


ESP 8266을 사용하여 IOT 기기를 구현 하는 프로젝트를 시작하였습니다.

학부 캡스톤 디자인 프로젝트로써 시작하게 되었습니다.

과연.. 잘 마칠수 있을지 의문입니다 ㅜㅜ

우선 기능적으로 ESP 01 모듈을 사용하여 Atmega 128의 기능을 웹사이트에서 제어하는 큰 틀

을 가집니다.

상세적으로 ESP 01로 웹페이지를 생성하여 128과 UART 통신을 이용하여 LED를 제어하거나

모터를 제어합니다.



1. 


필요한 부품으로는  Atmega 128 보드, ESP 01 모듈, 5v-3.3v 레귤레이터, cp2102(USB to TTL)

혹은 아두이노 우노 보드 정도 되겠습니다. (LED와 모터는 추후에 포스팅)

데이터 시트를 찾아보니 와이파이 모듈에 펌웨어나 소스를 올리기 위해서 추천하는 툴이

cp2101이 있었으나, 이것을 아두이노 우노 보드로 대체 하여 펌웨어를 올리고 소스를 업로드

하게 되었습니다.


2. 


개발환경으로는 여러가지가 있었습니다. Lua언어, 이클립스를 이용한 c언어 개발환경,

아두이노 IDE, 마이크로 파이썬(SDK가 아직 개발중이라고함) 정도가 있었으나 아두이노

보드가 있어서 아두이노 IDE를 사용합니다.


3.  


우선 아두이노를 설치 합니다. (저는 Mac OS Mojave입니다 / 버츄얼 박스로 윈도우 10 환경)

 아두이노 버전은 1.8.9를 설치하였습니다.* 다음으로는 펌웨어와 ESP에 펌웨어를 올리는

다운로드 툴을 설치 합니다.

** 데이터 시트에는 루분투 환경에서 하는 걸 추천하지만 윈도우에서 펌웨어 업로드를 해도

무관합니다.

* https://www.arduino.cc/en/Main/Software
** https://www.espressif.com/en/support/download/other-tools?keys=&field_type_tid%5B%5D=14


3-1. 


아두이노를 설치 하였으면 다음은 하드웨어를 준비합니다.

*ESP 8266 데이터 시트를 보시면 펌웨어 모드와 프로그램 실행하는 (러닝모드..?)가 있습니다.

우선적으로 펌웨어를 올려야 하니 펌웨어 모드로 꾸며 줍시다.

펌웨어 모드는 사진과 같이 구성합니다. 여기서 좀 삽질(?)을 많이 했는데 가지고 있는 ESP01

세대 모두 성공 하였습니다.


위의 사진과 같이 결선을 하는데 GPIO0 와 GND 사이에 1k옴의 저항을 연결하여 펌웨어 

모드로 잡았습니다.


* https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf

3-2. 


**firmware upload하기

*git hub에서 펌웨어를 다운 받습니다. 여러 버전이 있는데 0.9.2.2버전을 받습니다.

이때 유의 하실 사항이 경로에 주의 하셔야합니다.  PC 계정이 한글로 되어있고 바탕화면이나

다운로드 디렉토리에서 펌웨어를 올리게 되면 잘 되지 않는데,  /C: 디렉토리에 펌웨어를 다운

받아서 펌웨어를 업로드 하시면 되겠습니다. 펌웨어를 업로드 하게 되면 아래 사진과 같이

진행됩니다.



펌웨어가 성공적으로 업로드 되면 다음과 같은 문구가 나옵니다.



*** 아두이노를 실행 한후 환경설정에 들어가서 '추가 적인 보드 매니저 URLs'에 다음과 같이

추가합니다.



 탭에 '툴' - '보드' - '보드 매니저'에서 검색창에 'esp 8266' 혹은 '8266'을 검색하면 다음과 같이

나옵니다. 좌측하단에 버전을 선택한 후 설치를 해줍니다.

(버전은 가장최신 버전으로 하였습니다.)

그러면 탭에 '툴'을 보시면 다음과 같이 나오는데 여기서 "generic esp 8266 module"을 선택하고



좌측에서는 다음과 같이 설정합니다. (이 설정은 환경마다 약간은 상이 한것 같습니다.)



이제 환경설정이 마무리 되었습니다. 


* https://github.com/mlwmlw/esp8266-workshop/tree/master/firmware
** https://drive.google.com/file/d/0B3dUKfqzZnlwVGc1YnFyUjgxelE/view
*** http://arduino.esp8266.com/stable/package_esp8266com_index.json


4.


아두이노를 실행 한 후 툴 - 시리얼 모니터를 실행합니다. 

우측 하단에 Both NL& CR / 9600 (혹은 115200)으로 설정합니다. 

입력창에 AT라고 쳤을 때 "OK"라고 나타나면 정상적으로 펌웨어가 올라갔음을 확인

할 수 있습니다!










댓글 없음:

댓글 쓰기