More from: GPS

面白いモノを見せて貰った

今日の午前中に営業に来た人に面白いモノを見せて貰った。
パッと見ではポケベル(古っ!)かと思ったが、片方からリングの付いた紐が出ている。
その紐を引くと派手な音が鳴り、同時に自分の位置を通報するメールが出せるというモノで、NTT docomo等で商品化している子供用の携帯電話のようなモノだった。
GPSユニットを内蔵していて自位置を計測してそのデータ(NMEA形式と思われる)をテキストデータとして送信できるということなので、定期的にそのデータを送ることが出来れば移動体のロケーターとして使えそうだ。
驚いたのは使用料金で、月額490円という破格な料金設定だということだ。

通常の携帯電話と違ってキーボードが無いので電話番号を入力しての通話は出来ず、あらかじめ登録した電話番号(1つ)にしか電話をかけることは出来ない。
電話を掛けるには本体に一つだけ付いているボタンを押すことで発信するのだが、スピーカーホンのように顔から離したままで通話が可能。
周囲の環境にもよるが、顔の前に持ってきていれば問題無く通話が出来た。
また通話が終わると自位置のデータをメールで送信する仕様となっているのが面白い。

小さな子供や老人に持たせれば防犯効果があるだろう。
他にもビジネスでの用途はいくつか思いつくが、それは内緒ということで(笑)。

ちなみにキャリアはソフトバンク。

←クリックしてくれると嬉しいです。

未だに4800bpsなのか・・・・・・

PC用のGPSレシーバ(I-O DATA 高感度USB接続GPSレシーバー「NAVI CLIP」 UMGPS/MF
)の仕様を見ていると、PCへのデータ転送速度が4800bpsとなっている。
この製品はUSB接続の製品なのだが、昔のRS-232C接続の製品もこの速度だったので、未だに変わっていないようだ。
10年ほど前にDebian GNU LinuxをベースにGPSレシーバとFOMA端末を接続した小型システムを開発したことがあるが、その際GPSレシーバとの通信速度が4800bpsというのがネックになった。
というのは当時でもLinuxのシリアルドライバで設定できるRS-232Cの通信速度は9600bpsが最低で、それ以下の速度に設定することが出来なかったため。
ハードウェアとしては16550A互換のUARTなので、150bpsといった低速の通信速度にも対応しているが、Linuxのシリアルドライバがそれに対応していないために、そのままでは4800bpsでの通信が出来ない。
16550Aの通信速度は2バイトのレジスタの内容で決定されるが、Linuxのドライバはその内の1バイトしか書き換えないらしい(9600bps以上ならそれでも設定可能)ので、プログラムで該当のレジスタ(分周レジスタ)を直接書き換えるようにして4800bpsでの通信を可能にしてGPSレシーバから座標データを読み込めるようにした。
この時はC言語でプログラムを書いていたが、レジスタを直接書き換えるのには「outb」関数を使った覚えがある。
#outb(0x80,レジスタのアドレス)ってな感じで。
つか、こんなプログラムを書かないと使えないデバイスってどうよ?と思ったのは内緒(笑)。

似たようなことを一昨年にも書いていた(汗)
「Windows用ddコマンド」

←クリックしてくれると嬉しいです。