教えてもらった。^_^
2014年2月27日木曜日
2014年2月17日月曜日
GPS receiver LS20031 を試す。
LOCOSYS のLS20031をスイッチサイエンスから購入。
GPSロボットカー用に試してみる。
http://www.robotgear.com.au/Cache/Files/Files/151_LS20030_3_datasheet_v1.1.pdf
にはデフォルトでは9600bps 1Hzと書いてあるが、
文字化け。 teratermで 設定を変えながらチェックすると、
57600bpsでビンゴ!
どうやら57600bps 10Hz がデフォルトに変わったらしい。
(https://www.sparkfun.com/tutorials/176 を参照)
GPSロボットカー用に試してみる。
http://www.robotgear.com.au/Cache/Files/Files/151_LS20030_3_datasheet_v1.1.pdf
にはデフォルトでは9600bps 1Hzと書いてあるが、
文字化け。 teratermで 設定を変えながらチェックすると、
57600bpsでビンゴ!
どうやら57600bps 10Hz がデフォルトに変わったらしい。
(https://www.sparkfun.com/tutorials/176 を参照)
2013年12月27日金曜日
BeagleBorn上の rtkrcv が動いた
シリアルポートからのデータが出ているかの確認が難しい。(めんどくさい?)
BeagleBoneを有線でネットワークに接続することにした。
まず、余っていた無線LANのルータを用意して、HUBとDHCPサーバの代わりに使う。
(ネットワークにはつながないので、WLANコネクタは使わない。)
BeagelBoneのEthernetコネクタに100base-Tケーブルをつなぐだけ、
ifconfig をタイプすると、eth0にIPアドレスが割り当てられているのが確認できた。
次に、
ノートパソコンに、NV-08cと ublox6TをそれぞれUSBで接続する。
Teratermでrawデータ(バイナリメッセージ)が出力されていることを確認。 (ボーレートの数字やパリティなどもチェック)
続いて、 RTKLIBから strsrv.exe を選んで、起動。
NV-08cを接続しているシリアルポートを 同様に51001にサーバ接続する。
これで、このパソコンのIPアドレスにTCPクライアントとして51000にリクエストを送ると、NV-08cのデータを受け取ることができる。
BeagleBoneを有線でネットワークに接続することにした。
まず、余っていた無線LANのルータを用意して、HUBとDHCPサーバの代わりに使う。
(ネットワークにはつながないので、WLANコネクタは使わない。)
BeagelBoneのEthernetコネクタに100base-Tケーブルをつなぐだけ、
ifconfig をタイプすると、eth0にIPアドレスが割り当てられているのが確認できた。
次に、
ノートパソコンに、NV-08cと ublox6TをそれぞれUSBで接続する。
Teratermでrawデータ(バイナリメッセージ)が出力されていることを確認。 (ボーレートの数字やパリティなどもチェック)
続いて、 RTKLIBから strsrv.exe を選んで、起動。
NV-08cを接続しているシリアルポートを 同様に51001にサーバ接続する。
これで、このパソコンのIPアドレスにTCPクライアントとして51000にリクエストを送ると、NV-08cのデータを受け取ることができる。
もう一つ、srvsrv.exeを起動して、
ublox6Tが接続されているシリアルポートを選択して、TCP のポート番号51000にサーバとして接続する。
以後は、Beaglebornのつながっているパソコンに戻って作業すればいい。
rtcrcv にTCPクライアントからデータを受け取る設定を行う。
rtcrcv.conf を書き直す。
7行目付近にある inpstr1-type = serial を inpstr1-type = tcpcli に変更
10行目付近の inpstr1-path = ttyO4:11520:8:n:1:off を
inpstr1-path = 192.168.11.4:51000 に変更
192.168.11.4の所は、先ほどGPS受信機を接続したPCのIPアドレス、
51000はサーバとして設定したTCPのポート番号です。
ほかには、13行目付近の
ipnstr1-format に 受信機の型を指定します。
NV-08cの場合はnvc, ublox6Tは,ubxとなります。
あと、53行目付近の
pos1-navsys をデフォルトのGPSのみから +GLONASSに変更するのをお忘れなく、
GPSは1、 GLONASSは4なので、 GPS+GLONASSだと 1+4で5を指定します。
すべて、の場合は、63かな?
./rtkrcvで起動した際に、
** rtkrcv ver.2.4.2 console (h:help) **
rtkrcv> と表示されれば、OK だけど、 ほかのメッセージが表示される場合は、
.confの書き方がわるいか、接続のどこかが悪いか、rtkrcvのコンパイルが悪いかのいずれかなので、メッセージしたがって、修正する。
rtkrcv> に startを入力して、
starup script ok
rtk sever start と表示されば、問題なし。
私の場合、rtkrcv.confのオーナがrootだったので、sudo su でルート権限になったあと、
ファイルを書き換える必要があった。(sudo su 気がつくのに数時間を要した)
obs で 疑似距離データのデコードができていれば、OK.
navi で航法メッセージのデータが表示される。
sol で計算結果が表時される。
obs 10 の様に、数字をつけると、10秒ごとに表示させることができる。ctrl-cで復帰。
NV-08Cは、エフェメリスを衛星からのデータは、バイナリモードに変更した後と、それ以外は、逐次に受信したときに出力する(最低でも30秒間隔)ので、 rtkrcvで測位開始までに時間がかかる。 遅いときは、10分以上を要する。(待ちくたびれる)。
6Tは数秒置きに表示できるコマンドがあるので、それほど時間がかからない。
無事に、BeagleBorn上のrtkrcvでNV-08cのrawデータで、測位計算ができるようになった。
次は、シリアルポートだ。
ほかには、13行目付近の
ipnstr1-format に 受信機の型を指定します。
NV-08cの場合はnvc, ublox6Tは,ubxとなります。
あと、53行目付近の
pos1-navsys をデフォルトのGPSのみから +GLONASSに変更するのをお忘れなく、
GPSは1、 GLONASSは4なので、 GPS+GLONASSだと 1+4で5を指定します。
すべて、の場合は、63かな?
./rtkrcvで起動した際に、
** rtkrcv ver.2.4.2 console (h:help) **
rtkrcv> と表示されれば、OK だけど、 ほかのメッセージが表示される場合は、
.confの書き方がわるいか、接続のどこかが悪いか、rtkrcvのコンパイルが悪いかのいずれかなので、メッセージしたがって、修正する。
rtkrcv> に startを入力して、
starup script ok
rtk sever start と表示されば、問題なし。
私の場合、rtkrcv.confのオーナがrootだったので、sudo su でルート権限になったあと、
ファイルを書き換える必要があった。(sudo su 気がつくのに数時間を要した)
obs で 疑似距離データのデコードができていれば、OK.
navi で航法メッセージのデータが表示される。
sol で計算結果が表時される。
obs 10 の様に、数字をつけると、10秒ごとに表示させることができる。ctrl-cで復帰。
NV-08Cは、エフェメリスを衛星からのデータは、バイナリモードに変更した後と、それ以外は、逐次に受信したときに出力する(最低でも30秒間隔)ので、 rtkrcvで測位開始までに時間がかかる。 遅いときは、10分以上を要する。(待ちくたびれる)。
6Tは数秒置きに表示できるコマンドがあるので、それほど時間がかからない。
無事に、BeagleBorn上のrtkrcvでNV-08cのrawデータで、測位計算ができるようになった。
次は、シリアルポートだ。
Beagleborn に 無線LAN
USBポートに「ちっこい無線LANアダプタ」を 接続して、
リセットボタンをポチリ。
ログインして,
lsmod で確認すると、
無線LANらしいものが表示されている。
/etc/netwark の下にある interfaces ファイルを viで開いて編集。
#WiFi Example とあるところを
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "ここにRFLANの親機のSSIDを書く"
wpa-psk "パスフレースを書く"
と書き直して、
また、リセットボタンを押す。
ifconfig コマンドで表示した結果に wlan0が入っていて
ipアドレスをゲットできていたら、成功。
リセットボタンをポチリ。
ログインして,
lsmod で確認すると、
無線LANらしいものが表示されている。
/etc/netwark の下にある interfaces ファイルを viで開いて編集。
#WiFi Example とあるところを
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "ここにRFLANの親機のSSIDを書く"
wpa-psk "パスフレースを書く"
と書き直して、
また、リセットボタンを押す。
ifconfig コマンドで表示した結果に wlan0が入っていて
ipアドレスをゲットできていたら、成功。
ping コマンドにより、ネットワークにあるパソコンにパケットが届くことを
確認できるはず。
これで、終わり。 あー、簡単だ。 5分もかからない。
(うそです。ここまでくるのに、ぐるぐる。 大変だった。)
(うそです。ここまでくるのに、ぐるぐる。 大変だった。)
しかし、この後に
CAUTION: musb: Babble Interrupt Occurred エラーがでて、
BeagleBornが反応しない。 リブートを繰り返す。
似たような現象は、ほかにもあるみたい。
https://groups.google.com/forum/#!msg/beagleboard/C6gMT2_FfiM/bdwVSeahD_sJ
解決策は簡単には見つからず。 USBの許容電流不足の様に見える。
きょうの所は、これでお手上げ。 | ~.~ |
2013年12月26日木曜日
USB serial on Mac terminal
Mac OSで USB serialに接続すると、/dev下に ttyとcuが作られるので、
違いをしらべてみたら、
「Unixは伝統的に /dev/tty* は受信用、/dev/cu* が発信用である。」 とあった。 へ〜。
じゃ、GPS受信機用には、ttyを使おう。
$stty -f /dev/tty.usbserial-AH01I5ON 115200 では 速度が変更できない?
なんだかわからないなぁ。
screen /dev/tty.usbserial-AH01I5ON 115200 では OK
以下の質問者と同じ状況。
http://www.societyofrobots.com/robotforum/index.php?topic=12663.0
答えが出ていないように見えるのだが、...。
Mac用のターミナルソフト
goSerial http://www.furrysoft.de/?page=goserial
Zterm http://www.dalverson.com/zterm/
goSerial は Donte のみで利用が可能。
使いやすい。
beagleboneのUbuntuで、
一般ユーザからrootになるために、su をしたり、sudoでコマンドを入力していたけど、
どっちもできない。 あれ?
こっそりと教えもらったら、 sudo su と入力するのが正解でした。
単にsuではルートになれないのね。
$ ./rtkrcv -d /dev/tty.usbmodem1411 -o ../single.conf
invalid option value pos1-snrmask (../single.conf:46)
エラーがでて、先にすすまない。 ublox 6Tでも同じ。
違いをしらべてみたら、
「Unixは伝統的に /dev/tty* は受信用、/dev/cu* が発信用である。」 とあった。 へ〜。
じゃ、GPS受信機用には、ttyを使おう。
$stty -help
stty: illegal option -- -help
usage: stty [-a|-e|-g] [-f file] [options]
$stty -f /dev/tty.usbserial-AH01I5ON
speed 9600 baud;
lflags: -icanon -isig -iexten -echo
iflags: -icrnl -ixon -ixany -imaxbel -brkint
oflags: -opost -onlcr -oxtabs
cflags: cs8 -parenb crtscts$stty -f /dev/tty.usbserial-AH01I5ON 115200 では 速度が変更できない?
なんだかわからないなぁ。
screen /dev/tty.usbserial-AH01I5ON 115200 では OK
以下の質問者と同じ状況。
http://www.societyofrobots.com/robotforum/index.php?topic=12663.0
答えが出ていないように見えるのだが、...。
Mac用のターミナルソフト
goSerial http://www.furrysoft.de/?page=goserial
Zterm http://www.dalverson.com/zterm/
goSerial は Donte のみで利用が可能。
使いやすい。
beagleboneのUbuntuで、
一般ユーザからrootになるために、su をしたり、sudoでコマンドを入力していたけど、
どっちもできない。 あれ?
こっそりと教えもらったら、 sudo su と入力するのが正解でした。
単にsuではルートになれないのね。
$ ./rtkrcv -d /dev/tty.usbmodem1411 -o ../single.conf
invalid option value pos1-snrmask (../single.conf:46)
エラーがでて、先にすすまない。 ublox 6Tでも同じ。
2013年11月30日土曜日
日本の交流電源の周波数
以下、文献からの引用(一部、文章を修正)
1882年(明治15年)に東京電燈株式会社が設立され、石炭火力による25kWのエジソン発電機を用いて銀座2丁目のアーク灯が灯された。 この時点では、直流を送電していた。その後、東京の各所に210ボルト3線式の直流発電所が設定された。
1884年(明治17年)に大阪電燈会社が設立されて、アメリカのトムソン・ハウストン社(のちにエジソン社と合同してゼネラル・エレクトリック社となる)の60Hz1150Vの発電機を採用(明治23年)した。米国では、エジソンとトムソン・ヒューストンとの間で、直流ー交流論争が起こっており、大阪では交流を採用した。
東京でも1895年(明治28年)火力発電所の建設にあたって交流システムの採用を決定し、「ドイツのアルゲマイネ社(AEG)」の50Hz3000V 265kWの発電機を採用した。
(引用文献:桂井誠著、基礎エネルギー工学、数理工学社,pp49-50)
その後統一されることなく、現在に至る。
以下、Wikipedia からの引用
60Hzと50Hzの境目は、糸魚川と静岡の構造線に沿う。(Wikipedia: 糸魚川静岡構造線)
1882年(明治15年)に東京電燈株式会社が設立され、石炭火力による25kWのエジソン発電機を用いて銀座2丁目のアーク灯が灯された。 この時点では、直流を送電していた。その後、東京の各所に210ボルト3線式の直流発電所が設定された。
1884年(明治17年)に大阪電燈会社が設立されて、アメリカのトムソン・ハウストン社(のちにエジソン社と合同してゼネラル・エレクトリック社となる)の60Hz1150Vの発電機を採用(明治23年)した。米国では、エジソンとトムソン・ヒューストンとの間で、直流ー交流論争が起こっており、大阪では交流を採用した。
東京でも1895年(明治28年)火力発電所の建設にあたって交流システムの採用を決定し、「ドイツのアルゲマイネ社(AEG)」の50Hz3000V 265kWの発電機を採用した。
(引用文献:桂井誠著、基礎エネルギー工学、数理工学社,pp49-50)
以下、Wikipedia からの引用
60Hzと50Hzの境目は、糸魚川と静岡の構造線に沿う。(Wikipedia: 糸魚川静岡構造線)
ただし、以下の地域では供給約款の本則とは異なる標準周波数を定める。
- 新潟県の60Hz地域 - 佐渡市全域、妙高市・糸魚川市の各一部
- 群馬県の60Hz地域 - 安中市・甘楽郡南牧村・吾妻郡の各一部
- 長野県の50Hz地域 - 佐久市・松本市・大町市・飯山市・小諸市・安曇野市・下水内郡栄村・下高井郡野沢温泉村・北安曇郡小谷村・北佐久郡軽井沢町の各一部(供給約款上は「長野県の一部」とのみ表記する)
ーーーー(引用終わり)
新潟県は、基本50Hzなんで関東の文化圏だっていうことが分かる。
佐渡市と糸魚川市で60Hzを使っていることから、また、これらの地域は、富山の影響が強い(結びつきが強い)地域だってことも分かる。 電気の周波数から文化のつながりが分かるなんて面白いよね。
北海道や九州の一部では、戦後しばらくは50Hz,60Hzが混在していたらしい。
これらの混在エリアについて文化的なつながりを調べると、これまた面白そう。
2013年11月29日金曜日
新しいアンテナの位置を計算中
新しいアンテナの位置を0093(千丁)のデータをつかって、計算中。
-3505525.8182 4089004.3529 3405062.8058
まだこれには、20cm程度の誤差がありそう。
-3505525.8182 4089004.3529 3405062.8058
まだこれには、20cm程度の誤差がありそう。
登録:
投稿 (Atom)