*

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

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

記事を読む

中国 深センで開催された IoT展示会「China International Internet of Thing Exhibition」レポート

    ITといえばシリコンバレー、IoTといえば深センと言われる昨今、私は今年の5月ごろに、実際に

記事を読む

IoTのイベント『ようこそIoTの世界へ』レポート

    最近、超多忙で、ブログの更新が遅れ気味のTatsuyaです。 マジで、ここ3ヶ月は、凄いペー

記事を読む

LINE Pay を開設してみた

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

記事を読む

「Startup Weekend Tokyo 深圳」に参加しました。

    いつか起業したいなーという思いはあるのですが、ずっと「いつか」ばかりで実行力のないTatsu

記事を読む

ad

Message

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

ad

「InaHack 2018 1st Session “ideathon”」に参戦!

  6月16日・17日と、長野県伊那市で開催された「InaHack

香港をブラタツヤ(2018.05)

  今年のゴールデンウィークは中国をブラブラしてきました。 そのシリー

成都をブラタツヤ(その3:パンダづくし)

   今年のゴールデンウィークは中国をブラブラしてきました。 その記録

成都をブラタツヤ(その2:武候祠)

   今年のゴールデンウィークは中国をブラブラしてきました。 その記録

成都をブラタツヤ(その1:グルメ編)

  今年のゴールデンウィークは中国をブラブラしてきました。 その記録を

→もっと見る

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