*

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ボット「KANJI」

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

記事を読む

MAKERS ―21世紀の産業革命が始まる

もう何十年も前からのことだけど、 日本の人件費は高い、電気代も高い、税金も高い、何するにしても高い

記事を読む

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

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

記事を読む

LINEボット「有名人GO」

  LINEボット 「有名人GO」       某N社のポ●モンGOにインスパイアされて作りました。

記事を読む

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

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

記事を読む

ad

Message

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

ad

深圳に行ってきた 2017.11(その2: Maker Faire 深圳とJapanese Meetup)

  先週末、中国の深圳にプライベートで行ってきました。   2017年

深圳に行ってきた 2017.11(その1:プロローグ)

    先週末、中国の深圳にプライベートで行ってきました。   201

【初心者用ハンズオン】 iPhoneアプリを作ろう! (その2:BMI計算アプリを作ろう)

    前回のハンズオン(その1)では、Hello World を

【初心者用ハンズオン】 iPhoneアプリを作ろう! (その1:Hello Worldを表示し、それを自分のiPhoneで実行)

    「【初心者用ハンズオン】iPhoneアプリを作ろう!」 htt

「つくるけぇ!」に出展しました

  10月8日に、東広島市の道の駅「湖畔の里 福富」で開催された「つく

→もっと見る

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