全体的に

Perl 以外の話が例年にも増してたいへん多かったように感じた。といってもやっぱり Perl を知ってること前提にして他の話題、というパターンが多いように感じた。リアルタイムで聞けなかったトークも結構多かったので録画の公開が楽しみ。

以下のほかにもいろいろ聞いたけど、特に印象深かったものについて

500 Can't connect to yapcasia.org:443 (certificate verify failed): Dockerとか vagrant とかちょっともはや人に聞けない感じになりつつあるけど、自分で試すモチベーションが今まで沸いてなくてさっぱり知らなかったので、発表で概要だけでも掴めたのがよかった。

500 Can't connect to yapcasia.org:443 (certificate verify failed): モルガンスタンレー社内の Wiki システム (TWiki) の話だったんだけど、社内システム自体が1都市につき2つのDC、そのセットが世界3箇所に冗長化されてるとからしくて、なんかすごかった。あと TWiki の集計マクロとかがやたら高機能で、なるほどな〜と思ったりした。

500 Can't connect to yapcasia.org:443 (certificate verify failed): コンパイル遅いのがかなり厳しい。sbt で差分コンパイルしても最高の依存元を最高に書き変えるとやっぱりフルビルドだぜって言ってた。コンパイル時間とか全く本質的ではないのに、依存元へのコード変更を入れるのを避けるモチベーションになるのは厳しい感じがする。

500 Can't connect to yapcasia.org:443 (certificate verify failed): 自分の発表と結構かぶりそうだなと思ってビクビクしつつ聞いたけど、マコピーさんはちゃんと体系的に電子工学学んだ人みたいで、仕事でも使っているようなので、ちょっと自分とはレベルが違いすぎるんだけど、そういう人でもハードウェアっぽい人とは出会いがないのか〜と思うところがあった。

LT の g0v.tw の話、かなり面白かった。日本でもできるのかな〜と考えてしまう。

自分の発表について

完全に Perl に関係ないし、普段の温度感から、みんなあんまりドライバとか物理層には興味がないのだと思っていて、発表もシーンとなるのを想像していたが、思ったより人がいっぱいきてくれたし、ウケが良かった。「やってみたくなった」という人が何人かいたので嬉しかった。

その後ちょくちょく質問があったけれど、仕事では一切物理層触っていないので、これは完全に趣味の話です。

僕は、回路設計や基板設計といえば、それ系の大学いって体系的に勉強した人しかできないものだ、という思いこみがあったのだけれど、プログラムを書くのと同じように独学でもそれなりに楽しんで理解しながら学習することができるということが、最近わかってきた。

とはいえ、とにかくこういうのは基礎が大事で、特に質の高いエネルギーを広範囲に扱う分野なので、うっかり事故を起こして火事とか起こさないようなベース知識がとにかく必要だし (ICは良く燃える)、設計はできないけど既存の組み立てるだけはやるみたいな電子工作おじさんになりたくないみたいな気持ちが大きくあって、そういう意味でも基礎が大事と感じる。

独学で体系的に電子工学を1からモチベーションを保ちながら学ぶ良い方法があったらいいけど、結構むずかしい。特にモチベーションを保つためには「適度な問題」の供給が必須だけど、普通の教科書ではそういった問題は載っていない。

アマチュア無線について

もうちょいアマチュア無線の話も聞きたかったみたいなことを一瞬聞いたけど完全に時間に入らないのと、YAPC の趣旨からすると離れすぎるので (話したいことはあるけど) 殆ど入れなかった。

アマチュア無線をはじめて良かったのは「適度な問題」がたくさんあって、「次はあれをやろう」というのが結構続きやすいとかがある。すぐ思いつくだけでも以下のようなものがそこそこの難易度かつ実用的に実装できる。

  • エレキー
  • オーディオピーキングフィルタ
  • USB インターフェイス

これは本来アマチュア無線をはじめるときに思っていた意図とは違うけど良かった。それと試験勉強のためにオームの法則から基礎をやりなおしたのも役に立っている。

この日記読みかえすとアマチュア無線周辺の問題意識から Chrome App でログツール作ったり、golang で SDR っぽいことしたりもしていて、今までやったことないことをはじめるきっかけとして多大に役に立ってる。

「勉強」できないエンジニアなので、適切な問題の供給がされないと学習が全くできない。これは基本的に非効率だけど、適切な問題さえあれば楽しいので無限に掘りさげて学習できる。きっかけを作るためのアマチュア無線というのは結構いいなと考えてる。

Raspberry Pi Model B+ (Plus) - Raspberry Pi

Raspberry Pi

3.0 / 5.0

第一級アマチュア無線技士試験問題集 (合格精選400題) - 吉川忠久

吉川忠久

3.0 / 5.0

基礎からよくわかる無線工学―第1級・第2級アマチュア無線技士国家試験準拠 - 吉川 忠久

吉川 忠久

3.0 / 5.0

  1. トップ
  2. tech
  3. YAPC::Asia Tokyo 2014 の感想

Slack 側の設定

チームアドミンの Gateways で Enable IRC gateway してもらう

Tiarra 側の設定

plain text を有効にしない場合 SSL のみになるので tiarra 側でも SSL の設定をする。Tiarra over SSL without stone に書かれている通りだけど、リリース版の tiarra はだいぶ古いっぽいので、最新のを svn でチェックアウトしてくる

$ svn co http://svn.coderepos.org/share/lang/perl/tiarra/trunk/ tiarra-head

IO::Socket::SSL を入れた perl を用意する (普通に開発してると入ってるけど、デフォルトでは入ってないっぽい)

/path/to/my/perl /path/to/tiarra-head/tiarra


で起動するように変える。

Tiarra の conf

networks に

name: xxxx-slack

を追加して設定を書く。設定は https://my.slack.com/account/gateway に書いてある。エンコーディング設定を忘れずに…

xxxx-slack {
    host: xxxx.irc.slack.com
    port: 6667 
    user: xxxx
    password: xxxxxxx
    in-encoding: utf8 
    out-encoding: utf8 

    ssl {
        version: sslv23
        ca-path: /etc/ssl/certs
    }    
}

ca-path は ubuntu の場合は上でいい (sudo apt-get install ca-certificates が必要)

まとめ

Tiarra は実行環境 (perl) アップデートしても Tiarra 自体をアップデートしても config 全く書きかえず使い続けられてやばい。10年以上普通に使ってる。

  1. トップ
  2. tech
  3. Slack に Tiarra から接続する (SSL)

もちろん Illustrator を起動してエクスポートなり別名で保存なりすればいいのだけれど、複数ファイルを頻繁にコンバートしたいときやはり面倒なのでコマンドラインで自動化したい。

今まで .ai ファイルが .pdf 互換ということで、.ai の拡張子だけを変更してコピーするみたいなことをしていたけど、ファイルサイズがかなり大きくなってしまう。PDF として見るだけなら必要ないデータもあるはずなのでお手軽に削減したい。

ghostscript を使う

http://askubuntu.com/questions/113544/how-to-reduce-pdf-filesize に書いてある通りだけどコピペしておく

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input1.ai input2.ai

こうするとスクリーンをターゲットに最適化される。ベクターデータとかは特にクオリティーは落ちず、余計なデータが省かれるだけになる。入力には .ai ファイルも指定できる。

ビットマップデータはかなり高圧縮になってしまってクオリティがかなり落ちたりするので、そういう場合は -dPDFSETTINGS=/ebook を指定するとサイズが多少増えつつもマシになる。

これ、入力ファイルを複数指定すると結合した1つのファイルができて便利。

こんな感じ

-rw-r--r--@ 1 cho45  staff   1.5M  9  1 20:07 2-block.ai
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=2-block.pdf 2-block.ai
-rw-r--r--@  1 cho45  staff    51K  9  2 22:19 2-block.pdf

_人人人人人_
> 30分の1 <
 ̄Y^Y^Y^Y ̄

ベクターデータだけだと全く見た目には見分けつかない。

  1. トップ
  2. tech
  3. Illustrator で作った .ai ファイルをファイルサイズを減らした .pdf に

とにかく面倒だから全部の http リクエストを監視してボタンをオフにしたい。という要件

いまいちいい方法が思いうかばないけど以下のようにして実現した


http の状態管理するサービスをつくる

myApp.factory('httpState', function () {
    return {
        processing: 0
    };
});

$httpProvider のインターセプターで http の状態を更新する

myApp.config(function ($httpProvider) {
    $httpProvider.interceptors.push(function (httpState) {
        return {
            'request': function (config) {
                httpState.processing++;
                return config;
            },
            'response': function (response) {
                httpState.processing--;
                return response;
            }
        };
    });
});

コントローラでスコープに入れておく

myApp.controller(function ($scope, $http, httpState) {
    $scope.httpState = httpState;
});

テンプレートで状態を見て disabled にする

<button ng-disabled="httpState.processing > 0">foobar</button>
  1. トップ
  2. tech
  3. AngularJS で http リクエスト中画面内のボタンを disabled にする

特にヘッドフォン新しく買ったりというのはしていなくて、というのも通勤中・仕事中はノイズキャンセルがついている QC15 一択しかなくて他のを使う気にならないからなんだけど、自宅では別のを使うようにしている。

Bose QuietComfort 15 Acoustic Noise Cancelling headphones ノイズキャンセリングヘッドホン QuietComfort15-S - BOSE(ボーズ)

BOSE(ボーズ)

5.0 / 5.0

自宅に今あるのは

  • audio-technica ATH-A500
  • AKG K77
  • audio-technica ATH-EP700

だけで、あとは壊れたりで失なわれてしまった。

この中で一番よく使っているのは ATH-EP700。

オーディオテクニカ ATH-EP700 BW 楽器用 モニターヘッドホン 開放型 有線 軽量 楽器練習 電子ピアノ 6.3mmヘッドホン端子変換プラグ付き 【国内正規品】ブラウン - Audio Technica(オーディオテクニカ)

Audio Technica(オーディオテクニカ)

5.0 / 5.0

audio-technica 製品ってだいたい高い音がキツくてつらいんだけど (ATH-A500 もそうだし、店頭とかで試聴すると片っぱしからこの傾向があってマジ謎)、ATH-EP700 に限っては全くそういう傾向がなく、ずっと聴いてても疲れない。

装着感は ATH-A500 のほうが圧倒的に良いんだけど、ATH-EP700 もイヤーパッドは布で悪くなく、ただハウジングが小さいので耳に乗る形になってしまうのだけちょっと嫌

AKG K77 はときどき使うといいんだけど、ATH-EP700 のほうが元気いい感じなのであんまり使ってない。

でもって最近ひさびさに AKG K540 というのが欲しい。イヤーパッドが布かつハウジングが広いので装着感が良くて、音的には ATH-EP700 に似てるのでまさに求めていた感じ

AKG セミオープン型ヘッドホン K540 ブラック K540BLK【国内正規品】 - AKG

AKG

4.0 / 5.0

とはいえ自宅でしか使わないので欲しいと思いつつ数ヶ月経ってる。

白光(HAKKO) こて先クリーナー クリーニングワイヤータイプ 599B-01 - 白光(HAKKO)

白光(HAKKO)

5.0 / 5.0

コテに元々ついていたスポンジがさすがにボロボロになってきてしまっていて (10年以上使ってる…)、スポンジだけ買おうかなと思っていたのだけれど、このようなものが目に入ったので試してみてる。

スチールウールみたいなのにフラックスが塗ってあって、おもむろにコテを突っ込むとコテ先が綺麗になるというしろもの。

メリットとしては

  • 水を使わないので温度が下がりにくい
  • コテ先が非常に綺麗になる (ハンダのりが改善される)

あたりがあるっぽい。特に後者はでかくて、細いコテ先だと先端がすぐ酸化してしまって、スポンジだとなかなか綺麗にならず、先端にはんだが乗らなくなって細いコテ先の意味がなくなるので、かなりライフチェンジングな感じがする。

あとはどのぐらい耐久性があるかという話になるけど、実際使い続けないとわからない。

  1. トップ
  2. tech
  3. はんだごて先クリーナー

Elecraft KX3 を買ったはいいが、電波を出せるようにするためにはこの無線機について国に登録して免許を受けなければならない。国内販売の殆どの無線機は日本の技適を通っているので何も考えなくても免許が下りるのだけれど、KX3 は技適無線機ではないので、面倒なステップがある。

日本において、アマチュア局の無線局免許状を得る際には必ず使用する無線設備について許可を得なければならず、その方法は大きくわけて3つある。

  1. 技適 (技術基準適合証明) 番号を使って申請
    • 殆ど何も書く必要はない
  2. TSS という民間会社で「技術基準適合の保証」をしてもらってから申請
    • 書類審査と金で「保証」してもらう
  3. 落成検査をうける
    • 200Wより送信電力が上の場合この方法しかない。200W以下の場合大変すぎるので普通はやらない

自力で登録証明機関に持ちこんで技適証明を貰うとかという方法もあるけどコストかかりすぎるので普通やらない。今回は2つ目のTSSで保証してもらう方法で、これはアマチュアのみ可能な方法。

TSS 保証

以下のような時間感覚ですすんだ (まだ総通の処理待ちだけど) 総通も処理終わった

  • 2014-08-09: 申請 & 振込
  • 2014-08-20: 音沙汰ないのでメールで問い合わせ (入金連絡とかもない)
    • 11日に入金確認済みだが、混んでて入金日から17日後に審査開始となると言われる
    • ( 紙のほうが早いから切替えてもいい、とも)
  • 2014-09-01: 補正連絡
    • 大した内容ではないので即日補正し返信
  • 2014-09-04: 補正連絡
    • チェックボックスの漏れ一箇所なので即日補正し返信
  • 2014-09-05: 保証のお知らせ
  • 2014-09-05: 総務省のシステムで保証書添付して送信
  • 2014-09-08: 受付処理中
  • 2014-09-09: 審査中
  • 2014-09-10: 審査終了

だいたいメールがくるのが、いつも18時ぐらいだった。

電子申請より紙のほうが早いというのは理解に苦しむけど、たぶん全く自動化せずTSSでも総務省の画面にファイル読みこませてシコシコやってるんじゃないかみたいな遅さなのかもしれない。大変だな

今回やったこと

メインは KX3 の保証認定だけど、ついでにPC変調のデジタルモードについても一括で申請した。つまり

  • 第1送信機 (技適機種) の変更 (外部変調装置を付けると技適から外れる)
  • 第2送信機 (KX3) の追加

つまりどちらも技適外になる。技適から外れると途端に書く書類が増える。以下のような書類で提出した

  • 第1送信機
    • 電波形式・終段菅など全部書く
    • 送信機系統図のPDF (技適機種の場合、系統図内の無改造の無線機内部のついては技適番号で代替できる)
      • 「変更」の場合変更内容もこの系統図に書く必要がある
  • 第2送信機
    • 電波形式・終段菅など全部書く
    • 送信機系統図のPDF
    • 5MHz 送信不可の証明書 (CamScanner でスキャンしたPDFそのまま・英文)
  • 附属装置諸元のPDF
    • デジタルモードの変調方式を列挙したもの

附属装置諸元のPDFに書いた電波形式と、各送信機の送信内容に書いた電波形式が矛盾なく一致していなければならない。これがとにかく手動だと面倒。とりあえず手動で頑張るしかない。

第1送信機 (FT-450DM) の申請内容

やりたいことはPC変調装置の追加だけなんだけど、これをやった時点で技適の範囲から外れるので基本全部の要求事項を書くハメになって面倒くさい。免許状では一括コード指定だけど、ここは個別の電波形式をバンドごとに全て列挙しなくてはならない。

技適から外れるので、申請時に技適送信機扱いにしてはいけない (「技術基準適合
証明設備の使用」のチェックを入れてはいけない)。ただ、送信機系統図内では、無改造の技適機種の内容は技適番号で省略できることになっているので、そこは楽ができる。

電波形式は取説や別紙諸元とあわせる。変調方式は取説にあわせる。

変調方式、いっぱい聞いたこともないのが並んでいるんだけど、基本「その他の振幅変調」と「その他の周波数変調」「SSB」しか使わないっぽい。FT-450D は A3E が低電力変調でF3Eはリアクタンス変調だけど、どちらも選択肢にはない。電子申請だとこのへん完全に一致するように選択しなければいけないので攻略本が欲しいところ。

KX3 の申請内容

直輸入のものなので若干不安だったけど、直輸入でも日本向け保証に関する必要な資料は最初から含まれていた (局発周波数の表・キーも含めたブロックダイアグラム・5MHzブロック証明・変調方法の解説など)。あとは事前に先人のやった内容とかをググっていたからか KX3 まわりで特別な指摘はなかった。

  • 変調形式のところ
    • A3E -> その他の振幅変調 (DSPによる変調)
    • F3E -> その他の周波数変調 (DSPによる変調)
    • J3E -> SSB
  • 送信機系統図
    • なんとなくイラレでイチから書きおこした (送信部分だけでいいはずだけど、一応全部書き出した)
    • 局発と送信周波数の関係表は必須 (電波法に書いてある通り)
    • PC変調装置も入れてある
    • シリアルナンバーも入れてある
      • 実際の送信機に貼ってあるシリアルナンバーの写真とかは添付してない

不安だったけど、このへんは思ったより簡単だった。

補正

書類の形式ミスの指摘が大半だった。あとはデジタルモードの諸元と送信機に書いた電波形式の相違の指摘だった。

ハマったところをメモしておく

  • 「移動する送信機の取替え及び増設の台数」はいろいろ書いてあるが、要するに新規に発効すべき「証票」の数を入れればいい
  • 備考にある既に免許を持っている場合というのは、固定局と移動局でコールサインを一致させるために入れるっぽいので、移動局だけの申請なら何も入れない。
  • 「14 変更する項目」と最後に出てくる「申請届出事項」は矛盾なく一致しなければならない (画面が違うのでウッカリ間違えがち)
  • 送信機系統図を各送信機の画面で添付した場合「添付図面」の「送信機系統図」にチェックを入れなければならない
  • 「変更」の場合は送信機系統図内に変更内容がわかるような記述をすること

電子申請の考えかた

電波利用 電子申請・届出システム Lite = sinsei.xml 編集ツール + 申請ツール

TSS 保証認定のときもこのシステムで sinsei.xml を作って、これを総通に申請する変わりに出す (最終的には、保証認定書を添付して総通にも出すけど)。

sinsei.xml はただのXMLなので整合性が保たれていれば手で編集しても問題ない。特に各周波数帯ごとに電波型式を全部書くのはウェブのシステムでやるとただの地獄なので、一通り入力したら「途中保存」を行って sinsei.xml をダウンロードし、手元で編集したほうが早い。(編集して、再度アップロードしてちゃんと思った通り入力されているか確認する)

余談だけどシステムから出力される sinsei.xml はインデントがタブだったりスペースだったりして、ライブラリを使わずに自分で書いてる臭いがする。

諸元

  • 方式
  • 通信速度
  • 周波数偏移幅
  • 副搬送波周波数
  • 符号構成
  • 電波型式
  • どの送信機で使うか

を全て書く必要がある。電波形式は各送信機で申請する内容と矛盾なく一致する必要がある。

あと、1.9MHz帯は占有周波数帯幅の制限があり一部電波形式は許可されないので、それを送信機側のの電波形式に含めたりしないようにする必要がある。

これは1から書くとだるすぎるので、ネットでころがってただいたい全部載ってますみたいなのを Google Docs にインポートして、足りてない情報と間違っている情報を直して提出した。

  1. トップ
  2. tech
  3. さようなら技適。また会う日まで
  1. トップ
  2. ham
  3. さようなら技適。また会う日まで

http://toroids.info/FT140-43.php

このサイト使ってる。好きなトロイダルコアを選んで、適当にパラメータを入力すればあとのものが計算される。つまり

  • 7MHz で 3kΩ のインピーダンス確保するには? → 9ターンにで、50cm ぐらいの線長が必要
  • 100uH 欲しいんだけど〜? → 11ターンで 55cm ぐらいだよ
  • なんか20Tの作例あるんだけど、インダクタンスどれぐらいを想定してんの? → 350uH ぐらいよ

みたいのができる。特に自分で巻く場合線長計算できるのが大変便利。ただ + 10cm ぐらい余分に切らないとだいたいの場合いろいろ厳しい思いをする。

  1. トップ
  2. tech
  3. トロイダルコアを使うときに便利なツール
  1. トップ
  2. ham
  3. トロイダルコアを使うときに便利なツール

今のところの感触:相手次第だけどDX(海外)にも電波飛んでくれる

アメリカ本土 (ARRL記念局 W1AW/7 = アメリカの西側) と 21MHz帯で交信できた。嬉しい。国内局よりも聞こえるぐらいだったけど、相手が出しているパワーがかなり強い可能性が高いなと思いダメもとで呼んでみたけど大丈夫だった。


最近すこし夜中にCQ出したり、会社いくまえに呼んでみたりしてみてる。意外と国内全域で応答貰えたり呼んでもらったりして面白い。内容は 599BK なのでなんか申し分けないんだけど、それでも面白い。出した電波が直接相手に届くっていう体験そのものが自分には無性に面白い。

  1. トップ
  2. ham
  3. ベランダ・マルチバンドモービルホイップアンテナでのアマチュア無線

と、購入から一ヶ月ぐらいかかった (思ったより早かった) が、無事に免許が下りたので運用できるようになり、7MHz帯で2局交信してもらった。

1局目はかなり近い局で、こちらには599+ぐらいで入っていたが、最初5Wで呼んだけどフルコピーできないようだったので10WにQROして599BK。ちゃんと電波出てて良かった。

2局目は CQ を出していたら、山形の局が呼んでくれた。10Wだとどれぐらい熱くなるかなあと思いながら送信してて、あんまり応答に期待はしてなかったけれど (50W でもなかなか呼んでもらえないので)、結構すぐに応答があってテンパってしまった。599BK のつもりで打っていたけれど、向こうの局がQTHやハンドルを送ってくれてコピーできたので、せっかくなのでこちらからも送らせてもらった。ハンドルだけでもわかるというのは感動的 (聞きとれた!というのと、やはりハンドルを知れると相手に親近感が沸く)。


最近練習するときは25wpm〜35wpmぐらいでやっているのだけれど、実際のところは 18wpm ぐらいでやっとソリッドコピーできるかな、という感触なので、18wpm でCQ出すのが今の僕には適切そう。

  1. トップ
  2. ham
  3. Elecraft KX3 での初交信

結論から言うと、DN-10101 は (商品ページには書いてないが) ステレオ入力可能 (ステレオマイク入力)。これはおそらく SD-DAC63095 や USU08B という型番の商品と同じようで、中身は定評のある VIA チップのようだ。中国製品は外見が同じでも中身が全然違うコピー製品もたくさんあるので結構買ってみるまでわからないところがあって、ちょっとした賭けになってしまうけれど、この製品はアタリだと思う。

上海問屋からメール便で買うとマニュアルがないが、以下から英文マニュアルはダウンロードできる。

書いてある通り、このデバイスはステレオマイク入力が可能なので、SDR 用の入力デバイスとして利用できる。96kHz 24bit サンプリングかつステレオ入力ありの小型デバイスというのは世界的に殆ど存在せず、国内販売されているものでは現在唯一といえそう。本来もっと安いが、安いが故に個人輸入すると送料でかえって高くつくので上海問屋で買うようが納期が安定して良い。

KX3 と繋いで SDR 用のサンプリングデバイスとして使ってみたけど何の問題もない感じ。ものすごい変なノイズとかはない。写真の通りかなり小さいので、持ってでかける用途によさそう。

ただ、マイク入力端子は3V程度直流がかかっているので、カップリングコンデンサが入ってないLINE出力な機械に繋ぐとまずそう。KX3 は 10μF 入ってるので大丈夫っぽい。

出力端子もノイズ少なくて良いけど、どうも手元の Mac だと 24bit 出力はできなかった。16bit なら可能。

  1. トップ
  2. ham
  3. 上海問屋で売っている DN-10101 はステレオ入力可能か?
  1. トップ
  2. tech
  3. 上海問屋で売っている DN-10101 はステレオ入力可能か?

初めて移動運用してみたのでその記録

アンテナ

VCH アンテナと呼ばれるものを作った。全体でλ/2のオフセンター給電のアンテナで、コイルで短縮したり、グラウンドにエレメントを置くことでインピーダンス調整するというもののようだ。

ほぼ設計通りに作った。コイルは100均で買ってきた小さめのシャンプー用ボトルがφ65mmで材質がPETだったのでこれにした。巻いたコイルは 1.5mm アルミ線を自在ブッシュに (2.5mm 間隔) 31T ほど。約 34μH にするらしいので、一応 LCR 計で計って確かめつつ、1ターン多めに巻いてる。

上エレメントは1.5D-2V、下エレメントとグラウンドエレメントは0.75の普通の電線。一応フロートバラン (1.5D-2V の 12回巻き) も作った (が必要なかった)。

河川敷

なんとかそこそこ近所でいい感じに広いところがないか探したが案外そういった場所は少ない。

午前中、河川敷の鉄道の高架近くに設営してみたが、バンド内のノイズがひどすぎるのと、そもそも電車が通るたびに全く聞こえなくなるのでそそくさ撤収して帰宅。

夕方になって、今度は近場の公園をいくつか回ってみたが、先客がいたり、設営できる場所がなかったりで諦め、ふたたび河川敷をうろうろして場所を探し、適当な場所に設営してみた。

アンテナアナライザーを忘れたため、内蔵ATUで送信可能にし、30分ぐらいの運用時間で、9局ほど交信してもらった。3W〜4W しか出していないが、普段自宅から50Wで出している電波よりも強く出ているように感じた (コンディションの違いもあるだろうけど)。

河川敷は開放感があって気持ちがよく。案外集中できて良かった。問題はレジャーシートが必要なこと。アンテナ固定する方法がなかなかないこと (今回既存の設置物を使って固定したが、場合によっては怒られそうなので三脚持っていったほうがいいかもしれない)

公園

公園でも試してみようということで、やってみた。交信というよりもアンテナの調整をしようという気持ちでいって、いろいろ試してみた。

結局、バランをつけず 2m 程度のケーブルを使って給電すると 7MHz 帯の CW あたりで、同調しつつ SWR が落ちきってくれるみたいだったので、これでちょっと運用した。

裏で XPO コンテストが走っていたため、近隣の人からはあまり呼ばれず。5W 出しての運用だったが、愛知県や佐賀県など、ちょっと遠めの地域から、599 以外のレポートを丁寧にしてもらうという感じだった。これはこれで大変楽しい。

バンド内がかなり混んでいて、混信をうけつつの交信になったがなんとかなった。混信がひどくなって CL。

10MHz か 14MHz にも同調するかとちょっと試してみたが、10MHz はある程度うまくいくが 14MHz にはうまく同調しなかった。グラウンドエレメント側が長すぎるのかもしれないが、用意が悪くて試行錯誤ができなかった。課題。

公園は案外人の出入りが気になって集中し難い。また、居住地に近いため不審者扱いされそうで怖い。世知辛い世の中なので、不審さをなくす努力がいる。

まとめ

河川敷での運用は条件が良ければ、本当に最高に気持ちが良いのでまたやりたい。

あとは他にも良さそうな移動場所が近場にないか探したい。以下のような条件にマッチするのがベスト

  1. 人が少ない (迷惑がられる確率を下げたい)
    • この点、河川敷は車で来て騒いでる人がいるので敷居が低い
  2. 固定に利用できそうな設置物がある
  3. 開けている
  4. 椅子がある
  5. 水場が近い
  1. トップ
  2. ham
  3. KX3 ではじめての移動運用

不明なエラー 5002

現象:

  • iTunes からストアで曲を購入しようとしたところ 5002 とかいうエラーがでた。
  • サインアウトしてサインインしなおそうとしてみたら、そもそもサインインすらできなくなった (同じく 5002 エラー)
  • iTunes 以外では発生しない (App Store / Web の Apple Store / Mac OS X の Apple ID サインインは正常)

ググってでてくる情報でなかなか解決しなかったが以下をやったらなおった。

  • store.apple.com から請求情報を開いて、エラーになっている項目があったらなおす
    • ふりがなとかが昔はひらがなだったのがカタカナになっていたり、電話番号のバリデーションが厳しくなっていたりする
    • カード情報そのままでクレジットカードのセキュリティコードを入れなおす
  • iTunes 再起動
  • iTunes 上で「Apple ID を作成…」して入力項目がでてくるところまですすむ (入力しない)
  • iTunes 上で「サインイン…」を選び再度サインイン

ローカルにキャッシュされているアカウント情報とサーバ側のアカウント情報に齟齬が起こると変なエラーがでる? よくわからないけど、エラーメッセージに何の意味もなくて途方に暮れる。Console.app にもエラー詳細など一切出ない。

  1. トップ
  2. tech
  3. iTunes Store で不明なエラー 5002 が出た

1日目

午後は予定があるので午前中だけ



賀茂別雷神社の間違い
















2日目

疲れてしまったのでちょっと回っただけ







メモ

ツイートしたぶんで20社ぐらい。

公共交通機関オンリーだといろいろ厳しい。自転車借りたほうがたくさんまわれるだろう (今回ずっとスーツ着っぱなしだったのでそれはそれで厳しいんだけど)

伏見稲荷大社は昼ごろに行ったけど人が多すぎて微妙だった。早朝にいくのがベストっぽい。

普通に疲れる。

今カメラバッグとしてはZKIN の Yetiを使っていて、結構使ってるけど、これは以下の点で良い

  • デザイン
  • 収納
    • MacBook 13in が入るポケットがある
    • 70-200mm F2.8 も一応カメラつけっぱで入る
    • 3脚固定用の紐もある
    • 収納に対し、3方向からアクセスできる
      • 全面完全開き
      • 左右開き (レンズ交換だと全開きする必要がなく、カバンを地面に置かずに取り替えができる)
  • 上半分ぐらいがフリーで入れられるスペースになっていて、案外入る

今まで使ってきたカバンだと断トツに良い。

ただこのカバンで致命的なのは、とにかく重いことだ。単体で 2kg あるので、カメラ・レンズ・MacBook・その他を入れると余裕で 6kg ぐらいになる。見た目カジュアルっぽいが、めっちゃヘビーで辛い。

ので、もっと軽くてほぼ同じ使い勝手で安くてデザインが良いのを探しています。

KX3のPC 接続用 ACC1は、RS-232C レベルの電圧レベルを想定している(正確には、0VとVCCの負論理になってるけど)

これをBluetooth化してみたという話。

部品

使ったのは

RN-42 は1500円と、余り安くはないのだけれど、国内技適マークがついており合法的に使える。また、シリアル経由または、接続済みBluetooth経由で内部設定を変更できるモードがあり、簡単に柔軟な設定ができる。

ロジック変換には3.3Vレギュレーター付きのちょうど良いのがあったので、これにしてみた。

実際のところ、負の電圧はいらないので真面目にRS-232C変換する必要はなく、単に電圧と論理変換さえできればいいので、ICを使う必要はないけど、面倒なのでこれにした。

レギュレーターの耐圧が14Vなので、13.8V だとギリギリすぎるのと、ドロップ電圧が大きくて結構発熱してしまう。本当ならKX3内部のスイッチングで降圧された3.3Vに接続できたらいいのだけれど、良い方法がない。40mA 流すと 0.42Wは熱に変わってしまってエコではない。

製作

ただ繋ぐだけなのでデータシート見つつ半田付けしたら普通に動いてくれた。

デフォルトだと115200baudになっているので、screen /dev/tty.xxx 115200 で接続した後に、以下のコマンドで設定しなおす。(38400baudに)

// <CR> は改行

// コマンドモードに入る (GPIO5 が10Hzで点滅するようになる)
$$$<CR>
// ボーレート設定
SU,38.4<CR>
// 設定確認
D<CR>
// 再起動
R,1<CR>
// コマンドモードを抜ける
---<CR>

(エコーされないので、ローカルエコーを有効にしたほうがわかりやすい。コマンドモードに入ってから + を送るとエコーが有効になる)

これはどうやら電源を切っても記憶されているようなので、最初の一度だけで良い。

最初、ボーレートの設定方法がわからず、GPIO7をプルアップして9600baudに固定してみたが、上記の方法で自由にボーレートを設定できるので、GPIO7は何もしなくてよい。GPIO7 をプルアップした場合、ソフトウェア設定に関わらず強制的に9600baudに固定される。マイコンとか別途繋いだ場合、設定はボーレート強制したほうが安定するとか、そういう用途に使えそう。

GPIO5 は接続が完了すると出力がゼロになるので、LEDを繋いでいても接続中は電流が流れずエコ。ただ、これは対応するデバイスファイルを open しタイミングで消えるので、ペアリングしただけではチカチカしたまま。

使用感

デバイスを指定すれば自動的にペアリングされ、/dev/tty.xxx に勝手にデバイスファイルが作られるので、それを指定して普通にシリアル通信すればよく、特に Bluetooth だからといって難しいことはない。

遅延がちょっとあって、ケーブル直と完全に同じ使用感という感じではない。

メリット

  • シリアルケーブルがいらない
  • ホストPCのUSBポートを占有しない
  • PC との GND の分離

デメリット

  • KX3側での消費電力増
  • 遅延

無線化できるメリットはあるにはあるけど、めっちゃ便利というほどでもない。サイドに繋いでいるケーブル類の殆どの無線化できたら便利だろうけど、難しい。数本繋いでいるうちの1本ケーブル減ったくらいでは嬉しさがあんまりないなという感じ。

可能なら

電源をスイッチング降圧にしたいが、スイッチングだと

  • デカい
  • ノイズ対策が必要

というのが厳しい。0.6W ぐらいならリニアレギュレータで我慢するほうがいいかもしれない。

あと、丁度いい小型のケースを見つけるのが難しい。今回は aitendo のプラケース (22x11x43)を使ってみたが、aitendo は在庫が安定してないので、タカチの SW-30B (20x18x30) か SW-40B (30x20x40) がいいかもしれない。

RS-232C をモジュール基板でやってるのも無駄なので、表面実装の適当な Vth 低い FET でやるようにできるとよさそう。

追記

SQ,16 というコマンドをうちこむとレイテンシが改善されるらしい。やってみたけどちょっとマシになる程度

$$$
SQ,16 // low latency 優先モードになる (スループットが落ちる) SQ,0 でデフォルト
GQ // 現在のモード
  1. トップ
  2. tech
  3. KX3 ACC1の無線化 (シリアルポートのBluetooth化)
  1. トップ
  2. ham
  3. KX3 ACC1の無線化 (シリアルポートのBluetooth化)

オリジナルのツェップアンテナはハシゴフィーダーを使うが、なぜハシゴなのかよくわかっていなかった。

要は、エンドフェッドでインピーダンスが高いワイヤーへの給電に、同調型のハシゴフィーダーを使うことで、インピーダンス変換を行うということのようだ。

ハシゴフィーダーを同調型として使うことで、平衡経路であるハシゴフィーダー上からは、位相が反対の定在波が立ち打ち消しあって電波がでないが、インピーダンスは長さによって (伝送路インピーダンスとは異なった) 変化する値になり、ちょうどいい長さに調整することで給電できる。このとき、定在波が立っているのでケーブルの伝送路インピーダンスは直接関係なくなる。

同軸の場合、不平衡経路なので、経路上から電波が出てしまい意図した挙動にならない。

ツェップライクと呼ばれるアンテナでは給電にLC共振回路を使って間接的にエレメントに給電している。ハシゴフィーダーの変わりに集中定数で解決している。

ハシゴフィーダーのメリット

  • 損失が少ない (7D同軸の10分の1程度)
  • インピーダンスマッチングを兼ねられる
  • 細かい線路インピーダンスは無視できるので自作可能

デメリット

  • 雨や周辺環境の影響を受けやすい
  • 同調型で使う場合、長さに制約がある
  • 必然的にでかい
  • 耐久性があまりない
  1. トップ
  2. tech
  3. ハシゴフィーダー
  1. トップ
  2. ham
  3. ハシゴフィーダー

重要なこと: SWR が下がっていれば同調していると考えていいが、SWRが高いからといって同調していないというわけではない。

というのも、リアクタンス成分がゼロ (=共振) でも抵抗成分がミスマッチだとSWRは高くなるから。

正しいアンテナの調整方法は

  1. まずアンテナ系を共振状態にする
    • リアクタンス成分をゼロに近づける
    • アンテナの流さ・コイルなど
  2. インピーダンスを50Ωにあわせる
    • トランスで変換するか、アンテナの角度調整・ATUで強制マッチ

アンテナが共振状態であれば、あとはマッチングすれば電波は飛ぶ。SWR 計だけだとインピーダンスがどうなっているのかわからないので、詳しく見るにはアンテナアナライザーが必要。

SWR の最小値が見つかるならば、そこは同調点と考えていい。その場合、最低点におけるSWRの高さはインピーダンスの抵抗成分のミスマッチによるものになるので、確かに同調しているならばATUで最後だけあわせこんでも問題ない (はず)

  1. トップ
  2. tech
  3. アンテナの合わせかた、またはSWRが高くても飛ぶアンテナ
  1. トップ
  2. ham
  3. アンテナの合わせかた、またはSWRが高くても飛ぶアンテナ

一通り移動運用に必要なものとその重量を表にして重量支配率のグラフを作った。

  • カバンが重すぎ
  • MacBook Pro が重すぎ

なので、まずこれらをどうにかする必要がある。カバンはもっと軽いカバンに変えるしかない。MacBook Pro は、昔使っていた Air に新しく無線用のユーザをセットアップしたらちょっとよくなるかもしれない。

カバンを半分の1kg、MacBook Air 11in 1.08kg に変えるとすると、これらだけで 1.6kg 程度軽くすることができる。または、ノートPC自体を止めてスマフォだけでの運用方法を考えたほうがいいかもしれない。

あとは

  • カメラバッグでクッション付きなので、ソフトケースは無駄そう
  • バッテリーはさらにリチウムイオンの高容量のが欲しいので実際はもっと重量を増やしたい
  1. トップ
  2. ham
  3. 移動運用について重さから考える

よくある、マイナス側がスプリングになっている電池ケース、直列10個のものを使っていたが、どうも電圧降下が大きい気がしたので計ってみたところ、端子一組あたり67mΩほど抵抗があった。

10個直列で入っているので、およそ合計で 670mΩ の抵抗が直列で入っている。つまり 2A 流すと、これら金具だけで 1.34V も電圧降下が起きてしまう。約 2.68W もの電力がケースだけで失なわれる。

検索したところ、この手の電池ホルダーの性能があまり良くないのは有名らしく、特にスプリングの材質があまりよろしくないようだ。

いろいろ探した結果アメリカ Keystone 社の電池ホルダーがよさそうということがわかったが、廃盤のようで非常に高価になってしまっている。昔は秋月で100円ぐらいで売っていたみたいだけれど、今はもう単4のものしかない。

ということで、代わりにaitendo の電池ホルダで作ってみた。(秋月にも同様の製品はある)

これで作ってみたところ、電池1つあたりの電圧降下は 1A のとき 5mV つまり抵抗値は 5mΩ になった。10本で 50mΩ ということになり、2A時でも 100mV の電圧降下に抑えられ、大きく改善された。

この電池クリップ(ホルダー)は基板にうまく固定する必要があって面倒なのと、プラス/マイナスの入れ間違いをしても気付けない (フェイルセーフがついてない) ので、あまり好ましい感じではない。が、電池ケースでやたら無駄に電力が熱に変わるのは嫌なのでしかたない。

測定方法

テスターの抵抗測定機能だと微小抵抗はちゃんと測れないので、デジタルマルチメーター2台による4点計測方式で測定した。

電池の金具部分に比較的大きな電流 (経路中の定格を上回らない程度) を流し、測定対象で降下した電圧を計って抵抗値を求める。今回は直読できるように、安定化電源の定電流モードで、丁度1A流れるようにして測定した (1A 流した場合、R = E / I なので、R = E になる)

ただし、電池を入れた状態での測定ではないので、電池の端子との接触抵抗は測れていない。あくまで金具中の抵抗値だけを計っている

  1. トップ
  2. tech
  3. 電池ケースの電圧降下
  1. トップ
  2. ham
  3. 電池ケースの電圧降下

ワーカー使っていると、一部のジョブだけちょっと優先的に実行したいということがあるので、TheSchwartz の場合、prioritize => 1 にしてプライオリティを有効にするとよいのですが、挙動でハマったのでメモをしておきます。

今回のケース

そもそもジョブごとにプライオリティはつけていないが、一部のジョブだけ手動対応で優先して処理を行いたくなった。

やったこと

該当ジョブを

update job set run_after = insert_time, grabbed_until = insert_time, priority = 1 where ...;

で優先順位を設定しすぐに実行開始できるようにした

結果

_人人人人人人人人人人人人_
> なかなか実行されない <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

というのも、TheSchwartz は priority 順でソートして50件取得して、それをシャッフルしてから1件選んで実行する、という挙動をするため。

つまり、優先順位を設定したとしても有象無象と混ぜられた 1/50 のクジに当たらなければ、そのジョブは実行されない。1/50 って2%だよ…… 2%…… 100回ジョブ実行しようとしてようやく86.7%の確率だよ……


どうするか?

とにかく入ってるジョブをすぐ実行したい場合

  • $TheSchwartz::FIND_JOB_BATCH_SIZE (デフォルト50) を 1 にする
  • 該当ジョブ以外の run_after を適当に未来に設定する
  • ジョブIDを指定して1回だけワークするスクリプト書いて手動実行

ぐらいしかない。

  1. トップ
  2. tech
  3. TheSchwartz の prioritize を有効にしたときの挙動は愉快
  1. トップ
  2. perl
  3. TheSchwartz の prioritize を有効にしたときの挙動は愉快