« PlatformIOをRaspberryPi4で動かしてみる(実験) | トップページ | headless_RaspberryPiにBluetooth機器を接続する »

2020年10月20日 (火)

RaspberryPiにTinyGOをインストールする

2020/10/20+:
初版

TinyGO Install on RaspberryPi

TinyGO Install on RaspberryPi

概要

RaspberryPiにTinyGOをインストールする。

ターゲットは以下とする:
Seeeduino XIAO

準備

以下のツールを予めインストールする:
(0)udev設定
以下を実行する:

curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/master/scripts/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules sudo udevadm control --reload-rules sudo usermod -a -G dialout $USER sudo usermod -a -G plugdev $USER

(1)TinyGOのインストール
以下の手順でインストールする:

cd ~/Downloads wget https://github.com/tinygo-org/tinygo/releases/download/v0.15.0/tinygo_0.15.0_arm.deb sudo dpkg -i tinygo_0.15.0_arm.deb export PATH=$PATH:/usr/local/tinygo/bin # xiaoには不要だが、ターゲットがarduinoのときに # 必要となるツールをついでにインストールする sudo apt-get install gcc-avr sudo apt-get install avr-libc sudo apt-get install avrdude

(2)GOのインストール
TinyGOのモジュールを使用するのにGOが必要なので 予めインストールする。
(ただし、TinyGOとの整合性により最新版ではない)

cd ~/Downloads wget https://golang.org/dl/go1.13.7.linux-armv6l.tar.gz -O go.tar.gz sudo tar -C /usr/local -xzf go.tar.gz mkdir $HOME/go export GOPATH=$HOME/go export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin

なお、GOPATHのパス設定値は、任意だが、それをベースに その配下にTinyGO/GOの関係ファイル/ディレクトリが置かれる。
ここでは、「$HOME/go」に設定している。

以上のexportは、.bashrcに登録する。

(3)ESP32関係ツールのインストール
(ターゲットとしてESP32を使用しないときはインストール不要)

# esp-idfツールのインストール mkdir -p ~/esp cd ~/esp git clone --recursive https://github.com/espressif/esp-idf.git cd ~/esp/esp-idf ./install.sh . $HOME/esp/esp-idf/export.sh alias get_idf='. $HOME/esp/esp-idf/export.sh' # esptool(書き込みツール)のインストール pip install esptool

rpiZeroの場合、以下のようなエラーが出るので インストールできない。
(rpi4はインストールできる)

$ ./install.sh Installing ESP-IDF tools ERROR: Platform Linux-armv6l appears to be unsupported

(4)export登録(まとめ)
以下を.bashrcに追加する:

# tinygo/go export GOPATH=$HOME/go export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin export PATH=$PATH:/usr/local/tinygo/bin export TIGOLIBS=$GOPATH/src/tinygo.org/x/drivers/ # for esp-idf alias get_idf='. $HOME/esp/esp-idf/export.sh'

バージョンの確認
以下のバージョンがインストールされる:

$ tinygo version tinygo version 0.15.0 linux/arm (using go version go1.13.7 and LLVM version 10.0.1) $ go version go version go1.13.7 linux/arm

ここまでで、RaspberryPiにtinygo/goがインストールできたので これ以降の実際の使い方は以下を参照のこと:

XIAOボードでTinyGOを動かす(v2)
ESP32ボードでTinyGOを動かす(v2)

参考情報

https://github.com/tinygo-org/tinygo
https://tinygo.org/
https://tinygo.org/getting-started/linux/

Seeeduino XIAO用Grove シールド バッテリー管理チップ 搭載

ESP32 and ESP8266 support in TinyGo

コンピュータボードでTinyGOを動かす
docker/TinyGO Helper Script
TinyGOでLightSensorを動かす

TinyGoで始める組み込みプログラミング
TinyGo on Arduino Uno: An Introduction

Circuit Playground Express
Adafruit Circuit Playground Express - Overview
Infrared Receive and Transmit with Circuit Playground Express

Adafruit Circuit Playground Express - PINOUT
Adafruit Circuit Playground Express Pin Assign

NUCLEO-F103RB mbed pinout
NUCLEO-F103RB Pin Assign
STM32F4DISCO Pin Assign
MICROBIT Pin Assign
ARDUINO-NANO Pin Assign
ARDUINO Pin Assign

TinyGo Drivers

USB Flashing Format (UF2)

XIAO Schematic(zip)
How to use Seeeduino XIAO to log in to your Raspberry PI

以上

|

« PlatformIOをRaspberryPi4で動かしてみる(実験) | トップページ | headless_RaspberryPiにBluetooth機器を接続する »

RaspberryPi」カテゴリの記事

TinyGO」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« PlatformIOをRaspberryPi4で動かしてみる(実験) | トップページ | headless_RaspberryPiにBluetooth機器を接続する »