💬

Development of panel for raspi

2022/10/22に公開

raspberry pi picoを使ったパネル開発を始めたので,備忘録を残す.
もし間違っている表記等があれば,ぜひ教えてください.すぐに修正します.

history

date contents
2022/10/22 setting raspi pico and prepare the environment to develop

setting raspi pico and prepare the environment to develop

突然パネル開発がしたくなったので,簡単に手を出せるraspi picoとお店でなんとなく見つけたwave share社の"1.3inch LCD Display Module For Raspberry Pi Pico, 65K RGB Colors, 240 × 240 Pixels, SPI Interface."を買ってきました.
サイトリンク

ただ,完全な素人なので,raspi picoの設定からになります.

setting

document(raspiの公式サイトより)
今回使用するraspi picoはraspiと異なり,自分でOSを持って色々やるというものではなく,PCと接続してプログラムを書き込んであげるとそれを実行するという感じです.Arduinoに近いですね.そのため,第一段階としてどのようにしてraspi picoにプログラムを書くかについて見ていきます.以下にraspi開発元のリンクを添付します.
micro pythonの使い方

内容は英語なので,頑張って読んでくださいという感じなのですが,要約すると

  1. MicroPython用のUF2ファイルをダウンロードしてきます.(サイト内のgif画像の下あたりにRaspberry Pi Picoというリンクがあるのでそこをクリックしたらファイルを取得できます.)
  2. raspi pico基板のBOOTSELというボタンを押しながらPCと接続します.
  3. PC側でマウントできたらraspi picoのディレクトリの中に先ほどダウンロードしたUF2ファイルをコピーします.この時,自動で再起動されるので,一瞬消えたように見えます.(再起動することをよく見てなくて焦りました.)
  4. Thonny(エディタ)を起動して,設定 → インタプリタ → 以下の画像と同じように設定する.

これで書き込む準備ができました.

prepare the environment to develop

次に,ビルド環境を作っていきます.settingのところでも紹介しましたが,raspi picoではプログラムを書き込んであげる必要があります.ここで問題となるのがコンパイラ(?)の違いです.例としてC言語で書かれたプログラムをWindowsでビルドした結果(実行ファイル)をMacで実行するとCPUの違い(?)からエラーが出ます.そのためraspi picoで動く実行ファイルを作るためのコンパイラのインストールが必要となります.(ここら辺はいまいち調べてないので(?)が多いです.有識者の指摘お待ちしてます.)
そういうことで,クロスコンパイラ環境を作っていきます.

Mac用

参考サイト
Macの場合,Homebrewをインストールしていれば比較的簡単にセットアップができます.実施的に実行するコマンドとしては下記の4番目なのですが,homebrewの更新等をやる関係で4つ実行しています.これにより"arm-none-eabi-gcc"というツールチェイン(arm cpuの実行ファイルを作る道具箱)が手に入りました.

$ brew update
$ brew upgrade
$ brew tap ArmMbed/homebrew-formulae
$ brew install arm-none-eabi-gcc

Windows用

参考サイト
まだ試してませんが,おそらくできます.

build sample code

参考サイト
ようやくパネルに画像を出力する時が来ました.といっても何からすればいいのかわからなかったので公式サイトからサンプルファイルを持ってきてそれをビルド,raspi picoに書き込むことで書き方等を見ていくことにします.

サンプルファイルは下記のコマンドを実行することで取得できます.しかし,windows等でwget使えないという場合は,wget以降のurlをブラウザに直で打てばダウンロードできます.圧縮方式は7zipを使っており,windowsの場合は7-zipというアプリを入れる必要があります.
次にビルドするための作業ディレクトリを作ります.既に作られているかもしれませんが,その時はそのままディレクトリを移動してください.そこでPICO_SDK_PATHの指定後,buildディレクトリ下でcmakeしましょう.
おそらく失敗しますが...

sudo apt-get install p7zip-full
cd ~
sudo wget https://www.waveshare.com/w/upload/2/28/Pico_code.7z
7z x Pico_code.7z -o./Pico_code
cd Pico_code/c/
mkdir build # if there is no directory named build
cd build
export PICO_SDK_PATH=../../pico-sdk # setting the path of support tool
cmake ..

おそらく失敗した原因としてはpico-sdkが存在しないということだと思います.そこでgithubから持ってきましょう.以下にurlと実行するコマンドを記載しておきます.
Github for pico-sdk

cd ../../
git clone https://github.com/raspberrypi/pico-sdk.git

これで再度実行して見ましょうcmakeの役割は,makefileの生成なので実際に生成されていることを確認したのちmake -j9でuf2ファイルを作りましょう.

cd c/build
cmake ..
make -j9

これで成功したらmain.uf2というファイルができています.
このまま書き込んでもいいのですが,cディレクトリ直下のmake.cの中を確認してLCD_1in3_test()だけコメントアウトを外しましょう.もし変更したのであれば再度makeしましょう.

Discussion