はじめに
M5Stackのcore MP135でNervesを使えるようにしました。
Nerves Livebook(始めての方)
SDカードに書き込んで使えるNerves Livebookのイメージを公開しています。
nerves_livebook_core_mp135.zip
をSDカードに書き込んで起動します。
LAN接続しているPCから
https://nerves.local
を開きます。
パスワードは nerves です。
これで、Livebookが使えます。
circit.i2cなどもインストール済みなので、Livebookでそのまま遊べます。
補足
fwupをPCにインストールして、nerves_livebook_core_mp135.fw
を使って書き込んだ方が、SDカードのサイズに合わせてパーティションが作られ、書き込み時間が10秒くらいと爆速なので、実はお勧めです。
Windowsの場合、fwupは管理者権限のコマンドプロンプトから実行してください。権限がないと、SDカードが無いと言われます。
Livebookのカスタマイズ
Nerves LivebookにはCircuits.GPIOなど使いそうなモジュールは導入されてますが、使いたいものを入れる場合は、ファームウエアを作る必要があります。
次の方法で可能です。Elixirのmixが動作する環境を用意して実行してください。
$ git clone https://github.com/masahiro-999/nerves_livebook
$ cd nerves_livebook
$ export MIX_TARGET=m5stack_core_mp135
(モジュールの追加などをします)
$ mix deps.get
$ mix firmware
$ mix burn
Nervesのプロジェクト作成(応用編)
基本的に、ラズパイ等でNervesを使う方法と同じ手順です。
mix.exsの修正と、MIX_TARGET=m5stack_core_mp135とするところが違いです。
$ mix nerves.new hello_nerves
$ cd hello_nerves
(mix.exsの修正2か所)
$ export MIX_TARGET=m5stack_core_mp135
$ mix deps.get
(機能追加などをします)
$ mix firmware
$ mix burn
mix.exsの修正箇所(
:osd32mp1,
:x86_64,
:grisp2,
- :mangopi_mq_pro
+ :mangopi_mq_pro,
+ :m5stack_core_mp135
]
def project do
@@ -71,7 +72,8 @@ defmodule HelloNerves.MixProject do
{:nerves_system_osd32mp1, "~> 0.15", runtime: false, targets: :osd32mp1},
{:nerves_system_x86_64, "~> 1.24", runtime: false, targets: :x86_64},
{:nerves_system_grisp2, "~> 0.8", runtime: false, targets: :grisp2},
- {:nerves_system_mangopi_mq_pro, "~> 0.6", runtime: false, targets: :mangopi_mq_pro}
+ {:nerves_system_mangopi_mq_pro, "~> 0.6", runtime: false, targets: :mangopi_mq_pro},
+ {:nerves_system_m5stack_core_mp135, "~> 0.0.7", runtime: false, targets: :m5stack_core_mp135}
]
end
SDカードを入れてcore MP135を起動すると、LCDにNervesのロゴが表示されます。
HDMIポートに接続したモニターと、USB接続のキーボードでコンソール操作可能です。
LAN接続していれば、ssh接続も可能です。このあたりは、ラズパイ等と同様です。
応援のお願い
M5Stack Core MP135は、発売からまだ1年も経っていないため、知名度は低いかもしれませんが、ケースが付属しているなど、ラズパイとは異なる特徴を持っています。IoTの入門用途としても新たな可能性を秘めているデバイスです。
現在、Core MP135用のLivebookは、本家のリポジトリをForkして運用していますが、利用者が増えることで、本家で公式にサポートされる製品になる可能性があると考えています。もしこのプロジェクトに共感いただける方は、ぜひGitHubで星をつけて応援してください。多くの支持が集まれば、本家でのサポート実現に一歩近づくと信じています。
参考
https://nerves-project.org/
https://github.com/nerves-livebook/nerves_livebook
https://qiita.com/torifukukaiou/items/91441a14dcf66472af39