LoginSignup
10
6

More than 1 year has passed since last update.

SORACOM x Nerves できたとはいえるとぼくおもいます

Last updated at Posted at 2021-06-12

【続】SORACOM x Nerves できたとはいえるとぼくおもいます
をぜひご参照ください。

はじめに

Nervesとは:interrobang:

はじめに、おことわり

  • この記事でやっていることはあなたが望んでいることとは違うのかもしれません
    • うん、違うとおもいます
    • 私自身が本当にやりたかったこととは違うので...
    • 後半、試してみたこと、これからやってみたいことをまとめます
  • わかってはいますが、現時点で私ではできなかったポイントをまとめておきます
    • 自分で解決したい気持ちもありつつ、どなたかから助言なりがないと詰まってしまっておりまして、もっと言うとこの中途半端な状態のままですが、あとを引き取ってくださることを期待して記事にしました

できたこと

IMG_20210612_132129.jpg

SIMの購入

APN設定

Nervesアプリの作成

  • この記事では割愛します :pray::pray_tone1::pray_tone2::pray_tone3::pray_tone4::pray_tone5:
  • いくつかリンクを示しておきます

公式

環境構築

Nervesアプリの開発の流れがよくわかる記事

WiFi設定

Nerves とつないでみる

Raspberry Pi 2

  • 令和3年なのに、Raspberry Pi 2です
    • 我が家では現役バリバリです
  • WiFiはついていないので、WN-G150Uをさしてつかいます
  • 特に特殊なことは不要で、認識してくれます
  • HUAWEI Mobile WiFi E5785は、2GHzを使いました

Raspberry Pi 4

  • WiFiは搭載されています
  • HUAWEI Mobile WiFi E5785は、5GHzを使いました
    • もしかしたらもう少し待っておけば、2GHzでもつながったのかもしれません
      • 素のRaspberry Pi OSではつながっていたので
    • なかなかつながらなかった(1分くらいは待って待ちきれなくなった)ので、5GHzに変えてみたところすんなりつながりました

Run

  • Nervesにsshして以下を実行しました
iex> ifconfig

# wlan0 がそれっぽくあること
iex> ping "nerves-project.org"
Press enter to stop
Response from nerves-project.org (185.199.110.153): time=3725.777ms
Response from nerves-project.org (185.199.110.153): time=2533.257ms
Response from nerves-project.org (185.199.110.153): time=740.385ms
Response from nerves-project.org (185.199.110.153): time=166.326ms
Response from nerves-project.org (185.199.110.153): time=175.369ms

iex> url = "http://beam.soracom.io:8888"

iex> headers = [{"Content-Type", "application/json"}]

iex> time = Timex.now() |> Timex.to_unix()

iex> json = Jason.encode!(%{value: %{temperature: 100, humidity: 100, time: time}})

iex> HTTPoison.post(url, json, headers)

Azure仮想マシン に自作したPhoenixアプリ

スクリーンショット 2021-06-12 12.47.35.png

本当にやりたいこと…… (ある意味ここからが本題)

  • L-02C等をRaspberry Piにさしてデータ通信する
  • これが本当に私がやりたいことです
    • NervesJPの愉快なfolksが期待していることだとおもいます

wvdial

Customizing Your Own Nerves System

  • では道は閉ざされているのかというとそんなことはなくて、リンク先の通りにカスタマイズしてやればいいわけです
  • カスタマイズ内容は、https://github.com/nerves-networking/vintage_net_mobile のREADMEの通りにやると、ponコマンドが追加されたりします
  • ponは使えるようになったので、素のRaspbian OS上でうごいた設定ファイルなどを配置して以下を実施してみました
  • うんともすんともいわず、セルラー通信がはじまりそうな気配はありません
    • 文字通り、エラーもなにもでないので詰まっています
iex> :os.cmd 'mknod /dev/ppp c 108 0'
[]

iex> :os.cmd 'pon soracom'
[]

nerves-networking/vintage_net_mobile

  • Nerves的にはあとは、これを利用してデータ通信端末ごとにモデムを作ればいいらしいのですが、私の現時点の力量では作れませんでした
    • なんとなく作ってみたのですがうんともすんともいわず、詰まっている状態です
  • あと、もしかしたら日本と海外では事情が若干違うところがあるのではないかとおもっています
    • それは、ユーザー名やパスワードの話が一切vintage_net_mobileでてきていないことです
      • ユーザー名やパスワードが指定できていないから弾かれているといったところの段階までまだ到達はしていないとおもっていますが、のちのちぶつかりそうなポイントです
    • もちろん、私がちゃんと読めていない可能性はあります

wvdial

  • もう一度これに戻ります
  • wvdialであれば、ユーザー名・パスワードを設定ファイルに指定できるし、https://soracom-files.s3.amazonaws.com/setup_air.sh でも使われているので一番近道な気がします
  • 次は、wvdialコマンドが使えるようにして試してみたいとおもっています
  • おもっています
  • ただ、いまの私では詰まってしまっています
  • 不確かな情報で申し訳ありませんが、以前(2010年代前半)はBuildrootにwvdialがあったようですがいまはなくなっているようです
  • https://hexdocs.pm/nerves/customizing-systems.html#adding-a-custom-buildroot-package をベースに応用問題をやればいいのでしょうが、いまの私には追加方法がわかりませんでした
  • buildroot wvdialとかで検索すると、https://github.com/Metrological/buildroot/blob/master/package/wvdial/wvdial.mk などそれっぽいものが見つかります
    • 仮にこういったものがコピペで大部分が使えるものだとしても、
    • このファイルの中に書いてあるhttp://wvdial.googlecode.com/filesにアクセスしても404です
  • apt-get install wvdialにて、素のRaspbian OSにインストールはできるのできっとなにか方法はあるのだとおもっています
  • wvdialをよく読んで中でやっていることを再現してしまうという方法もあるとはおもいます

Wrapping Up :lgtm::lgtm::lgtm::lgtm::lgtm:

  • NervesJPの愉快なfolksが期待していることとは違うとおもいますし、それはできるよね〜 感がいっぱいだとおもいます
  • 引き続き本当にやりたいことを目指して精進をつづけるつもりです(つもりです)
  • もし、こんなふうにやればいんじゃないのというアドバイス、もしくはもうできたぜ! という方はぜひぜひお知らせください :pray::pray_tone1::pray_tone2::pray_tone3::pray_tone4::pray_tone5:

NervesJP

https___qiita-user-contents.imgix.net_https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F240349%2F5ef22bb9-f357-778c-1bff-b018cce54948.png_ixlib=rb-1.2.png


  1. 正確な呼び方とそれが表す範囲はよくわかっていませんが、Customizing Your Own Nerves Systemというタイトルからこの記事ではNerves Systemと呼ぶことにしました 

10
6
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
10
6