6
2

More than 3 years have passed since last update.

ラズパイ4BでFlutterアプリを起動する!

Posted at

はじめに

ラズパイでFlutter使いたい人がどれくらいいるかわかりませんが(もしかして私だけ・・) UI付きのIOTがもしかして簡単に出来るのでは・・ということでやってみました。

使用したもの
・Raspberry Pi 4B メモリ4G
・キーボード・マウス
・M1 MacbookAir(OSインストール用)

目次

  1. ラズパイにOSをインストール
  2. GPIOを認識させる
  3. Flutterをインストール
  4. アプリを起動
  5. 参考文献

ラズパイにOSをインストール

まずはラズパイにOSをインストールします。
Flutterは今のところ64bit linuxにしか対応していないので32bit RaspberryPiOSでは起動できませんでした。ubuntu20.10ではFlutterの起動ができましたがwiringpiが上手く動かなかったため(動かせる人いたら教えて下さい・・)今回は64bitRaspberryPiOSを使用しました。

下記記事を参考にRaspberry Pi imagerでmicroSDカードにOSを保存します。
https://note.com/ryoma_0923/n/nb7c26336a057
スクリーンショット 2021-03-25 18.53.22.png
OSのバージョンは添付の画像をご覧ください。
保存できたら、ラズパイに挿して起動して設定を済ませて、インターネット接続します。

GPIOを認識させる

最終目標はFlutterでGPIO制御なのでGPIO設定をします。
Flutter起動だけしたい方は飛ばして下さい。
ターミナルを開いて下記を入力します。

root権限を持ちます。

$ sudo su -

gpio制御用のライブラリを入れます。

$ wget http://project-downloads.drogon.net/wiringpi-latest.deb
$ sudo dpkg -i wiringpi-latest.deb

これでgpio接続が出来るようになっているはずです。下記コマンドでgpio一覧を確認してみましょう。

$ gpio readall

Flutterをインストール

いよいよFlutterをインストールします。公式の通りに進めていけば大丈夫です。
https://flutter.dev/desktop
https://snapcraft.io/install/flutter/raspbian

まず、snapdを使用できる様にします。

$ sudo apt update
$ sudo apt install snapd
$ sudo reboot

flutterをインストールします。

$ sudo snap install flutter --classic

下記も一緒にインストールします。

$ sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev

FlutterでLinuxDesktopアプリが使える状態にします。

$ flutter config --enable-linux-desktop

アプリを起動

後はFlutterアプリを起動するだけ・・

Flutterアプリを作成し、ディレクトリを移動します

$ flutter create myapp
$ cd myapp

Flutterアプリを起動します。

flutter run -d linux

・・・がしかし、コンテキストが生成できないエラーが発生しストップ。
これが、ラズパイの限界か・・
試しにビルドして実行してみる。

$ flutter build linux

ビルドされたアプリはここにある。

/home/pi/myapp/build/linux/arm64/release/bundle

これを実行すると・・

IMG_0779.jpg
行けたーーー!
お馴染みのカウントアップアプリが起動できました。

でも、デバックの度にビルドしたくないなぁ・・
何か良い方法をお持ちの方は是非是非コメント頂けると嬉しいです。

次回はFlutterでLチカに挑戦したいと思います。

参考文献

6
2
3

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
2