본문 바로가기

개발 이야기

javascript로 mcu에서 코딩이 가능한 - espruino 환경

728x90

javascript 언어로 MCU기반 하드웨어에서 코딩이 가능한 플랫폼이 있습니다.

그것은 바로,

  espruino 라는 플랫폼인데,

 

Espruino 는 JavaScript run-time 을 임베디드 장치에 탑재할 수 있도록 지원하는 오픈소스 프로젝트입니다. 이미 ARM Cortex M3/M4 프로세서와 기타 프로세서에 탑재되기도 했으며 전용 하드웨어도 출시된 상태입니다. 

esp8266 또는 esp32 보드도 지원을 하고 있는 것 같습니다.

 

펌웨어를 올리고 터미널 프로그램으로 접속하면 [>] 쉘 프롬프트를 볼 수 있으며 자바 스크립트 명령어를 line by line으로 인식해서 처리하고 결과를 알려주는 동작 방식도 같습니다.

 

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

 

정리하면,

램사이즈및 flash사이즈의 hw제약이 있는 mcu에서도

자바스크립트로 코딩이 가능한 것이

espruino플랫폼만 있는 것은 아니긴 한데,

그중에서 가장 유명한 것으로 압니다.

 

그럼, 

이 환경이 지원하는 하드웨어 개발 board 종류는 아래와 같습니다.

Official Boards
Espruino Original STM32F104 72 2200 £21 Y 3 2 Y Micro SD, Optional Bluetooth Serial, Proto area
Espruino Pico STM32F401 84 5100 £17 Y 3 2 Y
Espruino WiFi STM32F411 100 7100 £25 Y 3 2 N WiFi
Espruino Puck.js nRF52832 64 2200 £25 N 1 1 Y Bluetooth LE, Case with Button
Espruino Pixl.js nRF52832 64 2200 £30 N 1 1 Y Arduino Headers, Bluetooth LE, LCD Display
Espruino MDBT42Q Breakout nRF52832 64 2200 £17 N 1 1 N Bluetooth LE
Espruino MDBT42Q Module nRF52832 64 2200 £10 N 1 1 N Bluetooth LE, Bare Module
Third Party Boards
Ruuvitag nRF52832 64 2000 $28 N 1 1 Y Bluetooth LE, Environment sensors
Seeed Wio LTE STM32F405 168 5450 $25 Y 6 3 Y Micro SD, LTE
Nordic Thingy:52 nRF52832 64 2000 $40 N 1 1 Y Environment & 9 Axis sensors, Mic and Speaker
nRF52832DK DK nRF52832 64 2000 $40 N 1 1 Y Arduino Headers
STM32L496GDISCOVERY STM32L496AGI6 168 19200 $70 Y 3 4 N Arduino Headers, Micro SD, Optional LTE/GSM modules
iTracker RAK8211 nRF52832 64 2000 $82 N 1 1 Y GPS, GPRS, LTE or NB-IoT
iTracker RAK8212 nRF52832 64 2000 $88 N 1 1 Y GPS, GPRS, LTE, NB-IoT
Other Boards
STM32VLDISCOVERY STM32F100 24 250 €12 N 3 2 N
STM32F3DISCOVERY STM32F303 72 2800 €14 Y 3 2 N
STM32F4DISCOVERY STM32F407 168 5000 €16 Y 6 3 N
ST NUCLEO-F401RE STM32F401 84 5300 €12 N 3 4 N Arduino Headers
ST NUCLEO-F411RE STM32F411 84 5300 €12 N 3 4 N Arduino Headers
OLIMEXINO-STM32 STM32F103RB 72 700 €20 Y 3 2 LiPo Arduino Headers, Micro SD
LeafLabs Maple RBT6 STM32F103RB 72 700 €40 Y 3 2 LiPo Arduino Headers
'HY' 2.4" LCD STM32F103VE 72 2800 €30 Y 3 2 N SD Card, LCD Display
'HY' 2.8" LCD STM32F103RB 72 700 €30 Y 3 2 N SD Card (unsupported),LCD Display
'HY' 3.2" LCD STM32F103VC 72 2000 €30 Y 3 2 N SD Card, LCD Display
micro:bit nRF51822 16 200 - Y 1 1 Y Bluetooth LE, LED matrix
ESP8266 Xtensa 80 1023 €10 N 1 1 N WiFi
ESP32 Xtensa 240 5000 $10 N 2 2 N Flash FS, WiFi

Key: Y=Yes, N=No (출처: www.espruino.com/Other+Boards)

 

그리고 espruino 관련 링크들은 아래와 같습니다.

1. esp8266보드 기반의 강좌

   => www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=tech_comm&wr_id=159

   : 이 링크에 맨아래 나오는 참고 링크는 정말 도움이 됩니다.

 

2. espruino pico 라는 공식 보드기반 강좌

   => m.blog.naver.com/PostView.nhn?blogId=icbanq&logNo=220906248055&proxyReferer=https:%2F%2Fwww.google.com%2F

   : 가볍게 espruino가 어떤 것이 읽기 좋습니다.

 

3. espruino 의 간단 설명글

  => ko.vvikipedla.com/wiki/Espruino

  : 대략적인 개념을 알기 쉽고 공식 보드들이 무엇이 있는지 소개하고 있습니다.

 

 

이상 링크들이 현재 한국어로 검색되는 링크들인 것 같습니다.

물론,

   공식 페이지가 방대하지만 개발 시 문제점을 확인할 때 (영어이긴 하지만) 가장 좋습니다. 

- 공식페이지: => www.espruino.com/

 

개발에 중요한 API들은 하기 링크와같습니다.

- SW API: => www.espruino.com/Reference#software

  부언하면, bluetooth 관련 API들도 포함되어 있습니다.

 

쉽게 접근하기 좋은 튜토리얼은 하기와 같은 링크에~

- Tutorial&Example: => www.espruino.com/Tutorials

 

마지막으로 개발에 필요한 내부,외부 라이브러리를 espruino에서는 Module이라고 부릅니다.

이  Module관련 정보는하기 링크에 나옵니다.

- Modules: => www.espruino.com/Modules

 

그럼,

   이상 정보 공유합니다. 참고로 이 게시물은 계속 업데이트 할 예정입니다.

 

(추가)

ESP8266, ESP-12E 타입의 NodeMCU V2의 개발보드에서

espruino 부트로더를 flash하고, WebIDE로 동작시켜 보았다.

 

코드는 간단히 wifi ap에 접속하고 그에 따라 led를 동작시키는 코드인데

간단히 하기 스크린샷을 올려봅니다.

 

 

그럼,

   정보 공유합니다.