2017年5月27日土曜日

Gms-g9 の firmware をアップデートした

 以前にも同様のことをしているので,Gms-g9 の firmware をアップデートしたも参考にして欲しい。
 以前から,GlobalTop製の GNSS/GPS ユニット Gms-g9 を使っている。 このユニットは現在は Titan 3 という名前になり,Sierra Wireless という会社に移管されたみたいに書いてあるが,商品紹介ページは (2017/5現在) 未だに GlobaTop 内の Titan 3 のページにある…。
この GNSS ユニットはパッチアンテナ付きであり,充電池と記録ユニットと組み合わせただけの簡単なロガーを作成可能である。 ユニットは,アメリカの GPS,ロシアの GLONASS,日本のみちびきなどの電波を受信可能となっている。 そのため多くの衛星の電波を受信でき,簡易ロガーの割には GNSS ログのズレが少なくお手頃な GNSS チップとなっている。 (私が作った簡易 GNSS ロガーの例:ランニングエレクトロニクス社製 Gms-g9 基板使用 GNSS ロガー 3号機の製作

 ユニットを手に入れるには,当初はヨーロッパの mirifica (商品名 Titan 3) というネットショップから買ったが,最近はランニングエレクトロニクス (商品名 Gms-g9) など,国内でも購入可能となっている。

 今回,久しぶりに Gms-g9 の firmware をアップデートした。 以前(Gms-g9 の firmware をアップデートした)もアップデートしたが,その時は AXN 3.20 というバージョンへのアップデートだった。 今回は AXN 3.8 (AXN3.8_8397_3333_96.1151100.1.bin) というバージョンのファイルを手に入れたので,せっかくだからと思いアップデートしてみた。

 コンピュータと接続してアップデートを行うが,コンピュータとの接続は,SparkFun の FTDI ユニット (3.3V 駆動タイプ) とブレッドボードを使ってつないだ。 コンピュータから USB-mini ケーブルで FTDI ユニットを接続し,その反対側をブレッドボードに接続した。 Gms-g9 ユニットがついたミニボードもブレッドボードに指し,FTDI と Gms-g9 ユニット間をケーブルでつないだだけ,である。 つなぎ方は,3V3 → Vcc,GND → GND,TXO → RX0,RXI → TX0 とした。


 ケーブルをつないだら,Windows なら,どの COM ポートかを調べないといけない。 これはデバイスマネージャーで見るとわかる。 以前,COM7 だったが,今回はなぜか COM4 だった。なんでかなぁ?まぁ,いいや。

Firmware をアップデートする前に,GlobalTop 社の GPS_Viewer (v1.8) で firmware のバージョン名と衛星の受信状況をチェックしてみた。 当然,COM ポートの番号はデバイスマネージャーで調べた番号を入れないといけない。 以下に GPS Viewer の出力結果を示そう。左側がアップデート前であり,右側がアップデート後である。 アップデート後の方が受信している衛星数が少ないが,とりあえず気にしないでいいと思われる。
アップデート前
最上部に AXN 3.20... の文字列
アップデート後
受信衛星の数が少ないのは待ちが足りず

Firmware のアップデートには,以前ねむいさんから頂いた FlashTool (v.123) を用いた。 結果は,見た感じはうまくいったように思うが,実際には長時間使用してみないとなんとも言えない…。

 また,firmware とは関係ないが,今回 LiPo 電池がヘタっているのが見つかった。 実は,LiPo 電池がヘタっていて,新しいのに交換する際についでに firmware のアップデートをした,というのが真相なのだが…。 以前も LiPo 電池は 1400 mAh のものを使っており,今回のシステムの場合,最低でも24時間駆動可能だった。 しかし,4月に長時間使用した際,12時間程度で駆動できなくなってしまった。 理由は不明である。 LiPo 電池の場合,膨らんでいたらヘタっているのだが,そんなにふくらんでいるようには見えなかった。 でも,電池の持ちが悪いのは事実なので,今回新しいのを購入しておいた。 その持ちを調べるために現在テストを行っている。

追記)電池の持ちを調べると,持ちが多少悪くなってる…。まだ原因はわからないが,24時間以上は余裕で使えてるので,とりえあず良しとしておこう

2017年4月22日土曜日

OpenLayers 3 を使ってみよう(その21:Highcharts でルートの標高グラフを表示)

 これは,OpenLayers 3 を使ってみよう(その20:Open Street Map を表示させる)からの続きになる。 OpenLayers 3 を使ってみよう(その0:はじめに:地理院地図を表示)に目次がある。 その13までのページでは OpenLayers v3.7.0 で書いてきたが,ここでは OpenLayers 3.20.1 で書かれている。
 前回(その20:Open Street Map を表示させる)は,その19:その9からその18までのまとめに Open Street Map の表示を追加してみた。 今回は,Highcharts というグラフ表示のスクリプトを使って,経路の標高を表示させよう。

2017年3月28日火曜日

Blogger で highlight.js を使ってみた

 このサイトでは,FreeBSD だの OpenLayers だの,コンピュータのプログラム関連のことを書いていることも多い。 そんな時,どうしても必要なのがソースコードの表示である。 つい最近までは,
function() {
    hogehoge;
}
のような表示の仕方をしていた(今でもこの形式のものが多いが…)。

 しかし,この表示だとあまりにプレーンすぎるので,自動的に色つけなどをして表示してくれるものが欲しかった。 候補としては SyntaxHighlighter というのがあるのは知っていた(SyntaxHighlighter を使ってみた )のだが, 今回 highlight.js というのに挑戦してみた,というお話。

 きっかけはと言うと,前回の投稿にある個人サイトの https: 化である。 highlight.js は https: 化とは直接は関係ないが, https: サイトを作る際に,ページ内で http: プロトコルのサイトからファイルを読み込んでいると「このサイトは安全ではない」と言われる。 その件を Blogger に書いている時に, Blogger サイトはどうなんや?と思い始めたのが一つのきっかけとなっている。 しかし,https: 化と highlight.js はすぐには結びつかないが…。

 そんな時に,ソースコードの表示はやはり highlight させたいなぁ,と思い始めたのだった。 以前「SyntaxHighlighter を使ってみた 」で SyntaxHighlighter に挑戦したが,いまいちうまく働かない部分があったので,その時は諦めてしまっていた。 しかし,今回,ふと「再挑戦」してみようと思った,というのが直接のきっかけである。

 最終的に highlight.js を使うことにしたが,まずは SyntaxHighlighterhighlight.js の比較をしてみたいと思う。

2017年3月21日火曜日

MyDNS と Let's Encrypt を使って,FreeBSD 上の apache24 を https 化してみた(その5)

 FreeBSD 上の apache24 で運用している個人サイトの https 化(通信の暗号化)の話の(その4)である。
目次
 (a) その1:MyDNS を使って web サーバーをたてる
 (b) その2:オレオレ認証を使った https 化
 (c) その3:Let's Encrypt を使ったサーバー認証
 (d) その4:vhost や ssl などの apache24 の設定
 (e) その5:サイトの内容に関する注意点(今回,最終)

 今回はセキュアなサイトを作る際の注意点について書こう
何を書きたいかというと,apache で https: 化を行っても,内容の記載によってはサイトが安全とはならない場合があるので,そのあたりについて書こうと思う。

 ここまで,web サイトの通信の暗号化の技術的な面について書いてきたが,内容によってはサイトが「安全ではない」とされてしまうことがあった。 私も,個人のサイトで暗号化をして,一番簡単なテストページならブラウザに誉めてもらえるようになったが,いざ肝心なページを見に行くと, この接続は安全ではありませんだの一部が安全でないためブロックしましただのと言われてしまうことがあった。

 例えば Firefox の場合,この接続は安全ではありませんと言われる場合は,下の画像のようにアドレスバーの左の鍵マークが灰色+黄色の警告マークになる。

2017年3月20日月曜日

MyDNS と Let's Encrypt を使って,FreeBSD 上の apache24 を https 化してみた(その4)

 FreeBSD 上の apache24 で運用している個人サイトの https 化(通信の暗号化)の話の(その4)である。
目次
 (a) その1:MyDNS を使って web サーバーをたてる
 (b) その2:オレオレ認証を使った https 化
 (c) その3:Let's Encrypt を使ったサーバー認証
 (d) その4:vhost や ssl などの apache24 の設定(今回)
 (e) その5:サイトの内容に関する注意点(最終)

 今回は暗号化に際しての apache の設定について書いておこう。

 その2:オレオレ認証を使った https 化でも apache の設定について書いたが,今回は Let's Encrypt を使う場合の設定の変更点や,1台のマシンに複数のホスト名をつける話(バーチャルホスト),古いサイト名へのアクセス(http:でのアクセス)の強制的な https: への移行,などについて書こうと思う。

(1) 証明書の登録
 まずは Let's Encrypt によるサーバーの証明書(ドメイン認証の証明書)を apache に登録しよう。 記入するのは FreeBSD の場合「/usr/local/etc/apache24/extra/httpd-ssl.conf」である。 その中の「SSLCertificateFile」と「SSLCertificateKeyFile」を書き直せばよい。 Let's Encrypt による証明書は「/usr/local/etc/letsencrypt/live/」に最新版があるので,それらを指定している。
SSLCertificateFile "/usr/local/etc/letsencrypt/live/www.hogehoge.mydns.jp/fullchain.pem"
SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.hogehoge.mydns.jp/privkey.pem"
 これで apache を再起動すればブラウザも安全なサイトと表示してくれるはずである。

(2) バーチャルホスト
 証明書を登録すれば安全なサイトになるが,以前の暗号化前のサイト名でのアクセスへの対処や,1台のマシンに異なるサイト名でアクセスをさせたい場合などがあるため, バーチャルホストを登録しておくのがよい。

MyDNS と Let's Encrypt を使って,FreeBSD 上の apache24 を https 化してみた(その3)

 FreeBSD 上の apache24 で運用している個人サイトの https 化(通信の暗号化)の話の(その3)である。
目次
 (a) その1:MyDNS を使って web サーバーをたてる
 (b) その2:オレオレ認証を使った https 化
 (c) その3:Let's Encrypt を使ったサーバー認証(今回)
 (d) その4:vhost や ssl などの apache24 の設定
 (e) その5:サイトの内容に関する注意点(最終)

 今回は Let's Encrypt でサーバー証明書(正しくはドメイン認証)を取得して,より安全な通信を確保する話をしてみよう。

 Let's Encrypt は,無料でドメイン証明書を発行してくれるサービスであり, いろんな企業が後援しているらしい。 Let's Encrypt は日本語サイトなので,ハードルは高くはないと思う。 ちなみに,使い方は Let's Encrypt の使い方や, ユーザーガイドを見るといいと思う。 コマンドは コマンド一覧に記載がある。

 Let's Encrypt を使う際の注意点としては,
 「一定期間内に取得できる認証数に制限(上限)がある」
 「認証要求時に apache を止めないといけないことがある(止めない方法もあるらしい)」
 「認証の証明書の有効期限は90日なので,更新が必要」
などがある。

2017年3月19日日曜日

MyDNS と Let's Encrypt を使って,FreeBSD 上の apache24 を https 化してみた(その2)

 FreeBSD 上の apache24 で運用している個人サイトの https 化(通信の暗号化)の話の(その2)である。
目次
 (a) その1:MyDNS を使って web サーバーをたてる
 (b) その2:オレオレ認証を使った https 化(今回)
 (c) その3:Let's Encrypt を使ったサーバー認証
 (d) その4:vhost や ssl などの apache24 の設定
 (e) その5:サイトの内容に関する注意点(最終)

 今回は,通称オレオレ認証(自己署名証明書)を使って,apache24 の https 化の設定をしてみよう。
必要なものは,
 ・秘密鍵(private key)
 ・証明書署名要求(csr)
 ・サーバー証明書(crt)
である。 これら(実際には key ファイルと crt ファイル)があれば,https 化が可能となる。 今回はオレオレ証明書をopensslで作る(詳細版) (ろば電子が詰まっている)を参考にした。

MyDNS と Let's Encrypt を使って,FreeBSD 上の apache24 を https 化してみた(その1)

 個人用のサイトを FreeBSD 上の apache24 で作っている。 今回はそれを https 化(通信の暗号化)してみた。 その話を書こうと思う。

 まず,前提を書いておこう。
(1) OS は FreeBSD を使っている。バージョンは10.3だが,そろそろ11に上げないと,と思っている。

(2) web server は apache24 を使っている。これは /usr/ports/ からインストールしたものである。
  web server 用に,cgi(p5-CGI-4.35)や php(php5.6.30) も使っているが,今回の件では特に問題はなかった。

(3) サーバーが設置してあるネットワークは,数日経つとプロバイダーが IP アドレスを勝手に変更してしまう。
  そのため,Dynamic DNS (DDNS,動的 DNS) として MyDNS.JP のお世話になっている。

 このような環境下で,FreeBSD 上の apache24 の通信の暗号化に挑戦してみた,というお話し。 今回もいろいろなサイトを参考にしたが,結構寄せ集めになってわからなくなってきたので,まとめておこうと思ったのが今回の投稿である。 分量として結構あるので,数回に分けようと思う。 そこで目次を用意してみた。

目次
 (a) その1:MyDNS を使って web サーバーをたてる(今回)
 (b) その2:オレオレ認証を使った https 化
 (c) その3:Let's Encrypt を使ったサーバー認証
 (d) その4:vhost や ssl などの apache24 の設定
 (e) その5:サイトの内容に関する注意点(最終)

 今回は,MyDNS.JP にアカウントを取得して,DDNS で web サーバーを立ち上げる話について書こう。

2017年2月14日火曜日

OpenLayers のバージョンが 4.0.1 になっていた

OpenLayers 3 を使ってみよう(その0:はじめに:地理院地図を表示)に OpenLayers 3 に関する投稿の目次があるので参考にしてみて欲しい。

 これまで,2014年9月から OpenLayers 3 を使ってみよう(その0:はじめに:地理院地図を表示)として,ちょこちょこと OpenLayers 3 の使い方について書いてきた。 2017年1月にはその OpenLayers 3 の最新バージョンが 3.20.1 になっていた。 いやぁ,早いもんだねぇ,と思っていたら,2017年2月に入ってしばらくすると,OpenLayers のバージョンが 4.0.1 にあがっている…。い,いつの間に?という衝撃を感じた。 しかし,せっかく OpenLayers 3 の使い方について書いてきたので,OpenLayers 4.0.1 についても書こうと思ったのが,今回のお話し。

 実は,2017年2月に見た時は,OpenLayers 4.0.0 だった。 でも,多くの場合と同じように最初のリリースはバグが結構ああったみたいで,すぐにバグフィックス版が 4.0.1 として出たのだった。 以前,OpenLayers 2 が OpenLayers 3 に上がった時には,大幅な変更があり,それまで作っていたサンプルを位置から書き直す感じだった。 今回,OpenLayers 3 が OpenLayers 4.x.x になったので,どれだけ変わったんやろ?と思ったが,実はいうほど中身は変わっていない。 しかし,なぜメジャーバージョンが 3 から 4 になったのか? それは,バージョン番号の付け方の方針を変えたから,ということみたい。

2017年1月1日日曜日

明けましておめでとうございます

 明けましておめでとうございます。

 昨年は,皆さんにとってどんな年でしたか? 私は,京都マラソン,大阪マラソンに参加し,なんとか完走しました。
また,剱岳,富士山,奥穂高岳に登って,ちょっとだけ登山家になった気分でした。

本年が皆さんにとってよい年になりますように!
本年もよろしくお願いします。

2017年1月元旦
Matsup