LoginSignup
6
5

More than 1 year has passed since last update.

UbuntuのVSCodeにRaspberry Pi Picoの開発環境を構築する(MicroPython編)

Last updated at Posted at 2021-02-04

使用した環境

  • OS:Ubuntu 20.04.2 LTS
  • Visual Studio Code 1.52.1

2021/02/05 追記1

公式サイトからMicroPython用のファームウェアがダウンロードできるようなのでそちらからダウンロードして書き込むことも可能です。
その場合、Pico SDK、Picotool、MicroPythonのビルドは不要になるので次の手順はこちらになります。

2021/02/05 追記2

2021/02/05現在、Visual Studio Codeのバージョンが最新の1.53場合はPymakrが正常に動作しないようです。1.53を使っている場合はここから1.52をインストールすることで解決するようです。

Pico SDKのダウンロード

sudo apt install git

cd ~/ && mkdir pico && cd pico
git clone -b master https://github.com/raspberrypi/pico-sdk.git

cd pico-sdk
git submodule update --init

cd ..
git clone -b master https://github.com/raspberrypi/pico-examples.git

Picotoolのビルド

sudo apt install libusb-1.0-0-dev

cd ~/pico
git clone -b master https://github.com/raspberrypi/picotool.git

cd picotool && mkdir build && cd build
export PICO_SDK_PATH=~/pico/pico-sdk
cmake ../
make
sudo cp picotool /usr/local/bin/

PATHを通す

.bashrcに以下を追記

.bashrc
export PICO_SDK_PATH=$HOME/pico/pico-sdk
export PICO_EXAMPLES_PATH=$HOME/pico/pico-examples
export PICO_EXTRAS_PATH=$HOME/pico/pico-extras
export PICO_PLAYGROUND_PATH=$HOME/pico/pico-playground
export PICO_SDK_PATH=$HOME/pico/pico-sdk
export PICO_EXAMPLES_PATH=$HOME/pico/pico-examples
export PICO_EXTRAS_PATH=$HOME/pico/pico-extras
export PICO_PLAYGROUND_PATH=$HOME/pico/pico-playground

MicroPythonのビルド

sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential

cd ~/
git clone -b master https://github.com/micropython/micropython.git

cd micropython
git submodule update --init -- lib/pico-sdk

cd lib/pico-sdk
git submodule update --init

cd ../..
make -C mpy-cross

cd ports/rp2
make

MicroPythonの書き込み

cd ~/micropython/ports/rp2/build
sudo picotool load firmware.uf2

/dev/ttyACM0のパーミッションの変更

sudo vim /lib/udev/rules.d/50-udev-default.rules

以下のように変更

50-udev-default.rules
(変更前)
KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"

(変更後)
KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout", MODE="0666"

変更を反映させる

sudo udevadm control --reload-rules

Pymakrのインストール

NodeJSのインストール

sudo apt install nodejs

Pymakrのインストール

Pymakrの設定

pymakr.jsonを開き以下のように変更

pymakr.json
{
    "address": "/dev/ttyACM0",
    "username": "",
    "password": "",
    "sync_folder": "",
    "open_on_start": false,
    "safe_boot_on_upload": false,
    "py_ignore": [
        "pymakr.conf",
        ".vscode",
        ".gitignore",
        ".git",
        "project.pymakr",
        "env",
        "venv"
    ],
    "fast_upload": false,
    "sync_file_types": "py,txt,log,json,xml,html,js,css,mpy",
    "ctrl_c_on_connect": false,
    "sync_all_file_types": false,
    "auto_connect": false,
    "autoconnect_comport_manufacturers": [
        "Pycom",
        "Pycom Ltd.",
        "FTDI",
        "Microsoft",
        "Microchip Technology, Inc."
    ]
}

実際に書き込んでみる

以下のようなPythonファイルをVSCode上で作成し

main.py
from machine import Pin, Timer

led = Pin(25, Pin.OUT)
tim = Timer()


def tick(timer):
    global led
    led.toggle()


tim.init(freq=2.5, mode=Timer.PERIODIC, callback=tick)

VSCodeのウィンドウの下の方にあるUploadというボタンからアップロードする

LEDが点滅すれば成功です

参考

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5