HAMのPC利用

携帯を持たされて、早1年経過した。元来、電話と言う暴弱無尽な割り込み装置は 嫌いだったので、ずっと避けていたんだ。けど、諸般の事情によって持つ事になった んだ。

最初は色々な機能のどれが必要で何がいらないとか、どのくらいのパケットが飛ぶか なんて分からなかったので、いわゆる標準コースを選んでいた。 でも、ここ何処機能だとか、乗り換え検索とか、着メロも使わんし無駄だから、契約 解除だな、となりました。

携帯屋へ行って、契約縮小してきました。あのー、Webなんて使いませんから外して くださいって、奇麗なおねーさんに言ったんだ。そしたら、おねーさんの言うには、 外しちゃうと、メール出来なくなりますよだって。

そーか、Webもメールも、インターネトだもんなあ。ゲートウェイ代を払わないと、接続 できんわけだ。そなら、それは残しておいて、パケ代を安心パックから縮小するか。

そしたら、おねーさんが、写メしますか? ですって、 おいら、写真の取り方すら知らない、CUI人間ですからって言いましたよ。 だったら、外せますね。ただ、スパムメールと か、添付を受取ますか? ですって。この質問には、勿論、nil って返答しました。

おねーさんの言うには、受信する時のパケット代も、受信者負担との事。いい商売して ますなあ。虎視眈々と、金を巻き上げる事を狙ってるよ。

最後に、契約書作りますから、本人確認と言われて、生年月日を筆談させられました。 プライバシー保護ですってさ。そして、身分証明を求められた。免許証を出したけど、 免許証無い人はどうするんだろう? 公的機関が発行する証で写真付きって言うと、 他にどんなものがあるのだろう? パスポートぐらい? ちと大げさ過ぎるような気が。

どうせなら、携帯に写真付き、住所記載して、ロックしちゃえば。で、ロックを外すと その携帯は機能しなくなる。勿論、こんな物騒なものは、パスワード付きにする事。 これで、私設の身分証明書の出来上がり、どうでっしゃろ、この案!

店を出てチャリに乗ろうとしたら、ハンドルに赤い荷札が付いてました。何だろうと 思って見ると、人生初の駐輪違反警告書でしたよ。曰く、後1時間以内に移動しないと GCしちゃうぞと言うマーキングだったのです。鼻の下を伸ばして綺麗なおねーさんと長話をしてた 報いなんでしょうかね。

emacsは死んだ

Emacsは死んだなんて言うタイトルの文書が 上がっていた。

思えば、emacsとのお付き合いは、18.Xの頃からだったような。フロッピー1枚に 収まるようにコンパイルして、持ち歩いていたなあ。でも、ある日そのフロッピーを忘れた為 viとの格闘を余儀なくされ、以来vi派に転向しちゃったんだ。でも、数年前からは、 括弧を多用する時だけ、emacsと言う両刀使いモードだ。

昔話はともかくとして、emcasだけに閉じちゃうってのは頂けないねぇ。”UNIXと言う考え方” (オーム社)と いう本を開発陣の方は、読んで欲しいぞ。

おいらも、久しぶりに再読してみるかな。

HAMのPC利用

アマチュア無線の業界誌であるCQ誌が、パソコンの利用紹介に力を入れ始めた。先月号では、無料で 使えるOpenOfficeを有効活用しようという連載が始まった。何でも、OpenOfficeが3.2になって 使いやすくなったとか。

おいらにはOfficeなんて無縁な世界だけど、つられて取りに行ってみた。そしたら、USBに入れて どこでも使えますよと言う、ポータブル版が提供されてたので、もの珍しさも手伝って入れてみた。 展開した時、どれぐらいの容量になるか分からなかったので、ポータブルなKINOPPIXが入って いる2GのUSBに同居させた。総容量は250Mだったよ。これって、省容量な方だろうか?

起動してみると、Sunのロゴが見えたりしてこの時期微妙だな。次回のリリースでは、Oracleマーク になっているのかしらん? Sunのマークが欲しかったら今のうちだよ、とか言ってみる。 起動してから使えるようになるまで、えらい時間がかかるのは、USBの遅さによるもの? それとも 持って生まれた遅さゆえ? 多分、使う事はないだろうけど、一応入ってるという事を頭の隅に 入れておこう。

そうそう、OpenOfficeと言えば、久しぶりにDebianをUpdateしたら盛大にUpdateしてたなあ。3.2 にでも成ったかと思ったら、2.4でしたよ。こちらもDiskの肥やしかな。頑張っているプロジェクトの 皆さん、ごめんなさいです。

最近は、APPLEのiPhoneでもHAM用の便利ソフトが流通してるらしい。モールス通信ソフトやら 人工衛星の追尾ソフトやらデジタル通信のソフトやらいろいろあるみたい。こうなってくると アンドロイドとやらに載るのも時間の問題だろう。そう言えば、SmallTalkで追尾ソフトを開発 すると言っていたあの人は、ソフトをリリース出来たのだろうか? ちょいとご無沙汰してるな。

3月号のCQ誌は別冊付録で、ハムログの紹介があった。ハムのログと言えば、いわずと知れた 交信記録の事だ。昔は、本当にログブックと言うノートに記録してたんだけど、今はPCで記録か。 データベースになってるので、過去に交信した局かどうかなんて、あっと言う間に調べてくれる。 便利な世の中だわい。

でも、PC利用って言うと、もっとHAMに特化したものにしたいな。PCではないけど、PICを使って コンデンサやらコイルの値をしらべちゃおうと言う、電子工作の記事が出てて、へぇーとなった。 半田こてを振り回す代わりにキーボードを叩いて機能を構築するのも面白いかも。ソースが 公開されてるそうなので、PIC語に出会えるかと思って 行ってみた。 てっきりPIC語 と思っていたけど、Cで書いてあるのね。まあ、アセンブラでも書けない事はないだろうけど、 途中で嫌気がさしてしまう事請け合いだから、文句は言うまい。でも、PICの場合は、焼機が 必要になったりして、PICと心中する気でやらないと。

その点、こちらの方はお手軽極楽モード かな。電源も必要無いし、USBに挿すだけで、始められるから。仲間内に紹介したら 、それを使って何するぞと言う反応。それじゃ、 大人の科学で8Bitマイコン なんて、どうでっしゃろ。

もっとお手軽にと思ったら...

とあるページを見てたら、Plamo LinuxにもHAM屋さんが居て、いろいろとHAMの便利ソフトを 添付してる事を知った。 Plamo-contribのHAMradioの部だ。

試してみたいけど、それだけのために、CDを何枚も落としてくるのも憚られる。この際だから、 Debianで試してみるかな。

まずは、なじみのある MorseDecoderからだな。 おいらがいいかげんに作った時と違って、真面目にやってるみたいだ。信号の強弱を補正する AGCを付けたり、FIRフィルターでバンドパスを実現してたり。どこの人かと思ったら、ドイツ人 みたい。

早速ソースを取ってきて追試を始めてみたんだけど、configureで引っかかったよ。orz libguiが無いとかぬかす。GUIなんてやらないから当然入っていないだろうに。取りあえず 無いと言われたのを取り寄せたら、関連するものがぼろぼろとくっ付いてきた。

で、configureは出来たんだけど、今度はmakeで、何たら.h が無いと抜かす。今度は何たら-dev を入れたら、ちょびっと先に進んだ。けど、やはりエラー。Google先生に聞いたら、その ファイルは、どこそこのパッケージにあるよと言われた。取ってきて入れたら、やっと コンパイルを完了した。FFTは、GSLにお任せだったのね。

早速起動したけど、今度は設定変更しようとすると、/dev/audioも/dev/dspも無いと抜かしおった。 あれ、VMWARE上のDebianで音は一度も試した事無かったっけかな? 無いなら入れる だけ。先生に聞いてみたら、alsaちゃんらしいので入れた。でも、デバイスは 生まれてこない。更にしつこく聞いてみたら、

modprobe snd-pcm-oss

しなきゃいけないみたい。これをやったら、デバイスが出てきたよ。でも、reboot するといなくなっちゃうんだ。やはり最初から使えるようになってて欲しいなー。 えーと、/etc/modprobe.dの中かな?

こやつのalsa-base内で、該当行のコメントを外してやったら、やっと大丈夫になった。 やれやれ。 それにしても、soundなんて言うひっかけファイルも置いてあって迷っちゃったじゃ ないですか。(内緒の話だけど、最初引っかかってしまったよ。orz)

そんじゃ、折角ソースがあるので、ちょっと覗いてみる。

sakae@debian:~/work/morse2txt-1.0.0/src$ wc *.c
   183    583   5820 agc.c
   302    876   8766 audio.c
    33    182   1113 audio_alsa.c
   196    768   6867 audio_oss.c
   257    462   7411 callbacks.c
   206    640   5078 dglitch.c
   187    622   4910 dt_window.c
   381   1320  10658 fir_win.c
   566   1523  20512 interface.c
   297    886   9394 interface_il.c
    73    250   1848 main.c
  1103   4300  42778 morse.c
    27     37    588 morse_stats_cb.c
   146    446   6040 morse_stats_i.c
    97    286   3633 preferences.c
   135    281   5351 prop_callbacks.c
   303    942  13927 prop_interface.c
   116    287   2961 support.c
    32     64    563 utility.c
  4640  14755 158218 合計

これを見ると、GUIゆえに本数が増えているようです。本質的な部分は、morse.c ぐらいですかね。見て見る。

typedef struct ts_morse_2_char
{
/*! The morse code stream. */
/*! Morse code streams are defines as follows:
    The first three nibbles represent the morse character data stream, the fourth
    nibble represents the number of elements in the character.
    A binary 1, corresponds to a dah, and a binary 0 corresponds to a dit.
    For example:
        c -.-. is represented by b1010 0000 0000 0100, or 0xA004
*/
    uint32_t morse;
/*! The character(s) represented by the morse data stream as defined in morse. */
    char *character;
} ts_morse_2_char;

/** Morse code stream to acsii conversion table.
 *  An array of ts_morse_2_char structs.
 *  @sa ts_morse_2_char
 */
const ts_morse_2_char MORSE_CODE_DECODE_TABLE[] = {
    {0x0001, "e"}, /* .             */
    {0x8001, "t"}, /* _             */
      :

全体的に黒々したソースでした。こういう風に書かれちゃうとJavaみたいに見えて 読む気が無くなっちゃうんだよなあ。しっかりコメントが入っているのはいいけど コードとコメントの区別を色分けしてくれるようなツールじゃないと、だめだな。 それに、変数名が長すぎるのも気になるぞ。

上記は、モールス符号と文字の対応表ですな。こういう表現もあるのね。参考に なります。もう疲れたからやめる。コメントの多さも好し悪しだなあ。

他のものも見るぞ

モールス練習機があったので、試してみた。まずは、Morse Classicから。 コンパイルすると、morseとQSOという2種のアプリが生成された。morseと言う方は 信号発生器だろうと予想して、いきなり起動してみた。

sakae@debian:~/work/morse-2.1$ ./morse
Usage:
morse [options] < text_file
morse [options] words words words
morse [options] -r
morse [options] -i
Options:
-i    Play what you type.
  :
-X    Set error volume. Defaults to 0.5.
      Error volume 0 means use console speaker.
-x    Set frequency of error tone, default 2000.0Hz

普通、-hとかで使い方が出てくると思うんだけど、いきなりでびっくり。こういうのも ありかな。これ単独でもモールスの練習が出来るんだ。

sakae@debian:~/work/morse-2.1$ ./morse -r -f 500 -b
w1 f_w/-3 z 8itb1"om * s cgh z 9moj msyx vn k5j(96fpu; d7'
ob meqy. xb8sike,p)*ca_3=9 it ar1aup_n:$il) th0h8tm3i* 3wu

そんじゃ、QSOの方はどうなんだ。いきなり起動しる。

sakae@debian:~/work/morse-2.1$ ./QSO
GM4ZNX de WA6DGX
My location is East Windsor, Indiana.
UR RST 588=588.
Rig is a 250 watt Swan 140 and antenna is a rhombic.
It is hot and humid here.
QRV
My name is Alexandra.
I am an Advanced licence ham.
QRN 3
My age is 59.
Occupation is teacher.
GM4ZNX de WA6DGX

成る程、実際の通信文を出力してくれてるんだ。そなら、

sakae@debian:~/work/morse-2.1$ ./QSO | ./morse

こうやって使えと。実にunix的で宜しい作りだな。シアトル方面の人は見習うべき。 QSOの正体がどうなってるかソースを読んでみたよ。いろいろな文面をランダムに 組み合わせているという、まっとうな作りになってましたよ。

次は、qrqと言う、コールサイン(無線局の呼び出し符号)の聞き取り練習ソフトです。 昔を彷彿するようなCUI画面になってます。コピペした時、縦線・横線が文字化け してますが、オリジナルでは、ちゃんとした線になってます。これを実現する為、 ncurseなんていうのを使ってて、おお懐かしいとなりましたよ。

lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqklqqqqqqqqqqqqqqqqqqk
xQRQ v0.1.4 by Fabian Kurz, DJ1YFK                         xx     Toplist      x
xHomepage and Toplist: http://fkurz.net/ham/qrq.html       xx                  x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjx DL4UNY    102694 x
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx AK7V       86857 x
xUsage:                                                    xx ZL2BSJ     83537 x
x After entering your callsign, 50 random callsigns        xx DF6FR      81092 x
x from a database will be sent. After each callsign,       xx DL4DZ      74871 x
x enter what you have heard. If you copied correctly,      xx T94DJ      65521 x
x full points are credited and the speed increases by      xx K8DD       62572 x
x 2 WpM -- otherwise the speed decreases and only a        xx AA1XV      61072 x
x fraction of the points, depending on the number of       xx KC0VKN     60906 x
x errors is credited.                                      xx LA4RT      60631 x
x                                                          xx LA1BFA     56911 x
x F6 repeats a callsign once, F10 quits.                   xx K1GPL      56900 x
x                                                          xx CT1DRB     53904 x
x Settings can be changed with F5 (or in qrqrc).           xx HB9FBLF    53732 x
x                                                          xx HB9FBL     52498 x
x Score statistics (requires gnuplot) with F7.             xx OM4KW      52241 x
x                                                          xx KB1OOO     51313 x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjx DK9HE      50170 x
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx KX9Y       47876 x
xPlease enter your callsign:  MYCALL                   INS xx S51DA      42802 x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjmqqqqqqqqqqqqqqqqqqj

このソフトもちょっとソースを覗いてみました。そしたら、

        /* speed is in LpM now, so we have to calculate the dot-length in
         * milliseconds using the well-known formula  dotlength= 60/(wpm*50) */

こんなコメントが書かれていたりしてちょっと得した気分になりました。また、波形の 立ち上がり/立下りが、フェードイン/アウトするように工夫されてたりして、結構 参考になりました。いやぁ、ソースが読めるっていいですね。

May the source with you !

WebSDR

頑張って人様の書いたソースを読むのもいいけど、もっと楽しい事がある。それは、 WbSDR。分解すると、Web + SDRだ。Webは兎も角として、SDRって何よ。

タマにも分かるSDRの作り方が 参考になるかな。やってみたいな、SDRなんだけど。。。世の中には、太っ腹な人 が居て、Webで公開されてるんだ。

公開してる人達充実してる所ARRLのお墨付きと、いろいろあって面白い。