主人は無理をいうなるものと知れ
Advent Calendar 2022 7日目1の記事です。
私のAdvent Calendar 2022 一覧。
はじめに
Elixirを楽しんでいますか
今日は
が開催されます。
出し物を用意しておきます。
Building a Slack bot with a pure-Elixir HTTP server Bandit, Nerves firmware, and Raspberry Pi
Banditを使ってSlackアプリを作ります。
SlackアプリはNervesの上で動かします。
NervesはRaspberry Piの上で動かします。
Bandit is an HTTP server for Plug apps.
Nerves is the open-source platform and infrastructure you need to build, deploy, and securely manage your fleet of IoT devices at speed and scale.
Source code
これっす。
4つコマンドをつくりました。
コマンド | 働き |
---|---|
/hello | Hey there を返す |
/aht20-awesome | 私の家の温度、湿度を返す(湿度は値が変。物理的に壊れてしまっているっぽい) |
/light-awesome 1 | LED ON !!! |
/light-awesome 0 | LED OFF |
どうやって外から家の中にあるRaspberry Piにつなげているの?
ngrokです。
Spend more time programming. One command for an instant, secure URL to your localhost server through any NAT or firewall.
図にするとこんな感じです。
※ 各言語・フレームワークのロゴの権利はそれぞれの作成者に帰属しています
ngrokに払い出してもらったURLをSlackの設定画面に設定して、そこにスラッシュコマンドを送ってもらっています。
どこで試せるの?
2022/01/07だけかなあ。
いつまでもパソコンの電源いれたままだとかあちゃんに怒られるので。
NervesJPのSlackにある#notification-awesome
チャンネルです。
招待リンク
NervesJPでは、ElixirやNerves、IoTが好きな愉快なfolksたちがあなたの訪れを待っています。
I hope someday you'll join us.
We Are The Alchemists, my friends!
コマンド | 働き |
---|---|
/hello | Hey there を返す |
/aht20-awesome | 私の家の温度、湿度を返す(湿度は値が変。物理的に壊れてしまっているっぽい) |
/light-awesome 1 | LED ON !!! |
/light-awesome 0 | LED OFF |
Wrapping up
Enjoy Nerves
$\huge{All\ your\ codebase\ are\ belong\ to\ us.}$
2022年に流行る技術予想 ーー それは、NervesとZigです