아두이노의 제일 큰 장점은 아무래도 "코딩 몇 줄로 모듈들을 사용할 수 있다."일 것이다.
음... 응용에 집중할 수 있다는 얘기이다.
오늘은 ESP8266 모듈을 다뤄 볼 것이다.
1. 라이브러리 다운로드
아래의 링크에서 라이브러리를 먼저 다운로드 한다.
https://github.com/itead/ITEADLIB_Arduino_WeeESP8266
"Clone or download" 클릭.
"Download ZIP" 클릭
다운로드한 ZIP파일을 아두이노 IDE에 추가해주면 된다.
ZIP파일이름은 "ITEADLIB_Arduino_WeeESP8266-master.zip" 일 것이다.
상단 메뉴에서 스케치 > 라이브러리 포함하기 > .ZIP 라이브러리 추가... 선택
2. 예제 코드 돌려보기
아래의 소스코드를 통째로 복사하여 아두이노 IDE에 붙여넣는다.
코드를 간략하게 설명하면
setup 함수
ESP8266모듈을 세팅하고
Wifi 연결까지 시동한다.
loop 함수
TCP/IP를 이용해서 서버와 연결을 한 후
'Hello, This is Client!' 라는 메시지를 서버 측에 보낸다.
그리고 10초간 메시지를 기다린다.
메시지가 도착하면 모니터 프로그램에 표시해주고
서버와의 연결을 끊고 5초세 정도 기다렸다가
다시 loop함수를 돈다.
하지만 위의 코드를 그냥은 못 돌린다.
자신의 환경에 맞게 수정을 해야 한다.
#define SSID "ITEAD" //자신의 집 와이파이 이름 #define PASSWORD "12345678" //그 와이파이 비밀번호 #define HOST_NAME "172.16.5.12" //통신할 자신의 컴퓨터 IP 주소 #define HOST_PORT (8090) //통신으로 사용할 포트 번호 SoftwareSerial mySerial(3, 2); /* RX:D3, TX:D2 */ //ESP8266와 연결한 UNO의 포트 번호
아이피 주소 확인하는 방법은 다음과 같다.
# for Linux OS
$ ifconfig
# for Window OS
> ipconfig
마지막으로 자신의 PC에 돌릴 서버 프로그램이다.
파이썬 코드이다.
# TCP server example import socket server_port = 8090 max_users = 5 #maximum number of queued connections server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind(("", server_port)) server_socket.listen(max_users) print ("Waiting for client on port ",server_port) count = 0 while True: client_socket, client_address = server_socket.accept() print ("connection from ", client_address) while True: data = client_socket.recv(128) if not data: break print(count, 'received :',data) sent = client_socket.send(data) if sent == 0: print("socket connection broken") print(sent) print("Disconnected") client_socket.close() count = count+1 server_socket.close()
위의 코드를 실행하기 위해서는 파이썬이 설치되어 있어야 한다.
다음은 실행 결과이다.
<PC Server side>
<Arduino Side>
3. 연결도
케이블 연결 시에는 항상 조심해야 한다.
다른 건 몰라도 전원, GND는 잘 확인하기 바란다.
안 그러면 보드를 그대로 하늘로 보내야 할지도 모른다.
위의 내용은 제 네이버 블로그에서 가져온 글입니다.
(2016.09.19)
http://chandong83.blog.me/220815798329
'아두이노 > 응용' 카테고리의 다른 글
아두이노 사용기#7 IR LED을 다루어 보다. (0) | 2017.12.06 |
---|---|
아두이노 사용기#6 IR 센서 모듈을 다루어 보다. (0) | 2016.11.08 |
아두이노 사용기#4 온습도 모듈 다루어 보다. (0) | 2016.11.08 |
아두이노 사용기#3 BLE 모듈 다루어 보다. (0) | 2016.11.08 |
아두이노 사용기 #2 준비는 이제 끝났다!!!! (0) | 2016.11.08 |