goo blog サービス終了のお知らせ 

ゴーイングマイウェイの戯言

パソコンに関することなど、作者の趣味が中心のブログです

Raspberry PiでIM920のシリアル通信を受信

2017-10-21 11:47:10 | Arduino&Raspberry Pi
下図のように、センサーを設置したArduinoからデータを送信して、数100m離れた所のRaspberry Piで受信したい。
通信には、920MHz特定小電力無線モジュールのIM920を使用する。
前回までに、IM920のペアリングArduinoからの送信がうまくいったので、今回はいよいよRaspberry Piでの受信に挑戦する。



参考にしたもの
 Raspberry PiとArduinoでシリアル通信
 【入門】Linux機にUSB-シリアル変換ボードをつなげてみる【備忘録】| 團長の小部屋




用意するもの
 ・Rasspberry Pi 3スターターキット スイッチサイエンス
    Raspberry Pi 3 Model B本体
    microSD 8GB class10 (Raspbian OSイメージ 書き込み済)
    ACアダプター 5V/3.0A(USB Micro-Bコネクタ)1m
    Raspberry Pi 3/2/B+ 用RSコンポーネンツ製ケース 白

 ・IM920 ×2個  amazon 秋月電子

 ・Arduino amazon 秋月電子

 ・USBシリアル変換アダプタ  スイッチサイエンス
  ブレットボード、ジャンパー線、LED、抵抗

  または
  インタープラン製 USBインターフェースボード IM315-USB-RX  amazon 秋月電子

 ・PuTTY_jp (ソフト)  ダウンロード元



1.Raspberry Piにcuコマンドを入れる
 Raspberry PiにはTera Termのようなターミナルソフトがはじめは入っていない。
 そこで、ターミナルソフトのcuをインストールする。
pi@raspberrypi : ˜ $ sudo apt-get install cu


2.Raspberry PiにIM920をUSBにて接続
 写真の通り、IM920をUSBシリアル変換アダプタを介してRaspberry PiにUSBにて接続。
 (インタープラン製のIM315-USB-RXは、USBシリアル変換アダプタが内蔵)
 IM920とシリアル変換アダプタ間の配線方法については過去記事参照。
 


3.認識されているか確認
 Raspberry Pi側でUSBシリアル変換アダプタを認識しているかを確認する。
 はじめに、dmesgコマンドで確認。
pi@raspberrypi : ˜ $ dmesg

 今回使用したUSBシリアル変換アダプタは、FTDI社の変換ICが使われているので、それを探す。
 今回の場合だと、ttyUSB0で認識されている。
 

 次に、/dev以下に今回認識したttyUSB0があるか確認。
pi@raspberrypi : ˜ $ ls -l /dev/ttyUSB*

 


4.cuコマンドを使ってIM920からの通信をRaspberry Piで受信する
 送信側には、以前作製したArduino+IM920を使用。
 このArduino側IM920とRaspberryPi側のIM920は、すでにペアリング済みのものである。
 IM920のペアリングについては、過去記事参照。
 

 いよいよcuコマンドで、通信の受信を行う。
 cuコマンドでは、-lオプションで使用デバイス、-sオプションでボーレートを指定する。
 IM920との間はボーレート19200bpsで通信するため、以下のコマンドを打ち込む。
pi@raspberrypi : ˜ $ cu -l /dev/ttyUSB0 -s 19200

 無事にRaspberry Piで受信ができた。
 なお、cuコマンドを終了させるときは~. (チルダドット)と打ち込む。
 

コメントを投稿