Micro Python その2 インタラクティブシェル編
目次
接続
MicroUSBでPCと接続すると、ストレージと仮想シリアルポートが認識されます。
Windowsの場合は、ストレージのみ自動認識されて(PYBFLASH)、仮想シリアルポートの方はドライバが求められます。Windows7以下のバージョンならば認識されたストレージの中のpybcdc.infをインストールしましょう。Windows8/8.1の場合はWindowsのスタートアップ設定から、「ドライバー署名の強制を無効にする」を行ってインストールする必要があります。
インタラクティブシェルで遊んでみる
Micro Pythonの機能であるインタラクティブシェルで遊んでみましょう。仮想シリアルポートを使ってPCからインタラクティブにpyboardを制御できます。
ここでは、仮想シリアルポートへの接続にpySerial付属のMinitermを使います。pySerialをインストールしていない場合はpip等でインストールできます。
オプション無しで起動するとポートを選べるので、pyboardのポートを指定します。
>python -m serial.tools.miniterm
--- Available ports:
--- COM3 Pyboard USB Comm Port (COM3)
Enter port name:
または、起動時に-p
オプションでポートを指定しましょう。
>python -m serial.tools.miniterm -p COM3
--- Miniterm on COM3: 9600,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
Micro Python v1.3.3 on 2014-10-02; PYBv1.0 with STM32F405RG
Type "help()" for more information.
>>>
無事起動出来ました。ヘルプを見てみましょう。
>>> help()
Welcome to Micro Python!
For online help please visit http://micropython.org/help/.
Quick overview of commands for the board:
pyb.info() -- print some general information
pyb.delay(n) -- wait for n milliseconds
pyb.millis() -- get number of milliseconds since hard reset
pyb.Switch() -- create a switch object
Switch methods: (), callback(f)
pyb.LED(n) -- create an LED object for LED n (n=1,2,3,4)
LED methods: on(), off(), toggle(), intensity(<n>)
pyb.Pin(pin) -- get a pin, eg pyb.Pin('X1')
pyb.Pin(pin, m, [p]) -- get a pin and configure it for IO mode m, pull mode p
Pin methods: init(..), value([v]), high(), low()
pyb.ExtInt(pin, m, p, callback) -- create an external interrupt object
pyb.ADC(pin) -- make an analog object from a pin
ADC methods: read(), read_timed(buf, freq)
pyb.DAC(port) -- make a DAC object
DAC methods: triangle(freq), write(n), write_timed(buf, freq)
pyb.RTC() -- make an RTC object; methods: datetime([val])
pyb.rng() -- get a 30-bit hardware random number
pyb.Servo(n) -- create Servo object for servo n (n=1,2,3,4)
Servo methods: calibration(..), angle([x, [t]]), speed([x, [t]])
pyb.Accel() -- create an Accelerometer object
Accelerometer methods: x(), y(), z(), tilt(), filtered_xyz()
Pins are numbered X1-X12, X17-X22, Y1-Y12, or by their MCU name
Pin IO modes are: pyb.Pin.IN, pyb.Pin.OUT_PP, pyb.Pin.OUT_OD
Pin pull modes are: pyb.Pin.PULL_NONE, pyb.Pin.PULL_UP, pyb.Pin.PULL_DOWN
Additional serial bus objects: pyb.I2C(n), pyb.SPI(n), pyb.UART(n)
Control commands:
CTRL-A -- on a blank line, enter raw REPL mode
CTRL-B -- on a blank line, enter normal REPL mode
CTRL-C -- interrupt a running program
CTRL-D -- on a blank line, do a soft reset of the board
For further help on a specific object, type help(obj)
>>>
試しにLEDを光らせてみましょう。
>>> pyb.LED(1).on()
>>>
赤色のLEDが点灯しました。
次回、LED以外の機能を使ってみます。