この記事はRaspberry Pi Advent Calendar 2020 11日目です。
あいていたので書きます
はじめに
- Elixirというプログラミング言語があってですね、
- そのElixirを使って、モダンにIoT開発ができるNervesというものがあるのですよ
- Seeed UG Advent Calendar 2020で、ですね、こんな記事を書きました
-
$\huge{Nervesならできるもん!}$
- っていうんなら、じゃあ、やってみせなさいよ
- $\huge{本当にできんのか!}$
- ということでやっていきたいとおもいます
- で、最近Nervesでやってみせたは以下の記事があります
- GPIOをopenして
1
を書きこんだり、0
or1
を読み取るということはこれまでやったことがあります - 同じことばかりやっていても私の進歩がないので、私が使ったことの無い部品を使ってみようとおもうわけです
完成イメージ
使用したもの
- Raspberry Pi 4
- Grove Pi+
- Grove - Temp&Humi Sensor
- Grove - LCD RGB Backlight
Elixir
Elixir (エリクサー) は並行処理の機能や関数型といった特徴を持つ、Erlangの仮想マシン (BEAM) 上で動作するコンピュータプログラミング言語である。ElixirはErlangで実装されているため、分散システム、耐障害性、ソフトリアルタイムシステム等の機能を使用することができるが、拡張機能として、マクロを使ったメタプログラミング、そしてポリモーフィズムなどのプログラミング・パラダイムもプロトコルを介して実装されている。1
Nerves
-
ElixirのIoTでナウでヤングなcoolなすごいヤツです🚀
- このツイートがオリジンだとおもっています
- Nervesの[Justin Schneck]氏が しています
- 一躍有名にしたのはもちロン @takasehideki 先生
I2C というものを私は使ったことがありません
- そういえば
I2C
って、最近記事をみたよなあ〜 -
@mnishiguchi さんは、ソースコードhttps://github.com/mnishiguchi/lcd_display を公開されているし、これみれば楽勝でしょう!
- というかる〜い気持ちでのぞきに行きました
-
$\huge{ムム、これ思っていたよりたいへんかも}$
- なめていました。。。
- [Elixir/Nerves] LCDにHello!で@mnishiguchiさんが紹介されているリンクを見たり読んだりして出直してきます
- ということで、Nervesはなんでもできるけど、$\huge{私にはできることとできないことがあり、}$
- $\huge{そしていまの自分では見えていないだけで圧倒的にできないことのほうが多い}$
- ということに気づきまして、謙虚な気持ちになれ、まだまだ精進を重ねていきたいとおもいます
- と、決意を述べたところで、
- ここでやめると、いくらアドベントカレンダーだからって言って、Qiitaにあげる必要あったの? ってなるので基本に忠実にRaspberry Pi OSでの動かし方を以下書きます
まずはRaspberry Pi OS を焼きます
- Raspberry Pi Imagerを使いました
- こんがり焼き上がった
- 私はマイクロHDMIなるものをもっていないのでRaspberry Pi OSの画面を出せません!
-
ディスプレイなしでRaspberry Pi4にSSH接続する方法
- ありがとうございます!
- なるほど
ssh
という空のファイルをおいておくわけですね - この方法でssh接続できるようにします
microSDカードをRaspberry Pi 4に挿して電源ON、LANケーブルでネットワークに接続
- 1分ほど瞑想をして
$ ssh pi@raspberrypi.local
- イケた
-
パスワードはデフォルトのアレです
raspberry
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ curl -kL dexterindustries.com/update_grovepi | bash
pi@raspberrypi:~ $ sudo reboot
-
ここの
sudo reboot
は不要かも?
pi@raspberrypi:~ $ git clone https://github.com/DexterInd/GrovePi.git
pi@raspberrypi:~ $ cd GrovePi/Software/Python
pi@raspberrypi:~/GrovePi/Software/Python $ sudo python3 setup.py install
pi@raspberrypi:~/GrovePi/Software/Python $ sudo reboot
pi@raspberrypi:~ $ cd GrovePi/Projects/Home_Weather_Display
pi@raspberrypi:~/GrovePi/Projects/Home_Weather_Display $ sudo python3 Home_Weather_Display.py
Yay!!!
は色鉛筆で描きました
$\huge{ウソです}$
真っ赤なウソです
Wrapping Up
- Seeed株式会社さんの部品をつかえば、不器用ですからと電子工作に尻込みしている私でもはめ込み式なので簡単に工作ができます
- Nervesはなんでもできるけど、$\huge{私にはできることとできないことがあり、}$
-
$\huge{そしていまの自分では見えていないだけで圧倒的にできないことのほうが多い}$
- 未来永劫できないと言っているわけではありません
- 続ければできるようになるのです
- Enjoy Elixir !!!
- ということで、Nervesが気になったかたはどうぞこちらへ
- Elixirというプログラミング言語でIoTできるナウでヤングなcoolなすごいヤツです🚀
- NervesJP Slackへの招待リンク
- 愉快なfolksがあなたの訪れを大歓迎です