2014年 05月 03日
簡単だろうと始めてみると、そう事は単純ではないようです。 コンソール用に設定されているのでそのままでは通信には使えないということのようで各所で情報がまとめられていますが、とりあえず以下を参考に対処しました。 備忘録[Raspberry PiでUART、シリアル通信] minicomというターミナルソフトをインストールして通信できることを確認しました。受信だけなのにこのような作業がいるのかどうか良くは分かりませんが、XBeeからの文字列がRaspberry Piに入ってきています。 次はPythonで受信プログラムを書いてみたいと思いますが、シリアルのライブラリをインストールする必要があるということです。 とりあえず以下を参考にPythonプログラムを動かしてみました。 Chick Lab[Raspberry Pi でシリアル通信] さて、以下のプログラムで受信することができました。 --------------------------------------------------- import serial import time def main(): con=serial.Serial('/dev/ttyAMA0', 9600, timeout=120) print con.portstr while 1: str=con.readline() print str, if __name__ == '__main__': main() --------------------------------------------------- print strとすると文字列strの後ろに改行コードを付けてしまいます。送信する際に改行コードも送っているので1行空白が生じます。この空白行は数日謎だったのですが、 print str,というふうに","を付けると改行コード無しでプリントしてくれるのだそうです。 /dev/ttyAMA0 20.53,54.07,1019.86,191.27 20.60,54.25,1020.31,201.60 20.56,54.16,1020.28,201.60 20.57,54.09,1020.42,201.60 20.51,54.07,1019.88,201.60 20.51,53.97,1020.06,201.60 20.54,53.99,1019.94,201.60 20.44,54.04,1020.12,201.60 20.56,54.02,1020.10,201.60 これをプリントの代わりにファイルに書き出せば良いはずです。 それにしても、exblogでは空白が無視されるのでPythonのプログラムは読めないですね。どうにかならないでしょうか。 さて、次は時刻の追加です。datetimeをインポートしてraspberry piの現在時刻(時差が9時間みたいなので9時間を足しています)から時間と分を取り出してデータの先頭に追加しました。 import serial import time import datetime def main(): con=serial.Serial('/dev/ttyAMA0', 9600, timeout=120) print con.portstr while 1: str=con.readline() dt = datetime.datetime.now()+datetime.timedelta(hours=9) dts=dt.strftime('%H:%M,') print dts+str, if __name__ == '__main__': main() sudo python get_zb03.py /dev/ttyAMA0 /dev/ttyAMA0 22:10,20.62,51.89,1020.11,196.44 22:11,20.59,51.87,1019.87,0.00 22:12,20.58,51.90,1020.09,0.00 22:13,20.53,51.90,1020.16,0.00 22:14,20.57,51.80,1020.18,0.00 22:15,20.54,51.79,1020.41,0.00 22:16,20.52,51.75,1020.67,0.00 22:17,20.49,51.90,1020.40,0.00 22:18,20.52,51.73,1020.55,0.00 22:19,20.52,51.70,1020.37,0.00 22:20,20.43,51.87,1020.28,0.00 22:21,20.48,51.75,1020.85,0.00 22:22,20.38,51.46,1020.58,0.00 22:23,20.39,51.51,1020.43,0.00 22:24,20.39,51.74,1020.66,0.00 22:25,20.38,51.83,1020.46,0.00 22:26,20.39,51.57,1020.37,0.00 22:27,20.36,51.81,1020.75,0.00 22:28,20.39,51.82,1020.31,0.00 22:29,20.36,51.88,1020.75,0.00 22:30,20.34,51.90,1020.83,0.00 22:31,20.35,51.87,1020.50,0.00 22:32,20.34,51.55,1020.59,0.00 22:33,20.29,51.81,1020.78,0.00 22:34,20.30,51.59,1020.39,0.00 22:35,20.31,51.74,1020.71,0.00 22:36,20.25,51.79,1020.58,0.00 22:37,20.26,51.80,1021.01,0.00 22:38,20.27,51.83,1020.56,206.77 22:39,20.27,51.91,1020.56,206.77 せいかくに1分ごとにデータを送っているわけではありませんので時刻はそのうちダブルか飛ぶかすると思います。 とりあえずファイルには記録できそうな気配です。 (140507)
by wire_works
| 2014-05-03 13:23
| 電子工作
|
アバウト
カテゴリ
全体 このサイトの紹介 レビュー記事 リンク ベランダ発電所 電力モニタ 画像 Arduino 電子工作 オフ会 北東北LabVIEW スペクトルカメラ ポケットガイガー 読書 興味 LabVIEWレシピ ひごろの話 LabVIEW with Mac 未分類 以前の記事
2020年 05月 2020年 04月 2020年 03月 2020年 01月 2019年 11月 2019年 10月 2018年 10月 2018年 09月 2018年 08月 2018年 05月 2018年 01月 2017年 12月 2017年 11月 2017年 10月 2017年 08月 2017年 06月 2017年 04月 2017年 01月 2016年 12月 2016年 11月 2016年 10月 2016年 09月 2016年 08月 2016年 07月 2016年 06月 2016年 05月 2016年 04月 2016年 03月 2016年 02月 2016年 01月 2015年 12月 2015年 11月 2015年 10月 2015年 09月 2015年 08月 2015年 07月 2015年 06月 2015年 05月 2015年 04月 2015年 03月 2015年 02月 2015年 01月 2014年 12月 2014年 11月 2014年 10月 2014年 09月 2014年 08月 2014年 07月 2014年 06月 2014年 05月 2014年 04月 2014年 03月 2014年 02月 2014年 01月 2013年 12月 2013年 11月 2013年 10月 2013年 07月 2013年 06月 2013年 05月 2013年 02月 2013年 01月 2012年 12月 2012年 11月 2012年 10月 2012年 09月 2012年 08月 2012年 07月 2012年 06月 2011年 12月 2011年 11月 2011年 09月 2011年 08月 2011年 07月 2011年 06月 2011年 05月 2011年 04月 2010年 01月 2009年 12月 2009年 11月 2007年 05月 2007年 03月 2006年 09月 2006年 01月 2005年 12月 2005年 04月 2005年 02月 2005年 01月 お気に入りブログ
ライフログ
関連ブログと注意事項
このブログで作ったVIスニペットは
おおはしのGコードアーカイブをご覧ください。 日本LabVIEWユーザー会はここから入ります。 注意事項 LabVIEWはNational Instruments社の登録商標です。本サイトの運営はNational instruments社とは関係がありませんので、連絡等はこちらまでお願いします。 検索
その他のジャンル
外部リンク
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||