기본 콘텐츠로 건너뛰기

라벨이 esp8266인 게시물 표시

nodemcu(esp8266) 신기능 gpio.serout() 에 대해 알아보자...는 훼이크고 로직 아날라이저 자랑

24Mhz 8ch Logic Analyzer를 최근에 구매했다. 이런 무시무시한 물건은 아니다. Saleae라는 회사에서 만든 제품인데 USB로 8ch 까지 전송하고 모니터 대신 프로그램(왜 안드로이드나 iOS 앱이 없는지 모르겠다. 적어도 안드로이드는 있을 법도 한데?)으로 분석하는 제품이다. 가격 대비 너무나 훌륭한 제품인데 Aliexpress 버프를 받아 $10도 안되는 가격에 구했다. 테스트를 해보려고 보니 nodemcu 문서에 요상한게 있었다. https://nodemcu.readthedocs.org/en/dev/en/modules/gpio/#gpioserout 바로 serout. serial out인데 연속적인 output을 쏴주는 명령이라고 써있다. gpio.serout(pin, start_level, delay_times [, repeat_num]) 구문은 위와 같은데. 지정한 pin 에 start_level로 시작해서 N개의 delay_time을 배열로 받아 토글을 해주는 명령이다. 1번핀을 기준으로 테스트해보았다. WeMos 제품 기준으로 GND/D1을 CH1/GND에 각각 연결하고 { 30,30,60,60,30,30 }을 넣어보았다. gpio.mode(1,gpio.OUTPUT,gpio.PULLUP) gpio.serout(1,1,{30,30,60,60,30,30}) 2µs 정도 오차가 있다. 32 High/ 32 Low / 62 High / 62 Low / 32 High / 32 Low 순서대로 잘 들어오는 걸 볼 수 있다. 끝내주네! 2씩 빼면 오차보정이 정확하게 되려나? 그러하다... gpio.serout(1,1,{28,28,58,58,28,28}) 실행결과 반복문이 있어서 10회 반복해보았다. 10번 반복했더니 10번 나왔다. 32µs 62µs 훌륭하다. 주의할 점은 logi...

ESP8266 - esptool-ck 플래싱 추천.

WeMo의 ESP8266+USB 통합모듈( http://www.wemos.cc/wiki/doku.php?id=en:d1_mini ) 사용 중인데 아주 맘에 든다. 드라이버 신경 안써도 되고 바로 사용할 수 있고 크기도 작고 가격도 적절. 커스텀 빌드 롬을 올리려고 보니 기존 esptool 말고 권장하는 것이 있어 https://github.com/igrr/esptool-ck  를 사용해보았다. OS별 다운로드는 여기( https://github.com/igrr/esptool-ck/releases ) esptool -vv -cd nodemcu -cb 921600 -cp COM5 -ca 0x00000 -cf firmware.bin 실행해보니 esptool v0.4.6 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de>         setting board to nodemcu         setting baudrate from 115200 to 921600         setting port from COM1 to COM3         setting address from 0x00000000 to 0x00000000         espcomm_upload_file         stat firmware\nodemcu-master-27-modules-2015-12-31-19-46-51-float.bin success         setting serial port timeouts to 1000 ms opening bootloader resetting board trying to connect   ...

esp8266 - nodemcu와 그 친구들

nodemcu 가 계속 버전업을 해서 다양한 모듈들을 아주 쉽게 사용할 수 있도록 적극적인 지원을 하고 있다. 물론 이 모듈들은  http://nodemcu-build.com/  같은 곳에서 추가/삭제를 자유롭게 하여 커스텀 빌드를 만들 수 있다. 하나씩 살펴보자. WS2812 WS2801 BMP085 TSL2561 HX711 DS18B20 DHT11, DHT21, DHT22, DHT33, DHT44 u8glib - sh1106_128x64, ssd1306, ssd1309_128x64, ssd1327_96x96_gr, uc1611 ... 헉헉 목록만 봐도 숨찬다. RGB LED 계열 WS2812 WS2801 (Strip 형태) 압력 센서 BMP085 조도센서 TSL2561 무게센서 (load cell) HX711 온도센서 DS18B20 온습도 모듈 DHT11 DHT21 DHT22 DHT33 DHT44 디스플레이류 (양이 매우 많다) ILI9163 ILI9341 PCF8833 SSD1351 이외에도 엄청 다양;;;;; 자료 찾기가 겁난다. 물론 꼭 ESP8266에서만 작동하는 모듈들은 아니지만 실제로 사용시에 속도 문제로 바이너리를 사용해야하는 경우도 있고 라이브러리 사용이 복잡하다던가 여러가지 경우가 있을 수 있으므로 우선적으로 고려해두면 좋다.

CircuitScribe + Silhouette Cameo 를 이용한 SMD Prototyping

the 개인적으로 납땜을 너무너무 싫어하는데 (못하진 않는다) 빵판에 주렁주렁 듀퐁 케이블 스파게티 무침을 무치는 것도 매우 별로다. 기판을 제작해서 솔더크림을 뿌려서 굽는게 사실 궁극적인 제작 방식인데 에칭 만지는 것도 건강에 안좋고 공간도 필요하고 지저분하고 뭐 답이 없다. 종이 같은데 회로를 그리거나 기계적으로(화학적 방식X) 만들어서 ZAxis 전도성 테이프 같은 걸로 붙여서 작업하고 싶었다. 자료랑 장비를 어느정도 모아서 연습삼아 Silhouette Studio를 열고 원과 직선들을 그어댔다. 그렇다. 펜홀더를 커팅머신인 Silhouette Cameo에 달아서 Plotter처럼 쓰는 것이다. 일단 볼펜을 꽂고 테스트. 오오 매끄러워! 프린터 따위와는 다르다 프린터 따위완.. 해상도라는 개념이 아예 없다. 어째선지 E자가 잘 안나온다. 심지어 맨 마지막에 쓴 글자인데도. 불안한 마음을 뒤로 하고 초 불편한 번들 소프트웨어로 동그라미와 직선을 그었다. 우와아앙 망했네 ㅋ 외곽선 따기모드로 그려서 죄다 쇼트 나버렸다. 대충보니 1.27mm는 무리겠다. 꽤 선이 굵다. 설정에서 두께도 줄이고 외곽선 모드도 해제하고 조정을 좀 했다. 무엇보다 롤러가 안닿고록 오른쪽으로 회로를 다소 이동. 결과물이 나쁘지 않았다. 접점용으로 동네사무용품점에서 산 5mmx5mm짜리 네오디뮴 자석을 접점에 붙이고 ESP8266을 안착하기 위해 양면테이프인 Conductive Tape을 준비. 취급을 상당히 조심해야한다. 잘못하면 테이프가 울어버리고 그러면 전도성을 보장할 수 없으니 모든게 헛수고로 돌아간다. 핀이 있는 곳에 잘 펴발펴발해서 붙이고 3.7v Li-poly 배터리를 연결하여 파란불이 점멸하는 것으로 부팅여부를 확인. TX/RX부분은 너무 좁게 붙여서 자석끼리 들러붙는다. 수정을 해야할듯. 중간에 테이프껍질을 집어넣어 통전을 막았다. 첨 해보는 거라서 다소 헤메기는 했는데 신기하기도 하고 재미있었음. 본격적인 SMD작업은 무리겠지만 적당한 선에서 검증해보기엔 꽤 괜찮은 ...

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이 삽질한다. 언제 고쳐주려나 ㅜㅜ

ESP8266 Arduino 정식지원 - 설치 및 Compile

https://github.com/esp8266/Arduino 드디어 ESP8266에서도 Arduino를 정식지원한다. 윈도우즈에서도 잘 동작하는 걸 확인하고 포스팅. 1. ESP 하드웨어를 설정하고 2. 드라이버를 잡고 3. Arduino를 사용하여 업로드 하는 것 까지 살펴보겠다. 먼저 지난 글 에서 처럼 ESP8266 핀설정을 확인하고 Serial Driver를 설정하는 것부터 되짚어 보자. 0 [*] GPIO16 8 GPIO15 1 GPIO5 9 GPIO3 2 GPIO4 10 GPIO1 3 GPIO0 11 GPIO9 4 GPIO2 12 GPIO10 5 GPIO14 6 GPIO12 7 GPIO13 실제 사용하는 매핑표는 이렇다. ESP-01 Pinouts ESP-12 Pinouts REST는 RESET과 같음 Pin0~pin10까지는 무시하자. servo 관련 게시물에서 잘못 퍼왔다. REST TXD  ADC RXD CH_PD GPIO4 - 2 GPIO16 - 0[*] GPIO5 - 1 GPIO14 - 5 GPIO0 - 3 GPIO12 - 6 GPIO1 - 10 GPIO13 - 7 GPIO15 - 8 VCC GND 실제 핀 배열은 이렇다.  GPIO16은 R/W전용이다. 즉, 인터럽트/pwm/i2c/ow 다 안된다는 소리. ESP-01과 ESP-12는 핀수가 다른데 공통으로 CH_PD를 VCC로 연결하고 ESP-12는 추가로 GPIO15번 핀을 GND에 연결한다. 한가지 알아두어야 할 것은 ESP시리즈는 Flash 모드와 일반모드 두가지가 있는데 실제로 업로드를 할때엔 Flash모드로 해놓아야된다. GPIO0 핀을 GND로 연결하고 RESET 해준다. RESET은 RESET/REST핀을 GND에 연결했다가 끊으면 된다. 스위치가 있으면 ...

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가 이뻐서 접사렌즈로 찍은 동영상과 함께 리뷰를 마친다.

초저가 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+를 ...