기본 콘텐츠로 건너뛰기

라벨이 IoT인 게시물 표시

ESP32 DevBoard 개봉기

오늘 드디어 손에 넣었다. ESP32 DevBoard! Adafruit 에서 15개 한정 재입고 트윗을 보고 광속 결제. 그리고 1주일의 기다림. 사랑해요 USPS <3 알리를 이용하다보니 1주일 정도는 광속 배송임. 물론 배송비도 무자비함 -_ㅜ 15개 한정판 adafruit 발 dev board 그놈이 틀림없으렸다. 오오 강려크한 포스 ESP32_Core_board_V2라고 적혀있군요. ESP32 맞구요. 네네. ESP32-D0WDQ6 라고 써있는데 D → Dual-core 0 → No internal flash W → Wi-Fi D → Dual-mode Bluetooth Q → Quad Flat No-leads (QFN) package 6 → 6 mm × 6 mm package body size 라고 함. 길이는 이정도 모듈크기는 이정도 코어는 6mm밖에 안해! 여기에 전기만 넣으면 BLE+WIFI! 밑에 크고 발 8개 달린 놈은 FM25Q32라고 32Mbit 플래시메모리 ESP8266 DevBoard 동생이랑 비교 크고 아름다운 레귤레이터랑 CP2102 USB Driver가 붙어있음. ESP8266 DevBoard엔 CH340G 인데 확 작아졌네. 머리를 맞대어 보았음. 모듈크기는 아주 약간 ESP32가 더 큰데 워낙에 핀이 많고 촘촘함. ESP8266인 ESP12는 핀 간격이 2.00mm인데 비해 ESP32는 1.27mm 밖에 안함. 딱봐도 비교가 될 정도. https://www.sparkfun.com/news/2017 크고 아름다운 Pinouts ESP8266 보드랑 별로 안달라보인다. http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx#mac 에서 CP2102 드라이버를 설치하고 ...

MQTT Broker Mosquitto 설치 후 설정

우분투 기준 $ sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa $ sudo apt-get update 하고 $ sudo apt-get install mosquitto 으로 설치하면 서비스까지 착실하게 올라간다. 설치는 간단한데 사용자를 만들어야한다. /etc/mosquitto/mosquitto.conf 파일에서 권한 설정을 변경하자. allow_anonymous false 를 추가해서 아무나 못들어오게 하자. $ service mosquitto restart 서비스를 재시작. 이제 사용자를 추가하자. mosquitto_passwd <암호파일 경로명> <사용자명> 하면 쉽게 만들 수 있다. # mosquitto_passwd /etc/mosquitto/passwd admin Password:  Reenter password:  암호 넣어준다. 두번 넣어준다. 이제 MQTT 약을 열심히 팔아서 Broker 사글세방 임대업을 하자.

Arduino 1.6.3에서 ESP8266과 Adafruit 보드들을 추가하자.

ESP8266을 위해 전용 Arduino 1.6.1을 쓰는 방법도 있지만 내 경우엔 Gemma, Flora, Trinket 다 쓰고 있어서 하나하나 Hardware 폴더에 옮기다가 Adafruit에서  https://learn.adafruit.com/adding-custom-boards-to-the-arduino-v1-6-board-manager/adding-the-proxy  이런 훌륭한 대책을 내놓았다. Arduino 1.6.2 부터 Boards Manager를 통해 3rd party 보드들을 추가할 수 있는데 Proxy로 Adafruit 에 가도록 하는 꼼수를 쓰셨다. 방법은 간단. 설정(Preferences) > Proxy Settings 에 Sever (HTTP) : apt.adafruit.com Port (HTTP) : 5050 두개를 넣어준다. 참 쉽죠? 그리고 도구(Tools)>Board>Boards Manager를 보자 아주 좋다. 역시나 OS X에선 esptool이 삽질한다. 언제 고쳐주려나 ㅜㅜ

ESP-12 + Test Board 수령기

ESP-12 + Test Board 가 왔다. 기판이 노란색이어서 Yellow Board라고 부르는 것 같은데 1.5v x 3 의 Battery Box 에 7333-1 레귤레이터 칩을 달았다. http://www.aliexpress.com/item/New-Wireless-module-NodeMcu-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-Limited-number/32260333698.html 이쪽이 깔끔하긴 한데 가성비를 고민하다가 다음 기회로 넘기기로 하고 받은 물건은 바로 흔한 대륙의 과대포장 박스가 엄청 커서 놀람.  2개를 샘플로 받았는데 기판이 붙어 있었다. 테스트를 해보니 양품이었음. 1.5v 짜리 3개를 꽂고나니 적색, 청색, RGB LED들이 빛을 뿜어댄다. LED마다 달려있는 저항과 ADC에 붙어있는 Mini PhotoCell 이 깨알같다. ESP8266 시리즈 중 유일하게 ESP-12만 adc.read(0) 명령으로 접근 가능한 ADC Analog Input이 있다. 왼쪽에 상단에 노란색 점퍼가 플래시용 점퍼인데 펌웨어 업뎃할 때 이외엔 열어놓으면 된다. 점퍼와 깨알같은 저항들 iot.apk 라고 ai-thinker.com 에서 제공하는 안드로이드 앱이 있는데 별 기능은 없고 LED들이 잘 작동하는지 테스트 하는 기능밖에 없어서 그냥 nodemcu로 플래싱함. RGB LED가 상당히 큰데 R,G,B가 따로따로 다 보일 정도 :) 핀은 0~8번까지 무려 9개의 GPIO를 제공한다. 아주 훌륭하다. 기본으로 LOW일때 적색 LED가 작동하도록 만들었다. RGB LED는 반대. 다 켜면 이런 식인데 RGB LED는 HIGH인 상태라고 보면 된다. 기존 ESP-1과 나머지는 동일하다. RGB LED가 이뻐서 접사렌즈로 찍은 동영상과 함께 리뷰를 마친다.

Mosca를 사용한 MQTT 연습

IoT에서 핵심 개념 중 사물간 통신 부분이 있는데 양방향 경량 통신 프로토콜로 MQTT라는 것이 있고 그것이 nodemcu  에 구현이 되어있어 흥미를 가지고 살펴보았다. 기본적으로 Meteor의 DDP 프로토콜처럼 pub/sub 구조인데 한번씩만 pub/sub을 하는 Meteor와는 다르게 구독(subscribe)은 지정 토픽에 대해 한번만 하고 발행(publish)은 그때그때 하는 구조였다. 기술적인 내용은 MQTT  같은 곳에 자세히 나와있으니 대충 읽고 실제적인 작동이 어떻게 되는지 직접 한번 경험해보고 싶었다. 물론 node.js와 javascript를 사랑하는 사람이기 때문에 npm 에서 찾았지만 이후의 내용은 어짜피 command line에서 작동하는 것이기 때문에 부담없이 해볼 수 있다. 먼저 MQTT Broker를 설치하자. 고양이 그림이 귀여운 Mosca  를 선택했다. node.js 가 없으면 먼저 설치하고 npm install mosca bunyan -g 부터 시작해보자. mosca 말고 bunyan이라는 것도 함께 설치하는데 JSON포멧의 로그를 볼때 편리하다. 덕분에 좋은 거 하나 배웠네. 여기서 Broker는 server랑은 조금 개념이 다른데 pub/sub을 하는 각각의 대상이 client/server의 관계가 아니기 때문이다. 서로서로 상호작용하는 관계이므로. 어쨌든 Broker가 없으면 sub과 pub을 서로 맺을 수가 없으니 반드시 하나는 구동해야한다. http://www.slideshare.net/BryanBoyd/mqtt-austin-api  자세한 내용은 이런 슬라이드를 보면 활용예나 패턴에 대해 잘 나와있으니 참조하자. mosca -v | bunyan 일단 이런 식으로 mosca 를 기동한다. mosquitto  같은 걸 써도 크게 다르지 않다. 어짜피 한번만 구동하면 끝이니까. $ mosca -v | bunyan ...

초저가 IoT WiFi 모듈 - ESP8266 사용기

알리가 춘절로 2달 걸릴 것 같아 두배정도 비싸게 주고 국내에서 구입 이틀만에 왔으니 위안을 삼아야지. ESP-12를 사고 싶었으나 5배 비싸서 못삼. 나도 부품 장나사 할까 (.....는 아니지 -_-) ESP8266은 그 자체로도 훌륭한 MCU를 가지고 있어서 굴러다니는 USB-Serial 케이블을 3.3v 전압으로 개조. (5v 넣었더니 엄청 뜨거워지더라;) http://www.adafruit.com/products/954  (PL2303 계열. 500mA로 전류가 안정적이다) 이렇게 생긴 놈인데 힘줘서 USB 커넥터 쪽을 쪼개면 요렇게 생겨먹었다. 현재는 빨간선이 5v로 되어있다. 3.3V로 옮겨주고 다시 재조립 제품이랑 연결했는데 다시는 ESP-1 사지 말아야지 싶은 것이 핀 숫자도 적고 배열이 아주 별로여서 핀을 롱노즈로 휘고 쌩쇼를 함. 앞면을 기준으로 위에서 아래로 왼쪽에서 오른쪽으로 USB-Serial 케이블 연결을 보면 * ESP8266 1 2 3 4 5 6 7 8 1: GND (-) 2: GPIO2 3: GPIO0 4: RX 5: TX 6: CH_PD 7: RESET 8: VCC (+) * USB-Serial R G W B (빨 녹 흰 검) R: VCC+ G: TX W: RX B: GND- 이라고 할때 1-B 2-x 3-x 4-G 5-W 6-x 7-x 8-R 순으로 대응을 하고 6번 CH_PD에도 VCC+를 넣어주면 된다. 얼기설기 엮어보자꾸나 펌웨어 개조를 하지 않은 상태에서 기본은 Arduino IDE 같은 곳에서 Tool>Serial Port>/dev/tty.usbserial을 선택하고 Tool>Serial Monitor에서 하단 Both NL & CR / 9600 baud를 체크하고 AT 명령을 테스트 해본다. 이상하다 싶을 땐 TX/RX가 반대로 껴져있는지 CH_PD가 VCC+를 ...