*

40代中年文系オッサンの IoTへの道(その4)~ ラズベリーパイで、1-Wireデバイスの温度センサーを使って、温度データをLINEへ通知する(Windows)

 

 

※ 私は IoTやIT全般に関しては初心者です。記載内容、言葉の使い方がおかしいところが多々あると思いますので、ご指導・ご鞭撻いただければ嬉しいです。

 



 IoTを理解するために、「実際に作って見るべ」と一念発起した40代中年の文系のオッサンです。

 

 

【これまでの履歴】

40代中年文系オッサンの IoTへの道(その1)

~ IoT電子工作体験キット(ソラコム+ラズベリーパイ)でIoTデビュー

40代中年文系オッサンの IoTへの道(その2)

~ Arduino + ソラコムLoRaWANで 温度データをクラウドに投げ可視化してみた

40代中年文系オッサンの IoTへの道(その3)

~ Arduino + ソラコムLoRaWANで温度データをアマゾンのクラウドAWSのS3へ送ってみた

 

 

 

今回は、ラズベリーパイ(以下ラズパイ)で温度データをLINEに通知するといったことをやってみました。

私はMac派なのですが、私の周囲には圧倒的にWindows派が多く、もしかしたらこれからラズパイを人に教えなければいけない事態になりそうなので、台湾製の安いWindowsパソコンを買い、Windowsでラズパイに挑戦することにしました。

 

リナックスのコマンドで操作しますし、Pythonでプログラミングするので、WindowsもMacもさほどの違いはないんですけどね。

 

 

本をじっくり読むよりも、とりあえず何かを作ってみることが上達への近道だと思い、豊富なサンプルのあるこの本に書いてあることをそのまま真似をしてみることにしました。

 

「ここまで作れる! Raspberry Pi 実践サンプル集」


この中の第3章2「水温センサーを使って水温を測定」をやりました。

 

詳しいことは、この本を買って、その通りやればいいのですが、どうやら、この本は初心者向けではないようです。


なので、今回は、自分の備忘録も兼ねて、初心者の私がハマったところを綴ります。

 

この本の読者以外には意味不明な内容かもしれませんが、ラズパイ初心者がどんなところが分からないのか、どんなところでハマるのか、ご参考になるかもしれませんよ。

 

 

ラズパイとセンサーを接続

 

水温センサーではなく、普通の温度センサー(DS18B20)にします。

 

P75に

センサー(DS18B20)のVDDをGPIOピンの1番

GNDを6番、DQを7番に配線

と、知ってて当たり前のように書いてます。

 

ここで、つまづきました。

中級者には当たり前のことでしょうけど、私には分かりません。


 

VDD、GND、DQ、GPIO ???

何のことか、さっぱり分かりません。


 

センサーやラズパイ本体を見てもどこにも書かれてません。

 

センサーの取説をググって探しましょう。

http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

 

ここの1ページに、VDD、GND、DQの場所が、書いてます。

Sensor

 

 

よく見ましょう。

BOTTOM VIEWですよ。

 

つまり、

 FullSizeRender 6

 

私は、BOTTOM VIEWに気づかず、最初逆に配線してしまい、電源をつなげたらすぐに焦げ付いた匂いがして、ヤバそうなことになりました。

 

 

ラズパイのGPIOピンは、ラズパイの本体にも取り扱い説明書にも書いてないので、ネットで見つけたこの画像をみて接続しました。

(本当にあってるのだろうか?自己責任でお願いします)


 Pi3 gpio

 

 

FullSizeRender 9

 

 

 FullSizeRender 7

 

 

ソフトウェアの設定

ラズパイにセンサーを認識させるための

ソフトウェアの設定(P76)で、

「/boot/config.txt の編集」とありますが、

ここでも悩みました。

 

これは、ラズパイのSDカードの中にあります。

SDカードをラズパイから取り出して、PCに挿して編集しましょう

(ラズパイに挿したまま編集できるかもしれませんが、私は知りません)

 

 

また、カーネルモジュールの設定で、

$ sudo modprobe w1-gpio

$ sudo mod probe w1-therm

 

とありますが、

これもどうしたら良いか分からず、悩みました。

 

これは、自分のパソコンからラズパイへ接続(SHH)してから打つコマンドです。

Windowsでは、TeraTermを使用するといいでしょう。

https://osdn.jp/projects/ttssh2/

 

あと、自分のパソコンからラズパイをSSHなるもので接続するには、Bonjourというものも必要です。

Windows用のBonjourはあるにはあるそうですが、とても難しそうなので、iTunesをダウンロードすることをお勧めします。

https://www.apple.com/jp/itunes/download/

 

なぜかというと、iTunesをインストールしたら、同時にBonjourもインストールされるからです。

 

TeraTermを接続し、

IMG 6392


ユーザ名:pi

パスフレーズ:raspberry

IMG 6393


コマンド画面になるので、

$ sudo modprobe w1-gpio

$ sudo mod probe w1-therm


と入力。

 

 

ラズパイの起動時にそれらを認識させるために

/etc/modules に次を追記。

 

w1-gpio

w1-therm

 

と、

ここでハマりました。


そもそも/etc/modulesってどこ?

どうやって編集するの?

 

 

どうやら vi というコマンドで viというエディタが立ち上がるらしいですが、

ネットを見ると、


Raspbianに初期でインストールされているviがとにかく使いにくい、

とりあえずvimをインストールしましょう!


と、ありましたので、

vim というエディタをインストールすることにしました。

 

$ sudo apt-get update

$ sudo apt-get install vim

 

参考サイト

http://qiita.com/moriyaman/items/44cda5318ad8b5f7a3ae

 

 

vimがインストールできたら、


$ sudo vim /etc/modules


で、編集画面にします。

 


ここも最初は戸惑ったのですが、

i (インサートモード)

で編集できます。

 

編集が終わったら、

ESCキー(インサートモード終了)


コマンドに戻るには、

:wq (ファイルを保存して終了)

 

で、編集終了になります。

 

 

$ sudo rebootで、

再起動すると、モジュールが読み込まれていましたが、

デバイスの一覧を見る(P77)と、何も反応されていませんでした。


ここでもハマりました。


半日格闘し、あきらめかけたところ、

妻の「ブレッドボードがおかしいかも。センサーを他の場所に差し替えてみたら」との一言で解決。


半日の格闘は一体なんだったんだろう。

まあ、そうやって四苦八苦して身につくんでしょうね。

 

 

 

LINE連携

 

LINEの連携は、LINE Notifyでトークンを発行して、

PythonでLINEのAPIを利用するコードを書くだけのことですが、

 

P82の 「pycURLを使って送信」

ってところで、ハマりました。


 

LINEのAPIを使うには、pycURLをインストールする必要があります。

(他にも方法はあるらしいですけど、ここではpycURLを使います)

 

$ sudo pip install pycurl

 


しかし、インストールできません。

エラーが出て、ハマりました。

 

ググって解決。

その模様は、こちらのリンク

http://tatsuya1970.com/?p=10147

 

本書のP83-85のPythonのコードをまる写しし、

定期的に温度データを送るように自分なりに改良。

 

なお、LINEに日本語を表示させるには、Pythonのコードの最初に、

# coding: utf-8

って入れたらいいですよ。

 

 

で、完成!

こんな感じです。

 

 IMG 0033

 

 

私のような初心者は1つ1つ進むたびに中級者には当たり前のことがわからず、大変でしたが、おかげで、いろいろなことを学べました。

 

これで、センサーからの情報を、何かの条件で通知させるような初歩的なIoTが実践できそうです。

 

例えば、

温度が何度以上になったら通知するとか。

獲物が罠にかかったら通知するとか。

自分の駐車場に他の車が駐車したら通知するとか。

 

色々面白いことが考えられそうで、自分の可能性が広がりました。

 

 

とはいえ 

コードの意味、配線の意味を理解してないので、

プロから見たら、けしからんかもしれません。

 

でも、とりあえず何か作ってみる。

本に書いてあることをそのままやってみる。

 

そういった、やりながら学ぶスタイルでやっていこうと思います。

 

 

さて、次は何を作ろうかなあ。

 

 

 

ではでは。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ad

    この記事が気に入りましたら、ぜひTwitter、facebookボタンをお願いします。
    ブログを書くモチベーションになります。よろしくお願いします。

  • このエントリーをはてなブックマークに追加
この記事が良かったらビットコインで寄付をお願いします。
ビットコイン投げ銭ウィジェット



関連記事

『日本発「ロボットAI農業」の凄い未来』を読んで

    「測ることができるすべてのものを測れ。測ることができないものは、測ることができるようにしろ

記事を読む

「Maker Faire Tokyo 2018」に出展しました

8月4日、5日 昨年に続き、今年も東京ビッグサイトで開催された「Maker Faire 東京」

記事を読む

LINE BOT AWARDS ファイナルステージを見て 〜僕は予選落したけど、それも当然、本選のレベルの凄さにボットの未来を感じた

    賞金1000万円! 今まで聞いたことがない大規模のとんでもないプログラミング

記事を読む

選択するのが面倒な現代人へ 〜僕のチャットボットとアプリを紹介

        消費者は買い物をするとき、選ぶのが面倒だと感じている。 大量の品揃えが良いなんて、

記事を読む

名もなきオッサンとヒーローズリーグ

今日のブログは、MAヒーローズ・リーグ Advent Calendar 2019の9日目の記事を兼ね

記事を読む

ad

Message

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

ad

『パラサイト 半地下の家族』を観て(ネタバレ注意)

グロバリゼーションは世界の貧富の格差を着実に無くしつつある。 一

ビットコインを始めてから6年経つ

  今朝Facebookを立ち上げると、 6年前の今日、ビ

『イノベーションのジレンマ』のクリステンセンさんが亡くなられた。

        「イノベーションのジレンマ」のクリステンセンさんが亡

映画『家族を想うとき』を観て

    グロバリゼーションやテクノロジーは世界的な格差を狭めたが、 先

除夜の鐘ゴーンゲーム

昨年の大晦日、大ニュースが駆け巡りました。 「カルロス・ゴーンが

→もっと見る

    • 827791総閲覧数:
    • 702今日の閲覧数:
    • 974昨日の閲覧数:
    • 11現在オンライン中の人数:
    • 2014年4月29日カウント開始日:
PAGE TOP ↑