?>

Hard Copy World

HCW

Communication module

Home > Info >

Communication module

ESP8266 활용 가이드 - Java Script 개발환경 (Espruino)

페이지 정보

작성자 최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일16-01-13 16:03 조회2,057회 댓글0건

본문

 

ESP8266/ESP32 모듈 관련 자료는 전용 게시판으로 모두 이동되었습니다. 아래 문서의 최신 업데이트는 ESP8266 전용 게시판에만 적용됩니다.

ESP8266 활용 가이드 목차

 

 

Espruino 는 JavaScript run-time 을 임베디드 장치에 탑재할 수 있도록 지원하는 오픈소스 프로젝트입니다. 이미 ARM Cortex M3/M4 프로세서와 기타 프로세서에 탑재되기도 했으며 전용 하드웨어도 출시된 상태입니다. 근래에 들어 Espruino 는 ESP8266 모듈도 지원하기 시작했는데 아직은 베타 단계이지만 꽤 안정적으로 동작하는 것으로 알려져 있습니다.

여러모로 NodeMCU 와 비슷한데, NodeMCU 펌웨어와 마찬가지로 ESP8266 용으로 빌드된 Espruino 펌웨어를 모듈에 올린 뒤 터미널 프로그램이나 전용 Web IDE를 통해 개발할 수 있습니다. 다만 프로그래밍 언어가 Lua 대신 JavaScript로 바뀐거죠. 펌웨어를 올리고 터미널 프로그램으로 접속하면 [>] 쉘 프롬프트를 볼 수 있으며 자바 스크립트 명령어를 line by line으로 인식해서 처리하고 결과를 알려주는 동작 방식도 같습니다.

특징적인 부분이라면 Espruino는 웹 개발환경(Web IDE)을 제공한다는 겁니다. Espruino 웹 개발환경은 쉘 프롬프트 화면 뿐 아니라 소스코드를 작성, 업로드를 할 수 있는 GUI 환경을 제공해준다. 크롬 브라우저용 앱 형태로 배포되므로 OS에 상관없이 동작하는 이점도 있습니다. 그리고 특이하게 블럭 형태의 GUI 프로그래밍도 지원합니다.

 

 

Espruino 펌웨어 업데이트

 

아래 링크에서 최신 Espruino 빌드 바이너리를 다운로드합니다.

문제 발생시 ESP8266 설치 가이드를 참고하세요.

최신 Espruino 빌드 바이너리 파일의 압축을 해제합니다. 그리고 ESP8266 모듈을 flashing 모드로 설정합니다. (GPIO2 - HIGH, GPIO0 - LOW, GPIO15 - LOW)

esp8266-reflash-firmware

 

펌웨어 업데이트 방법이 몇 가지 있는데.. 펌웨어 업데이트 툴을 이용하는 방법은 아래와 같습니다.

  • NodeMCU Flasher 다운로드 : https://github.com/nodemcu/nodemcu-flasher (Win32 혹은 Win64 폴더 사용)
  • NodeMCU Flasher 프로그램을 실행
  • Operation 탭에서 COM 포트를 맞춰줌
  • Config 탭
    • 첫 번째 입력란에 다운로드 받은 Espruino 펌웨어 중 [boot_v1.4(b1).bin]를 선택, 메모리 어드레스는 0x00000으로 설정
    • espruino_esp8266_user1.bin ==> 0x1000
    • blank.bin ==> 0x7E000 (ESP-01 모듈처럼 512KB Flash 용량인 경우)
    • blank.bin ==> 0x37E000 (ESP-12 모듈처럼 512KB Flash 용량인 경우는 이 설정을 대신 사용)
    • 주의!! 다운로드 받은 펌웨어 폴더에 있는 ReadMe 파일을 참고하는 것이 가장 정확합니다.
  • Operation 탭에서 Flash 버튼 클릭
  • 업로드 진행 과정이 Log 탭에 표시됨. 문제없이 다운로드 완료되면 아래 메시지가 표시됨
    • Note:Program flash success.
    • Note:Serial port disconnected.
  • Flash 버튼을 눌러도 다운로드 진행이 안되는 경우가 생김. 이때는 모듈을 리셋하고 다시 시도해보자.

Programming_LUA_firmware_config_1-1

 

윈도우의 커맨드 창을 이용해서 커맨드로 업데이트 할 수도 있습니다.

  • 파이썬 개발환경이 필요함. 파이썬 홈페이지에서 파이썬 2.7.x 버전을 설치
  • 파이썬 스크립트에서 Serial 포트에(COM 포트) 접근하기 위해 pySerial 라이브러리가 필요. 아래 링크에서 다운로드
  • 다운로드 받은 후 압축을 해제. 압축 푼 폴더에서 다음 커맨드 실행
    • python setup.py install
  • [내 컴퓨터 > 마우스 우클릭 > 속성 > 고급 시스템 설정 > 환경 변수 > 시스템 변수 > Path] - path 젤 뒤에 아래 ESP8266 SDK tool 경로를 추가
    • ;C:\Espressif\utils
  • [Windows+R 키 > cmd 입력 >]
  • 커맨드 창이 뜨면 Espruino 펌웨어 압축을 푼 폴더로 이동
  • ESP 모듈이 flashing 모드로 연결된 상태에서 아래 명령어로 flashing (COM 포트를 각자 설정에 맞게 변경!!)
    • (ESP-01 모듈의 경우 : flash 512KB)
    • esptool.py --port COM5 --baud 115200 write_flash --flash_freq 40m --flash_mode qio --flash_size 4m 0x0000 boot_v1.4(b1).bin 0x1000 espruino_esp8266_user1.bin 0x7C000 esp_init_data_default.bin 0x7E000 blank.bin
    • (ESP-12 모듈의 경우 : flash 4MB)
    • esptool.py --port COM5 --baud 115200 write_flash --flash_freq 80m --flash_mode qio --flash_size 32m 0x0000 boot_v1.4(b1).bin 0x1000 espruino_esp8266_user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin

 

 

Espruino 개발환경 사용법

 

펌웨어 업데이트가 완료되면 ESP8266 모듈을 노멀모드로 설정합니다. 일단은 Terminal 프로그램을 이용해서 Serial 접속을 하고 쉘 프롬프트 상에서 몇 가지 작업을 해보겠습니다.

Terminal 프로그램을 이용해 Serial 접속을 합니다. 윈도우의 경우 Putty를 이용해 COMxx 포트에 접속하면 됩니다.

아래 명령어를 통해 메모리 상태 체크 가능합니다.

  • >process.memory()
  • ={ "free": 1279, "usage": 121, "total": 1400, "history": 37 }

일단 모듈을 리셋시킵니다.

  • >reset()

 

=undefined

_____ _
| __|___ ___ ___ _ _|_|___ ___
| __|_ -| . | _| | | | | . |
|_____|___| _|_| |___|_|_|_|___|
|_| http://espruino.com
1v84.tve_master_b603c8a Copyright 2015 G.Williams
WARNING: the esp8266 port is in beta!
Flash map 4MB:512/512, manuf 0xe0 chip 0x4016

 

모듈이 리셋되면 WiFi 기능을 사용할 준비를 합니다.

  • >var wifi = require("Wifi");
  • =function () { [native code] }

AP에 연결하도록 명령어를 전송 (SSID, 패스워드 변경해서 쓰세요)

  • >wifi.connect("my-ssid", {password: "my-password"}, function(err){if(err)console.log(err);else console.log("connected!");})
  • =undefined

WiFi 상태를 체크해봅니다.

  • >wifi.getStatus()
={
"mode": "sta",
"station": "connected",
"ap": "disabled",
"phy": "11n",
"powersave": "ps-poll",
"savedMode": "off"
}

 

IP 주소를 체크합니다.

  • > wifi.getIPInfo()
={
"ip": "192.168.0.106",
"netmask": "255.255.255.0",
"gw": "192.168.0.1",
"mac": "5c:cf:ff:06:c0:db"
}

 

현재 AP 연결 설정을 저장해서 재부팅 후에도 사용하도록 설정합니다.

  • >wifi.save()

 

ESP 모듈을 AP로 동작하도록 설정할 수 있습니다.

  • > wifi.startAP("my-ssid")
  • =undefined

AP 모드일 때의 IP를 확인합니다.

  • > wifi.getAPIP()
={
"ip": "192.168.4.1",
"netmask": "255.255.255.0",
"gw": "192.168.4.1",
"mac": "5e:cf:ff:06:c0:db"
}

 

이상 몇 가지 커맨드 라인에서 자바 스크립트 명령어를 써봤습니다. 터미널 프로그램으로 접근해서 명령어를 한 줄씩 입력하는 이런 방법은 간단한 테스트가 아닌이상 번거롭죠. 그래서 Espruino에서는 웹 개발환경(Web IDE)를 지원합니다.

GUI는 심플하지만 갖출건 다 갖추고 꽤 편리하게 이용할 수 있습니다.

front_main_ide

 

아래 링크를 통해 크롬 앱 형태로 설치할 수 있습니다.

앱을 실행한 뒤 ESP8266 모듈과 연결해서 개발을 진행할 수 있습니다.

  • 앱 설치 후 실행. IDE가 실행되면 먼저 우측 상단의 설정 클릭.
  • 좌측 Communications 탭에서 Baud rate를 115200 으로 설정
  • 설정 닫고 나와서 좌측 상단 Connect 이미지 클릭. 해당 COM 포트 선택 후 연결
  • 연결 이후 좌측 콘솔을 통해서 명령어를 전송하고 결과를 볼 수 있음
  • 우측 콘솔에 코드를 작성하고 저장 및 업로드 가능.

아래 참고자료 링크에서 예제와 API를 확인하세요. 그리고 입맛에 맞게 개발을 하시면 됩니다.

 

 

 

참고자료

 

추천 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.