2018/05/28

自作したGPS受信機との通信

随分前に秋月電子通商でGPS受信機モジュールを買いました。モジュールには「GPS-52D(A)-014J LTS 0550」というラベルが貼ってあります。旧い製品なので秋月電子通商のWebでは情報が出てきませんが、「電気電子工作の部屋」というサイトに情報が残っています(GPSレシーバモジュールキット [K-02294])。

このGPSモジュールを使って、AVRでコントロールする「GPSデータ・ロガー」を作ろうと思っているのですが、なかなか進展していません。それでも途中段階としてGPS測定情報をシリアルポートから受け取るための準備だけはしました。準備と言っても大層な事はしていなくて、GPSモジュールの出力を「USB-シリアル変換モジュール」で受けて、PCに繋ぐだけです。そうすればWindowsであればTeratermのシリアルポート接続などを使えば情報が見えるようになります。

USB変換も秋月電子通商の(旧い)製品を利用しました。「24ピンDIP-ICサイズ FT232RL USB-シリアル変換モジュール[K-01977])というものです。この製品は3.3V出力ができるので、それをGPSモジュールに直結させれば済むかとおもったのですが、うまくいきませんでした。そこで5V出力(14ピンで「USB」と記されています。説明書には「USBバスよりの5V出力」と書かれています。)に3端子レギュレータをいれて3.3VにしてからGPSモジュールに繋いでいます。

まずWindows10で試してみました。USBケーブルを挿すと、標準ドライバで利用可能になりました。Teratermをシリアルポート接続すると、GPSモジュールからの情報が次々に表示されていきます。

次にNetBSD/i386でも試してみました。まずUSBケーブルを挿すと/var/log/messagesに以下のような情報が記録されます。
May 28 15:14:35 dbss /netbsd: ehci0: handing over full speed device on port 1 to uhci0
May 28 15:14:37 dbss /netbsd: uftdi0 at uhub0 port 1
May 28 15:14:37 dbss /netbsd: uftdi0: FTDI (0x403) FT232R USB UART (0x6001), rev 2.00/6.00, addr 2
May 28 15:14:37 dbss /netbsd: ucom0 at uftdi0 portno 1
ところがucom0というデバイスが出来ません。同じような問題を解決した情報がありました(玄箱NetBSDその4:USBシリアルからのログイン)ので、同じように対処してみました。これでデバイスが作られました。
# mknod -l ucom
ucom character major 66
# mknod /dev/ucom0 c 66 0
# ls -l /dev/ucom0
crw-rw-r--  1 root  wheel  66, 0 May 28 13:16 /dev/ucom0
そして/etc/remoteにエントリを追加しておきます。
# FT232R USB UART
ucom0:dv=/dev/ucom0:br#9600:pa=none:dc:
ここでtipを使ってシリアルポートに接続すると、GPS受信機からの情報が流れてくるようになりました。
# tip ucom0
connected
$GSU-50 : Position Co.,Ltd.2003
$Firmware Checksum: 4d50
$TOW: 0      
$WK:  1652
$POS: 6378137  0        0      
$CLK: 96000  
$CHNL:12
$Baud rate: 9600  System clock: 12.277MHz
$HW Type: S2AM
$Asic Version: 0x23
$Clock Source: GPSCLK
$Internal Beacon: None
$PSRF150,1,*12

2018/05/27

「西の奥村、東の日立」

『地図で読む 京都・岡崎年代史』(2018年1月7日増補改訂2版発行)を見ていたら、興味深い記述を見つけました。「岡崎に遊園地があった!京都パラダイス」(16ページ)というタイトルの記事の中に次のようなことが書いてあります。
当時「西の奥村、東の日立」と謳われた奥村電機が造営した複合レジャー施設で、
「東の日立」というのは日立製作所のことだと思います。ウィキペディアの「日立製作所」のページには「1911年 日立鉱山から独立し、久原鉱業所日立製作所とする」と書かれています。1911年というのは明治44年ですね。

これに対して「西の奥村」とされている奥村電機というのは知りませんでした。日立製作所と対立させるなら、西は松下電器じゃないかとも思いました。これもウィキペディアの「松下電器」のページを見ると「1918年(大正7年)3月7日 - 大阪市北区西野田大開町(現・大阪市福島区大開二丁目)に移転。松下電気器具製作所を創立する。」とあります。まだ創業したばかりですから、知名度はなかったかもしれません。でも日立製作所だって明治44年に名前がついたばかりですから、それほど旧いわけでもない気がします。

もっと知名度がありそうな会社というと東芝はどうでしょうか。東京芝浦電気株式会社という社名になったのは昭和14年だそうですが、社名はともかく、創業自体は明治の始め頃まで遡りますので、東を代表するのはこちらのような気がします。

2018/05/24

無料で利用できる公衆無線LANにNetBSDで繋げてみる

当初Windows Vistaが入っていたdynabook SS SX/15AをNetBSD/i386に入れ換えました。メインで利用しているマシンではないので、それほど利用頻度は高くありませんが、どこかに遠出するときには持参しています。旅先のホテルでも宿泊客に無線LANをサービスしているところが多い(ほとんど?)なので、それに繋いでいます。

出先で無線LANを使うための接続方式は、次のどちらかになります。
  1.  WPAなどのセキュリティで保護されたネットワークの場合があります。このときには指定されているSSIDやパスフレーズから/etc/wpa_supplicant.confを作成すれば、マシンを起動するときにネットワークに繋がります。しかしマシンが悪いのか、NetBSDの問題なのか、それ以外の何かのせいなのか、ネットワークに繋がらないことも(よく)あるので、何度かリブートを繰り返します。しかし何度試しても全く繋がらないという経験は、これまでのところありません。
  2. 無料で利用できる公衆無線LANの場合は/etc/wpa_supplicant.confを使いません。使っても接続できるのかもしれないのですが、どのような設定にすれば良いのか不明で、上手くいったためしがないので、使わないことにしています。その代わりにifocnfigを利用しています。これはこれで成功しないことも多々あるのですが、苦労した挙句に最終的はなんとか繋がるので、今のところは我慢しています。できればスマートに繋げたいとは思っています。
例えばJALのサクララウンジでは上述した後者の手順で接続できました。ところが伊丹空港のサクララウンジは改修工事中だったため、臨時に設置されたリフレッシュラウンジを利用することになりました。ここはJALのラウンジで提供されていた無線LANがないので、伊丹空港が提供する無線LANを利用することになるようです。

もしWindowsのノートPC、スマホ、タブレット端末などを使っているのであれば、公共無線LANの接続はあっという間にできてしまうのでしょう。しかしNetBSDでは一苦労も二苦労も必要です。

まずSSIDが不明でした。空港のインフォメーションカウンターに問い合わせれば、なにか情報を提供してくれると思いますが、まずは自分で頑張ってみました。コマンドラインから「ifconfig wpi0 list scan」 とすると、SSIDのリストが見えるようになります。この結果を見るとSSIDは「osaka-airport-free-wifi」であると分かりました。

SSIDが判明すれば、後はネットワークに接続するだけ、ではあるのですが、ここでいつも苦労します。いろいろと試行錯誤を繰り返していると、そのうちに接続されるので、何をどうすると接続できるのか確定した情報がありません。今は以下の手順をおこなっています。
  • バックグラウンドでwpa_supplicantが動いているとよろしくないようなので、停止させておきます。ところが、いつの間にやら気付くと動いていたりするので、なんども停止させる羽目になっています。
  • 判明したSSIDでネットワークに接続する。コマンドは「ifconfig wpi0 ssid SSID」です。ここで「SSID」のところは、利用したいネットワークで指定されているもの(「jal」とか「osaka-airport-free-wifi」など)です。このコマンドを打てはSSIDが指定されるはずなのですが、念のために「ifconfig -a」などで確認しておきます。すると、何故か指定が効いていないことがあります。または、いったんは指定できているのに、いつのまにやら指定が消えていることもあります。なぜそうなってしまうのか、いまのところ原因不明です。
  • 上述した手順だけで、ネットワークに接続され、IPアドレスを割り当てられることもあるのですが、割り当てられないこともあります。というか、割り当てられない場合がほとんどです。このため「/etc/rc.d/dhcpcd restart」などを実行しているのですが、これが必要なのか、むしろ実行しない方がよいのか、このあたりの手順もよくわかりません。
上述した手順を繰り返していると、そのうちにIPアドレスが割り当てられて、ネットワークに無地接続される時がきます。そうしたらWebブラウザを立ち上げると、公共無線LANに接続するための確認画面が表示され、無事にインターネットを利用できるようになります。

このようは方法で最終的にはネットが利用できるようにはなっていますが、一発で簡単に繋がることはありません。何が悪さをしているのか?確実な手順は何か?諸々の調査をしていこうと思っています。

伊丹空港リニューアル

2018年4月18日に伊丹空港(大阪国際空港)がリニューアルしたという話は耳にしていました。

先日JALで伊丹に到着したのですが、あまりの変わりように驚きました。これまではJALは北側のターミナル、ANAなら南側のターミナルに到着して、1階にある別々のターンテーブルで荷物を受け取るという流れでしたが、両者が統合して2階にあるターンテーブルで荷物が受け取れるようになっていました。荷物受取場を抜けてリニューアルされたターミナルに入ると、以前の伊丹空港の面影はまったくなく、自分が今いったい何処にいるのか、本当にここは伊丹なのか、一瞬わからなくなりました。そのまま直進するとモノレールの駅に繋がり、アクセスも改善されています。

関空が開港する前は伊丹に国際便も飛んでいましたが、関空が出来た直後は伊丹空港が一気に寂れたような印象がありました。それを思うと見違えるようです。

とても感動したのですが、数日後にJALで出発するため再び伊丹を訪れました。リニューアルされた中央部を見てから、北側のJALのセキュリティゲートに向かうと、この辺りはリニューアルしてないんですね。以前と同じ雰囲気で「あぁ、やっぱりここは伊丹(空港)だったんだ」と妙に安心しました。

ただリニューアル工事は続いているようなので、最終的にどんな感じになるのか、楽しみです。

2018/05/19

NetBSD/i386上のLibreOfficeのバージョンを上げたい

NetBSD/i386でpkgsrcから入れたLibreOfficeを利用しています。misc/libreoffice5-binを使ったのでLinuxエミュレーションとして動作しているはずです。動作自体に問題があるわけではないのですが、できれば最新版にしたいと思っています。

misc/libreoffice5-bin/distinfoを確認すると「LibreOffice_5.1.0_Linux_x86-64_rpm.tar.gz」のような記述が見つかります。実際にLibreOfficeを起動してバージョンを確認すると「5.1.0.3」となっています。しかしWindows10でもLibreOfficeを利用していますが、こちらは「6.0.3.2」です。

LibreOfficeの公式WebからはLinux用のRPMをダウンロードできるのですが、これを入れればバージョンを上げられるのでしょうか。pkgsrcの枠組みのあずかり知らぬところで勝手にバージョンを上げても大丈夫なのか心配です。

近いうちに実験してみようと思います。もし上手くいけば、今後LibreOfficeのバージョンアップはpkgsrcとは無関係にRPMでできることになるでしょう。もし失敗したとしても、pkgsrcでlibreoffice5-binを入れ直せば復旧できそうな気がしています。

2018/05/13

loadwords

外国語を学ぶとき、単語力は重要です。ネイティブ並みの語彙力を身につけるのは簡単な事ではないと思いますが、出来るだけ多くの単語を覚えておいた方が良いとは思います。

多くの言語には(もちろん日本語にも)外国由来の単語があります。日本語では「借用語」と、英語では「loanword」と言います。日本人にとって片仮名で標記された単語は外国由来であることが多いのですが、必ずしも英語とは限らないので注意が必要です。ただし英語由来であることが多いとは思います。

日本人が英語を勉強していて単語を知らなくて困ると嘆くとき、「日本人ならカタカナ英語として、既に多くの単語を知っているのだから、自信をもとう!」のようなアドバイスを受けることが(たまに)あります。本当だろうかと思っていましたが、こんな意見もあるという事をJapan Times STのエッセイで知りました。

2018年5月11日号のJapan Times STのエッセイはSamantha Loongさんの執筆でした。タイトルは「The problem with trouble」です。日本人が片仮名で知っている単語は、英語で使うと意味がずれているので注意が注意して使わないといけないということです。文中には次のように書かれています。
Loan words cause all sorts of problems when learning languages.
筆者は「I ask my students to pay attention to katakana words.」とも書いています。

日本人が英語を学ぶときにカタカナ英語が良くも悪くも問題を引き起こす可能性があるように、どの言語だって外国人が学ぶときには何かしらの苦労があるものでしょう。英語圏の人達が日本語を学ぶときには如何なる苦労があるのか、気になるところです。

2018/05/06

TOEICテスト英単語・熟語マスタリー2000[4訂版]新形式問題対応

自分の英語能力を測るために毎年TOEICを受験しています。以前は平均点以下でしたが、今は平均点を超えるようになっています。英語能力が向上したのか、単に受験慣れしただけなのか定かではありません。もっとも英語能力を測るのにTOEICは適していないとか、(仮に)TOEICで満点をとったとしてネイティブの英語能力の足元にも及ばないとか、批判はいろいろあります。しかし僕自身にとって、そのような批判のもっと手前で悪戦苦闘しているので、今後もTOEIC受験を続けようと思っています。

TOEICは時間に追われる試験です。リスニングセクションは音声にあわせて解答するしかありませんが、リーディングセクションは自分のペースで解答していくので時間が足りなくなり、いつも最後は「塗り絵」をするしかなくなります。

問題は大きく分けて「文法力不足」と「単語力不足」だろうと自己分析しています。

文法というのは、抽象的には難しいとも思っていないのですが、実は弱いのは文法ではなく語法ではないかと(内心では)考えています。文法と語法を分けて考えるのが、そもそも見当違いで、文法と語法は同じものだという意見もあるかと思います。それはそうかと思います。それなら文法の勉強とは何をしたら良いのか、例えば文法書(ロイヤル英文法とか)を完全丸暗記すればよいのか、それとも辞書を(やはり)完全丸暗記することなのか、いったいどうしろというのでしょう。

それに対して、語彙というのは、単語集を覚えれば良いという側面があるので、文法よりは方向性がはっきりしています。もっとも単語集で語彙を覚えるのは最悪で、まったく意味がないという批判も承知しています。語彙は文脈で覚えるもので、暗記するものではなく自然に覚えるものということです。それはそうかもしれませんが、こちらはネイティブでもなければ、スポンジのように吸収できる幼児でもありません。

そういう訳で、標題にある単語集を買ってみました。単語集は各社から沢山出ています。別にどれでも構わないと思います。この単語集が最高ということもなく、たまたま気に入ったというだけのことです。他の単語集が駄目だということでもありません。

この単語集は2,000語収録です。これを覚えるのにかける時間はどのくらいにすべきでしょうか。やってみないと分からないのは確かですが、のんびりやっても駄目じゃないかと思っているところです。たとえば物理学の法則で考えてみましょう。鉄の塊の飛行機は、エンジンを全開にして滑走路を飛び立ちます。この時に、仮に速度を出さず、のんびりゆったり移動したとしたら、いつまで地上を走行しても、飛び立つことはできないでしょう。しかし飛び立ってしまえば、上空ではエンジンのパワーを落としても、別に墜落することはありません。この話は比喩なので、単語力強化を同じように考えてよいわけでもありませんが、最初に全力で頑張ってみるというのは大切だと思います。

ということで、2,000語を覚えるのに1年もかけていたら、覚えるよりも忘れる方が多くなりそうです。ここは1ヵ月くらいで忘れる前に覚えてしまうのが良いでしょう。だったら1週間で覚えればもっと良いのかとか、1日で覚えてみろとか、極端な主張も出るでしょうが、期間が短ければ良いわけではありません。ほどほどだけど、ちょっと短めで、頑張ってみたいと思います。