MicroPython REPL 이것저것 on ESP32

  • REPL 접속(?)

micropython은 자체적으로 REPL을 제공한다. UART0를 통해 PC와 연결되며, 이를 사용하기 위해선 시리얼통신 프로그램(picom, putty 등)을 사용하거나, 터미널에서 screen 명령 등을 이용해서 이용 가능하다.

$ screen /dev/tty.SLAB_USBtoUART 115200

접속 종료는 ctrl+a, ctrl+\를 순서대로 누른다.

  • REPL에서 자동완성 기능 사용

import 후, 혹은 내장 펑션을 사용하는 경우에 tab 키를 이용한 자동완성 기능을 제공한다. 예를 들어 machine을 import 하고 machine.까지 입력 후 tab 키를 눌러보면,

>>> import machine
>>> 
>>> machine.
__class__       __name__        ADC             DAC
DEEPSLEEP       DEEPSLEEP_RESET                 EXT0_WAKE
EXT1_WAKE       HARD_RESET      I2C             PIN_WAKE
PWM             PWRON_RESET     Pin             RTC
SLEEP           SOFT_RESET      SPI             Signal
TIMER_WAKE      TOUCHPAD_WAKE   Timer           TouchPad
UART            ULP_WAKE        WDT             WDT_RESET
deepsleep       disable_irq     enable_irq      freq
idle            lightsleep      mem16           mem32
mem8            reset           reset_cause     sleep
time_pulse_us   unique_id       wake_reason
>>> machine.

와 같이 사용가능한 변수 명 함수명을 보여주고, 자동완성도 가능함.

  • 긴 코드 붙여넣기

REPL에서 예제 코드나 좀 긴 코드를 테스트해보고자 할 경우, 복사 붙이기 모드가 지원된다. 한줄씩 입력해야 하는 번거로움을 좀 덜 수 있다. >>> 에서 Ctrl+E키를 누르면,

>>> 
paste mode; Ctrl-C to cancel, Ctrl-D to finish
=== 

와 같이 보이고, 여기에 긴 코드를 입력하던지, 아니면 다른 곳에서 코드를 복사해서 붙인다. 입력이 완료되면, Ctrl+D를 눌러 모드를 종료하면 입력된 코드를 순차적으로 실행한다. 취소하려면 Ctrl+C.

  • PC에서 직접 실행하기

REPL모드가 아니고, PC에서 코드를 완성하고 보드에 옮기지 않고 바로 실행이 가능하다. ampy를 이용하면 되는데,

$ ampy -p /dev/tty.SLAB_USBtoUART run <your_code>.py

와 같이 실행하면 바로 실행 가능.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.