2015年12月17日木曜日

Uber-Uploader 6.8.2 が気づいたら動かなくなっていた。どうやら CGI.pm の更新が原因みたい。

(追記)2017/6に,FreeBSD で fine-uploader を使ってみた(その1)というのを書いた。 そこでは fine-uploader という JavaScript のライブラリを使ったファイルのアップローダーについて書いている。 Uber Uploader はすでに古く更新されていないので,fine-uploader など新しいアップロードライブラリを使うことをお薦めする。
Uber-Uploader 6.8.2 についてはUber-Uploader 6.8.2 の使い方(その1)で述べているので,参考にしてみて欲しい。

 Uber-Uploader 6.8.2 を使っているが,いつからかはわからないが 2015/12 に気づいたら動かなくなっていた。

症状としては,アップロードをしようとはするが,
  Failed to assign CGI temp directory: Inappropriate ioctl for device
と表示が出て止まってしまった。

 この表示を見る限り,cgi ルーチンが temporary directory 関連のエラーを起こしていそう,というがわかった。 しかし,それだけだと情報が足りないので,次に /var/log/httpd-error.log のログを見てみた。 すると,下記のようなエラーが表示された。
------------------------------------------------
private_tempfiles has been deprecated at /usr/local/lib/perl5/site_perl/CGI.pm line 3213.
Died on line 162 at /usr/xxxx/xxxx/uber_uploader/cgi-bin/ubr_upload.pl line 803.
[Thu Dec 17 17:48:24.527624 2015] [cgid:error] [pid 75620] (32)Broken pipe: [client aaa.bbb.ccc.ddd:57696] AH02651: Error writing request body to script usr/xxxx/xxxx/uber_uploader/cgi-bin/ubr_upload.pl, referer: http://xxx.yyy.zzz.jp/uber_uploader/
------------------------------------------------
 わかりにくいが,これは3行の文章で,1行目は CGI.pm の中で「private_tempfiles」は非推奨と言われているみたいだった。 2行目は ubr_upload.pl の 803 行目で止まった,と書いてある。 3行目はよくわからないが,とりあえず ubr_upload.pl でエラーが起こっている,ということを意味していることだけはわかった。

2015年10月26日月曜日

六甲全山縦走路のデータ

六甲全山縦走路については,以前書いた六甲全山縦走路の距離についてや,後日書いたGPS 経路データから求めた誤差についてと地理院地図で六甲全山縦走路の登山道が修正されていたも参考にして欲しい。

(追記)後日地理院地図で六甲全山縦走路の登山道が修正されていたに記載したが,地理院地図上で六甲全山縦走路のデータが変わっていたので,対応するデータのページを修正しておいた。
 今年も六甲全山縦走の季節がやってきた。 今年(2015年)は,11月23日の神戸市主催の六甲全山縦走大会に当選したので,晩秋の六甲全山を縦走をする予定である。 実は,六甲全山縦走大会に向けて,というか,六甲全山縦走大会は人が多くて渋滞する,という話しなので,事前に(10/24に)六甲全山縦走してみた。 さらに言うと,昨年(2014年)の秋と今年の春で数回,六甲全山縦走をした。 六甲全山縦走は,公式には 56 km,GPS による実測では 45 km の長丁場である。 累積の高度差も,登り,下りともに 3500 m を越える(GPS と地理院地図の高度データによる)コースである。 六甲全山縦走は,この 45 km を一日で歩くことを言う(と思っている)。 トレランの人たちは5時間だの7時間だので走り切るみたいだが,普通の人は12時間~14時間ぐらいかけて歩き通す感じのルートとなっている。

 そんな六甲全山縦走路だが,何度か歩いてみて,ルートがどのようになっているのかをデータとして知りたくなった。 そこで,地理院地図上にルートを描き,地理院地図の高度情報から,六甲全山縦走路の距離と高度の情報を表にしてみた。


(クリックで別サイトを参照します。別タブ(ウィンドウ)で開きます)

この表に従って,六甲全山縦走路について書いておこうと思う。

2015年7月30日木曜日

OpenLayers 3 を使ってみよう(番外3:OpenLayers ver. 3.0.0 と 3.7.0 の違いについて)

OpenLayers 3 を使ってみよう(その0:はじめに:地理院地図を表示)に目次がある。

 ここでは OpenLayers 3.0.0 と OpenLayers 3.7.0 の違いについて述べようと思う。
2014年9月に OpenLayers 3 を使ってみよう(その0:はじめに:地理院地図を表示)として,OpenLayers ver.3.0.0 について一連の投稿を書いた。 その時点では,ver 2.13.1 からのメジャーアップデートがなされた後で,v3 となったことで v2.13.1 とかなり違っていた。 それがしばらく気にしないでいたら,いつの間にか v3.7.0 に上がっていた。 v3.7.0 でも v3.0.0 の時に書いたコードがそのまま使えるか,と思っていたら, いくつか変更がなされてそのままでは動かなくなっていた。 そこで,今回の投稿を書いている。
(ちなみに,OpenLayers 3 を使ってみよう(その0:はじめに:地理院地図を表示)から始まる一連のページは v3.7.0 用に徐々に変更しておこうと思う。)

2015年4月30日木曜日

GNSS/GPS ロガーの比較(その4):GPS ログの比較(その7)

 今回は GNSS/GPS ロガーの比較(その3):GPS ログの比較(その6)の続きにあたる投稿である。

 GNSS/GPS ロガーの比較第4弾である。 GPS ログの比較では第7弾にあたる。

 今回も使ったロガーは以下の4種類であり,そのうち3つが GNSS ロガーである。
 (1) Adafruit 社が販売している Ultimate GPS unit,
 (2) GlobalTop 社が販売している Gms-g9 ユニットを使った GNSS ロガー1号機,
 (3) GlobalTop 社が販売している Gms-g9 ユニットを使った GNSS ロガー2号機,
 (4) ランニングエレクトロニクス社製 Gms-g9 基板を使用した GNSS ロガー 3号機
の4つ(2種類)である。

ロガー自体は前回から特に変更はない。 今回,久々に紀伊半島をたくさん走ったので,その際の GNSS/GPS ロガーの記録を比較してみた。

2015年4月15日水曜日

TZ30 がシステムエラー(ズーム)と言い出した

もしここに書いてあるようにデジカメをいじるなら全て自己責任です。メーカー保証などの保証が受けられなくなると思います。いじる時にはそれなりの覚悟をもってやってください。ここの記事を参考にしたとか言われても責任はもてませんので,ご了解ください。
 2015年3月末に志賀高原に行った際に,デジカメが壊れた。壊れたデジカメはPanasonicのDMC-TZ30。数年前に買ったコンパクトデジカメで,コンパクトながら光学20倍の望遠というもので,比較的大きな光学の望遠倍率の割にはコンパクトな筐体となっている。

 今回,スキーをしている時に,そのデジカメがいきなり壊れてしまった。 落としたとかではなく,いつものように写そうと思ってスイッチを入れても,デジカメのレンズが前方に出てこなかった。 デジカメに軽い衝撃を与えると時々動く事もあるが,またすぐに動かなくなった。 下手にレンズ部が前に出た状態で動かなくなるとケースにしまえなくなって,更に困ってしまった。 その時は軽い衝撃作戦で動いた時にレンズ部を引っ込めて,そのままそのデジカメは使わないようにした。 その後,家に帰ってから試してみたが,撮影モードでスイッチを入れると「システムエラー(ズーム)」という表示が出るようになった。 閲覧モードならオンにしてもエラーは出ないが,電源オンの状態のままで撮影モードに変えると,やはりシステムエラー(ズーム)が出た。

 さすがにこれはどうしようもないので,修理が必要だと感じた。 しかし,個人的にはTZ30の後継のTZ60を持っているので,お金を払って修理をしてもらうかどうか迷ってしまった。 このTZ30はネットで買ったが,長期保証には入ってなかったので修理するにはPanasonicの規定の料金(コンパクトデジカメは確か何があっても修理は9,000円程度だったはず)を払わないといけない。 でも値段が2万円程度まで下がった頃に買った機種なので,修理に9,000円は微妙な感じの値段だった。

 そこで,いつものように(「TZ7 を掃除してみた」でもそうだった…)ばらしてみた…,というのが今回のお話。

2015年3月22日日曜日

このサイトの検索クエリは平日が多いみたい

 このサイト(Matsup's blog)は,Google のブログサービスである Blogger の上に構築されている。 そのため,Google ウェブマスターツールでサイトの状況を確認できる。その中には,このサイトがどれだけ Google の検索にかかったか,という項目(検索トラフィックの中の検索クエリ)がある。 それを見ていて気づいたことがあったので,このエントリーを書いてみた。


 これが,2014年の年末から 2015 年3月中旬までにこのサイトが Google 検索での検索結果がユーザーに表示された件数である。 図を見ると,左端を除いて,一定の周期で検索数が増えたり減ったりしている。 とてもきれいに「台形」と下向きの「谷」が交互に並んでいる。 これはこのサイトを見る人の特徴を捉えているに違いない。

2015年3月15日日曜日

Physical Computing (特に Intel Edison) における I2C による通信について(その3)

 前回 Physical Computing (特に Intel Edison) における I2C による通信について(その2)として,Linux での I2C 通信の例について書いた。 今回はその続きで,mraa ライブラリでの I2C 通信について書いてみよう。
 項目番号は前回からの続きということで (7) から始まる。

(7) mraa ライブラリでの I2C 通信:Linux の実装における SMBus 通信を使った I2C 通信(書込み)
  次に mraa ライブラリでの I2C 通信の処理について見てみよう。 mraa ライブラリでは I2C 通信は,mraa/src/i2c/i2c.c に記載されている。 そこでは,SMBus 通信を使って I2C 通信を行っている。以下具体的に見てみよう。

2015年3月14日土曜日

Physical Computing (特に Intel Edison) における I2C による通信について(その2)

 前回 Physical Computing (特に Intel Edison) における I2C による通信について(その1)として,physical computing で使われるシリアル通信としての I2C とその派生系である SMBus の一般論について少しだけ書いた。 今回は,それを yocto Linux が動いている Intel Edison でどう扱われているか,について書いていこう。
 項目番号は前回からの続きということで (4) から始まる。

(4) Intel Edison における I2C 通信
  Intel Edison で I2C 通信を行って,センサー等の機器と通信をするには幾つかの方法(プログラム言語)がある。 一つは,Arduino IDE を使う方法であり,他には Linux 上で C 言語や C++ でプログラミングを行う,などである。 (Python や node.js なども使えるみたいだが…) ここでは Linux 上での C 言語や C++ の場合について見てみよう。

Physical Computing (特に Intel Edison) における I2C による通信について(その1)

 今回は少し趣きを変えたタイトルにしてみた。 なんか,お題目が大きいなぁ…。
ちなみに前回 Intel Edison の新しい統合型インストーラーを使ってみた からの続きである。

 なんでこんな事を書こうと思ったかというと,前回まで書いていた,Intel Edison 絡みである。 また,SparkFun Blocks for Intel Edison を重ねてみたにも書いた,SparkFun 社製の SparkFun Blocks for Intel Edison 絡みでもある。つまりは Physical Computing に絡んで少し勉強したので,せっかくだから書いておこう,と思ったのが動機である。

 そもそも physical computing って何かというと,それは Arduino に代表されるような,極小コンピュータ(Microcontroller と呼ばれたりする)を使って,センサーの情報を読み取ったり,場合によってはモーターなどを駆動して何かを動かす,みたいな事を言うらしい。これまで physical computing と言うと,Arduino がその火付け役として代表格のように言われてきたが,最近では Intel Edison や Raspberry Pi などかなり高性能のものも出始めている。

 かく言う私は,Intel Edison を買って遊んでいる。 まだ,Linux システムに振り回されているが,そろそろセンサーを使って遊んでみたいと思い,ちょこちょこといじっている段階である。 特に SparkFun Blocks for Intel Edison の9軸の加速度・地磁気・回転センサー LSM9DS0 が載った 9dof(9 Degrees of Freedom) Block を持っているので,それを試してみたのだが,その際に I2C 通信についてわからないことがあり,気になったのでいろいろ調べてみた。 それでこんなタイトルのエントリーを書こうと思ったのだった。

 ちなみに Arduino の場合は,Arduino IDE と呼ばれる統合環境の中に Wire library というのがあり,そのルーチンを用いることで I2C 通信を行える。しかし,ここでは Linux 上で C 言語や C++ でプログラミングを行う場合の I2C 通信についてみてみよう。

2015年3月8日日曜日

Intel Edison の新しい統合型インストーラーを使ってみた

 前回,Intel Edison で micro SD カードを使うと書いた。 今回は64 bit Windows 用の Intel Edisoin の新しい統合インストーラーについて書こう。

 つい先日,Intel community から下記のような Edison 用に新しく統合インストーラーを作った,とメールが来た。
Intel Communities
Announcement: New Edison integrated installer launched.

created by intel_jorge in Forums

Today we launched a brand new Edison integrated installer. 
Please visit the Edison Software Downloads page for more info. 
http://www.intel.com/support/edison/sb/CS-035180.htm

Announcement expires on March 13, 2015
 統合インストーラーということで,windows に Edison をつなぐためのドライバーや, Edison の firmware の最新版,Arduino 開発環境などを一度にインストールしてくれるものである。 個別にインストールしなくてもいい,という感じのものだった。 で,早速使ってみることにした。

 まず,Intel Integrated Installer は 2015/3 時点で version が 2015.1.15 である。
使い方は,まずソフトウェアダウンロードのページから, 該当のインストーラー(Windows 64 Integrated Installer)をダウンロードしてくる。 2015/3 時点では,ファイルサイズが 21,581 kB だった。