エリジョになってElixirでお天気情報を取得してみた


この記事は#NervesJP Advent Calendar 2019 17日目に参加しています。昨日は@kikuyutaさんの複数の Nerves マシンを通信させるでした!

今回はほとんどポエムですが、初心者がElixir,Nervesを触ってみて楽しんでいる様子をご報告できればと思います。

エリジョになりました

福岡で発足しました、Elixirコミュニティ エリジョ部に参加しています。
エリジョ部 connpassページ

私の住んでいる福岡にはElixirのコミュニティがたくさんあって、初心者でも学べる機会が多くあります。そのひとつがエリジョ部で、環境構築から(!)みんなでElixirをやっていきましょう、というコミュニティです。エリジョ部はオーガナイザーの @gkumi5638さんがご自身のプログラミングを始めたころの経験を踏まえて、同じようにこれからプログラミングを始めてみようという方、Elixirに興味を持っている方をフォローしていこう、ということから発足し、強いエンジニアの方々が優しく手を差し伸べてくれるという有難い場になっています。

私は大学で少しプログラミングは勉強しましたが黒い画面とお友達になれなかった部類の人間でして、最近FileMakerで自社の業務システムを作ったことでやっと自信とやる気が湧いてきて、またプログラミングやってみようかな〜と思っていました。そんな中、福岡 理学部がご縁で@piacerexさん、@gkumi5638さんに誘っていただきまして、エリジョ部に入団しました!
また、最近では気象の勉強もしていて、気象予報士試験を受験予定です⛅️

TORIFUKUさんのお天気ツイート

エリジョ部でお世話になっている@torifukukaiouさんがこんなTweetを毎日されていて、Elixirを使ってるということで、私も手元のパソコンで動かしてみました。

https://github.com/TORIFUKUKaiou/hello_nerves
▲TORIFUKUKaiouさんのライブラリ 
raspberry piを使ってtwitterで天気情報を流す、という内容です。

やってみた

環境:MacOs Elixir 1.9.1
(バージョン1.7ではうまくいかなかったと報告あがっています)

 mix archive.install hex nerves_bootstrap ####Nerves_bootstrapのアーカイブを追加
 git clone https://github.com/TORIFUKUKaiou/hello_nerves.git  ####ライブラリをclone
 cd hello_nerves ####cloneで作られたディレクトリへ
 mix deps.get  ####依存関係を解消(解決)する
 iex -S mix ####プログラムを実行

hello_nervesが動きました!お天気を聞いてみましょう!

iex(1)> Weather.Forecast.run ###このコマンドではランダムな地域のお天気を教えてくれます
"和歌山\n和歌山県は、高気圧に覆われておおむね晴れています。\n15日の和歌山県は、高気圧に覆われて晴れるでしょう。\n16日の和歌山県は、高気圧に覆われて晴れますが、気圧の谷や湿った空気の影響で南部では昼過ぎから、北部では夜には雲が広がる見込みです。\n"

福岡の天気を聞いてみます。

iex(2)> Weather.Forecast.run {"400010", "福岡"} ###引数の指定もできます
"福岡\n九州北部地方は、高気圧に覆われて概ね晴れとなっています。\n15日の九州北部地方は、高気圧に覆われて概ね晴れとなるでしょう。\n16日の九州北部地方は、高気圧に覆われて概ね晴れますが、気圧の谷や湿った空気の影響により次第に曇りとなり雨が降る所があるでしょう。\n"

動いてくれて、喜びのtweet

真似してみただけだけど…

TORIFUKU kaiouさんの作られたものを動かしただけなのですが、皆様に褒めていただいて、嬉しかったです(褒められて伸びる子です!)
手元で実際にElixir,Nervesを使って動かしてみると自分で作ってみるということのハードルも下がった気がします。
まずはおうちハックや気象に関することから、何か作ってみたいと思います🌦

#NervesJP Advent Calendar 2019、明日はinachiさんのElixir超初心者が Nerves で心拍数測定アプリを作ってみるです。こちらもお楽しみに