*

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ボタンをお願いします。
    ブログを書くモチベーションになります。よろしくお願いします。

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



関連記事

みずほ銀行の「LINEでかんたん残高照会サービス」をやってみました。

最近話題の、みずほ銀行の「LINEでかんたん残高照会サービス」をやってみました。

記事を読む

LINE Pay を開設してみた

    遅まきながら、LINE Payなるものをやってみました。   これは、LINE専用の

記事を読む

LINEのチャットボット「KANJI」に新機能「写真から漢字を答える機能」を追加しました。

      英単語を入力すると漢字を返してくれるLINEのチャットボット「KANJI」 こちら

記事を読む

LINEボット「KANJI」

    漢字を教えてくれるLINEのチャットボット 「KANJI」     英単語を入力すると、漢字

記事を読む

【Python 備忘録】pycURLのインストールができない場合の解決方法

  ※ここに記載の事例は、あくまで私個人の備忘録です。 私個人の環境での話ですので、これが本当に正し

記事を読む

ad

Message

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

ad

カープ優勝、おめでとう

  9月18日 2年連続8度目の優勝!   37年ぶりの連覇!

映画『ダンケルク』を観て

      人間は何度も何度も困難に打ちひしがれると絶望になる。  

LINEのスマートスピーカーWAVE(先行体験版)が我が家にやって来た。

    7月に予約したLINEのスマートスピーカー「WAVE」の先行体

浜松をブラタツヤ

  8月下旬に浜松に行きました。   新幹線で東京に行くときに、

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

    ※ 私は IoTやIT全般に関しては初心者です。記載内容、言葉

→もっと見る

    • 224450総閲覧数:
    • 19今日の閲覧数:
    • 213昨日の閲覧数:
    • 0現在オンライン中の人数:
    • 2014年4月29日カウント開始日:
PAGE TOP ↑