12
4

More than 3 years have passed since last update.

Why Nerves|>Nervesを使う理由探し

Last updated at Posted at 2019-12-19

はじめに

この記事は、#NervesJP Advent Calendar 2019 の20日目です。

昨日は @Shintaro_Hosoai さんのAtomVMでM5Stack向けのデバドラを書いてみるでした。

Elixir Advent Calendar 2019の記事はこちら
・Elixir Circuitsを使用してLEDを操作する

お役立ちリンク

Nervesとは

#NervesJP Advent Calendar 2019より
「Nerves」は,関数型言語ElixirによるIoT開発フレームワークです。
RaspberryPiなどのIoTボード上で動作する最小構成のLinuxブートローダ+Elixir実行環境+各種デバドラのパッケージセットで,Elixir × IoTの文脈で最も活発なプロジェクトです。

を意訳すると

Nervesでなにができるの?

イミュータブルな環境の構築
環境のコード化
  • NervesはBuildrootをベースに各ハードウェア用のtoolchain(コンパイラやドライバ)を組み込んだArtifactを元にベースのイメージが作成されます。しかもこれがmix nerves.new hogeでサクッと作れる。
  • mix.exsへの追記やネットワーク、環境の変更、アプリケーションの変更は全てコードに記述します。 
ネットワークデプロイの機能
  • Nervesはネットワーク経由のデプロイが可能です。
  • NervesHubを使用しホストからNervesHubにpushしたソースを、ネットワーク経由でグループ単位にデプロイすることが可能です。
  • ハードウェアでの認証鍵(NervesKey)など、セキュアな環境が構築できます。

運用を想定したモダンなIoT開発ができるフレームワーク それが 「Nerves」です。

どうですか、そろそろNervesをやりたくなったでしょ?:kissing_closed_eyes: |>Nervesを導入するには

@nishiuchikazuma さんの記事でElixirの環境構築
ElixirでラズパイのLEDをチカ〜RaspbianOSインストールから〜

@takasehideki さんの記事でNervesの環境構築
ElixirでIoT#4.1:Nerves開発環境の準備(2019年12月版)

合わせて以下を参考にするととりあえずできます。
getting-started
elixir schoolのNervesのページ

まとめ結局Nervesってどうよ

Elixirの可能性+IoT開発にモダンな開発手法を取り入れるのにとても良いフレームワークです。
ただし、新しいハードへの展開、artifactを自分で作るにはハードルがありそうです。
いまからやっておくと幸せかも。

明日の#NervesJP Advent Calendar 2019 21日目の記事は、 @myasu さんのElixir Circuits I2CでLチカです。こちらもお楽しみに!

12
4
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
12
4