カテゴリ
リンク

当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

■遠くの人に変化を知らせるには 
 玄箱PROの近くのセンサの反応を遠くの人に知らせるには電子メールが便利です。そこでセンサをシリアル・ポートにつないで、何か反応があったらメールを送る仕組みを作ってみます。準備として、「電子メールが出せるようにする」を参考にして mail コマンドでメールが送信できるようにしておきます。
■プログラムを用意する
 ここでは、次のようなプログラムを用意しました。 
(1) デバイス・ファイル(/dev/ttyUSB0 など)を開く 
(2) モデム制御信号を読む(ioctl() を使う) 
(3) 1ピンのDCD (TIOCM_CAR) が ON か調べる
(4) ON ならば、前回メールを送ってから60秒以上経過したらメールを送り、1秒待つ 
(5) 0.1 秒待ち、2へ戻る

 ■プログラムをテストする 
 「シリアル・ポートを使ってディジタル入出力」と同様に、シリアル・チェッカと電池と抵抗をつないだものを用意し、USB シリアルにつないでおきます。

sr_mail.c のテスト

sr_mail.c をダウンロードし、
cc -o sr_mail sr_mail.c
または、
make sr_mail
で、コンパイルします。コンパイルできたら実行してみます。
./sr_mail
もし、デバイス・ファイルが ttyUSB1 のときは、
./sr_mail /dev/ttyUSB1
としてください。/dev/ttyACM0 のときは、
./sr_mail /dev/ttyACM0
です。1ピンに抵抗の足を当て、シリアル・チェッカのLEDが点灯したときに、
Try to send an E-mail
と表示されればテストは OK です。57行目
/* system("echo 'test mail' | mail -s 'DCD is ON' example@example.co.jp"); */
の system() 関数(mail コマンドを呼び出している)のコメントアウトを外し、適切なメール・アドレスを書いてから、再コンパイルし、再度実行してみてください。今度は、実際にメールが送られるはずです。本文の内容を変えるには echo コマンドの引数を、サブジェクトを変えるには -s オプションの次の文字列を書き変えます。 

■センサ回路をつないでみる 
 ここでは書籍「センサとデジカメで遊ぶ電子工作入門」で紹介した音センサ回路をつないでみました。電源には単三電池4本を使います。接続は次のようになります。

音センサ基板の接続音センサ基板の接続例

音センサ基板とシリアル・コネクタの接続

大きな音がすると、メールが送られます。
kurobox@kurobox:~/src/serial$ ./sr_mail /dev/ttyUSB1    

Try to send a E-mail    

Too early to send mail    

Too early to send mail    

Too early to send mail
 音センサ基板の出力をON にしている時間が長いと「Too early to send mail」が多く出ます。気になる場合はソース・ファイルの61行目の fprintf()をコメントアウトしてください。

  ■他の回路をつなぐには 
 書籍で紹介している「モーション・センサ基板」も同様に接続できます。

モーションセンサ基板の接続

 スイッチをつなぐことも簡単です。

スイッチの接続

 ここでは、スイッチが入るとメールが送信されるようなプログラムになっていますが、スイッチが切れると送信するようにすれば、断線センサ(スイッチの部分をビニール線などにし、人や動物が線を切ったことを検出する)も活用できます。
  AC 連動出力がついている機器(ビデオやミニコンポなど)場合には、AC アダプタを利用して、機器の電源が入ったことを検出することもできます。

ACアダプタで他の機器の電源ONを検出

 ほかにもセンサなどを利用した回路をつなぐことができますが、ONと検出するには +5 から +12V 程度の出力が必要なこと、OFF と検出するためには 0V (または、0V から -12V程度)になることが必要なこと、電流がある程度流せること(1mA から数mA 程度, シリアル・チェッカをつけない場合は少なくてもよい)が条件になります。

 カテゴリ 

 

トラックバック(0)

このブログ記事を参照しているブログ一覧: センサに反応があったらメールを送る(シリアル・ポートをディジタル入力に使う)

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/1092

コメントする

おすすめ書籍
Powered by
Movable Type 4.1