*

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

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



関連記事

「Maker Faire 台北」に出展しました(その2:当日の様子、STEM教育)

  その1からの続き。     MakerFaireの朝が来た。   台湾らしい朝食「豆漿」をとり、

記事を読む

ソラコムの奇跡

    今年はいろんなことがありましたが、 中でもMaker Faireに出展したことは思い出深いで

記事を読む

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

    7月に予約したLINEのスマートスピーカー「WAVE」の先行体験版が、8月下旬に届きました。

記事を読む

IoTを学ぶ第1歩にオススメの本『IoTの基本・仕組み・重要事項が全部分かる教科書』について

    個人的な印象ですが、昨年1年間を振り返ってみると、新聞やニュースでは毎日のようにIoTとかA

記事を読む

「広島版IoT縛りの勉強会! IoTLT広島 Vol.7」レポート

   最近、超多忙で、ブログの更新が遅れ気味のTatsuyaです。 マジで、1年前に比べ、凄いペ

記事を読む

ad

Message

メールアドレスが公開されることはありません。

ad

生成AIで作ったキャラクターをLive2Dで加工しUnityで動かす(まばたき、話す)

  ChatGPT(DALL-E3)で作ったキャラクターをもとに、Ch

24時間のトランジットならビザなしで中国に入国できる(上海浦東空港での体験)

中国での入国を伴うトランジットについて、私は事前にググりまくって情報を

『東京都同情塔』を読んで

ChatGPTを活用して作ったという芥川賞受賞作「東京都同情塔」を読了

『ボーはおそれている』を観て

    3月1日の映画の日はミッドサマーの監督の最新作を鑑賞(ミッド

生成AIを使ったテレビニュース風の動画の作り方(HeyGen + Canva)

  イベントの宣伝用にこんな動画を作りました。   誰でも簡単に作れ

→もっと見る

    • 1677954総閲覧数:
    • 254今日の閲覧数:
    • 184昨日の閲覧数:
    • 3現在オンライン中の人数:
    • 2014年4月29日カウント開始日:
PAGE TOP ↑