LoT ラブオーティー

非モテ男の、非モテ男による、【女の子にモテたい】非モテ男のためIT活用ブログ

スポンサーリンク

IoT/WSN 電子工作

【IoT】RaspberryPiによる緊急ボタン!押されたらGmailで通知!?

投稿日:



一般的に考えれば、緊急時の連絡手段は携帯電話を使うかと思います。しかし、年齢や身体的障害などによって、携帯を利用していない方はいます。もし緊急連絡手段を持たない人が外出するときは、誰かが同行すると思いますので緊急事態に対応可能です。一方で家にそういった方が一人しかいない状況で、万が一のことがあったらどうでしょうか。ということで今回は、緊急時の連絡手段として、緊急ボタンを作りました。


仕様は簡単で、ボタンを押したらGmailに通知が来るというものです。ソースも単純なので、簡単に作れるかと思います。作成に使った道具はこちらです。


  • Raspberry Pi 3 ModelB
  • ゲームスイッチ(モーメンタリ型の1回路2接点)
  • 抵抗(1kΩ)×2
  • ジャンパー(オス-メス)×3


Raspberry Pi 3を使いましたが、Raspberry Pi Zeroの方が、消費電力が低く、モバイルバッテリーで動かしても長持ちするので、ラズパイZeroがある方は、そちらのほうが良いかと思います。私は持ち合わせておりませんでしたので、ラズパイ3で代用しました。このゲームスイッチを



緊急ボタンということで、出来るだけ大きいボタンを選びました。秋月電子で買える一番大きいのを選んだら、画像のようなスイッチになりました。 お値段は150円ほどでした。それからこのスイッチの定格電流が3Aなので、壊れるのを防ぐために電流抑制抵抗を挟みます。1kΩ使いましたが、もっと低い抵抗値でも大丈夫です。

秋月電子・ゲームスイッチ
http://akizukidenshi.com/catalog/g/gP-07248/



Rapberry Piとスイッチの接続は、3.3Vピン, GND, GPIO18の3ピンを使いました。ピンの確認方法は、Rapberry Piのターミナル上で、pinout もしくは gpio readallと叩いてください。




回路はこのように組んでいます。スイッチ&抵抗とスイッチ&ジャンパー線の接続は、ハンダ付けが望ましいですが、実験程度であれば、絶縁テープでぐるぐる巻きにしても良いかと思います。秋月で買ったゲームスイッチの場合だと、下にでっぱている端子(COM)を3.3Vにつなげます。モーメンタリ型1回路2接点スイッチなので、ボタンを押したときだけ、GPIO18ピンと繋がります。ボタンを押してないときは、3.3VとGND間がつながっています。



ソースは以下になっています。


実行の流れとしては、最初にメールを組み立ててます。それからwhileで無限ループしている間に、緊急ボタンが押されたときだけ、あらかじめ作っておいたメールを送信します。一応、MIMEも使っているので、画像の添付なども可能です。webカメラ等で押されたときの状況を、キャプチャしてメール本体に添付するのもありかと思います。




変更しやすいように、コード初めにアドレスやメール内容を指定します。create_mail関数でメールを組み立てます。出来上がったメールを戻り値としてmsgを返します。send_mail関数で、googleのSMTPサーバにログインして、実際に送信します。メールの仕組みを勉強すると分かるのですが、25番ポートだとOP25Bによって送信できないので、SMTPのサブミッションポートである587番ポートを使います。



こんな感じで通知が届きます。






ちなみに今回のように、自分でプログラムを書いてgmailを送信する場合は、デフォルト設定ではログインできません。セキュリティ規制を緩める必要があります。送信側のアカウントに入って、Gmailの設定を一か所だけ変更します。


https://myaccount.google.com/security?pli=1


アカウント設定からセキュリティ設定に移動し、「安全性の低いアプリのアクセス」を "オン" に変更します。デフォルトでは、"オフ" になっています。



最後まで読んでいただきありがとうございました。

スポンサーリンク

-IoT/WSN, 電子工作

Copyright© LoT ラブオーティー , 2019 All Rights Reserved Powered by STINGER.