ネットワーク対応温度センサーを簡単に作る!

温度を計測してリアルタイム更新、webで表示するシステムが欲しいと言われました。なんか、そんなシステムを展示会で見たことがあったので、問い合わせてみたところ、カスタマイズ費用が必要だとか。

それだとお金かかるなぁと思いながら、んじゃ、なんか自作してみますかとやってみました。

DSC_0846

こんな感じで実現しました。パソコンの熱をじかに拾わないように、USBの延長ケーブルをつけています。

パソコンはPenMの10年以上前に購入した機械です。新たに新品パソコンを買うのはもったいない。ほとんど価値がない捨ててもいいようなパソコンです。IoTで温度計測FTPでファイルアップロードするくらいだったら、十二分な性能を持っています。

パソコンのスペックは必要ありません。とりあえず動けばOKというレベルです。できたら眠っている古いパソコン、友達からもらえるようなパソコンで済ませましょう。

やっぱりLinuxが利用できるっていいですよね。相当古いVAIO VGN-Y90PSYを引っ張り出してきて、Debian Jessieをインストールしました。もう捨てるしかないっていう10年以上前に購入したパソコンなのでとりあえず原価0円です。

https://www.debian.org/

Windowsも優れたOSだと思いますが、用途によってLinuxも使えるようになっていた方がいいです。それから、本当はStrechを利用しようと思ったのですが、ネットワーク細部の設定が変わっていて使い勝手が、、、分からない。

単にVAIO VGN-Y90PSYと相性が悪かっただけなのかもしれないけど。Jessieをインストールしてもネットワークが利用できない事態に遭遇しました。なぜなんだろうnetインストールはうまくいくのに、ゲートウェイだけ設定されないようです。仕方ないので、ゲートウェイだけ手動で設定しました。なんか変な感じです。

Jessieなら

routeの確認

default routeの追加

Strechなら

routeの確認

default routeの追加

SSHサーバと、標準ツールのみインストールします。デスクトップ環境は必要ありません。

USB温度計を準備します。

amazonで980円のUSB温度計測装置と、10年以上前に購入した古いパソコンを持ち出して作ってみたら、チョー簡単に温度計測ができました。

DSC_0840

DSC_0841

おもむろにDebianを起動して、USBを差し込むと

ちゃんと認識してる。

そして、これを利用するために、アプリをmakeします。

makeするために必要なアプリを入手します。

CDも付属してますがプレーヤーを持ち出すのも面倒だったので、gitで公開されているソースコードを取得しました。

日付時刻表示を日本のフォーマットへ

以下2行のように書き換えます

utc = localtime(&t);

strftime(dt, 80, “%Y-%m-%d %H:%M:%S”, utc);

書き換えるとこのようになります。

変な警告出たけど、気にしないで進めます。

そしてできたbinファイルを実行権限をつけて移動します

計測はこんな感じです。

temper.cを書き換えない場合はこのような表記になります。

temper.cを書き換えると日本でも見やすい表記になります

この値を、ftpかなんかで、次回は公開サーバにもっていこうと思います。
980円でIot
このUSB温度計の原価ってどれくらいなんでしょうね。送料込みで980円ですから。

これをクローンに仕込んでしまえば完成です。temperを毎時0分に実行、温度を記録。毎時1分にftpでwebサーバにアップロードです。

最終的に、温度を測りたい設置場所はLANは来ているけど、スペースはそんなに確保できないという場所でした。そこで、むかーし購入したOrangePI PCを引っ張り出してきて設定・設置。手のひらサイズの温度計測システム完成です。

DSC_0994

Orange PIでの設定はこちらで

OrangePI PC を久々に触る IoTでUSB温度測定に利用してみる

Orange PIとはから初期設定まで、こちらでご覧いただけます。

web上で表示する時に日付、温度、時刻が自動的に更新されていく仕組みにします。

こんな感じでawkしてテキストはこのように表示されます

さらにHTML化してうめこみます。

awkで欲しいところだけ取って、HTMタグを一緒に記載します。

HTML側では、iframeで埋め込みました。外部HTMLファイルを指定して、自分のサイト上に表示します。

HTMLへの埋め込み方はいろいろあるので、こちらもご参考に

HTMLの埋め込み方

 

1件のコメント

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)