祝OpenStreetMap10周年

8/9はOpenStreetMap 10周年ということで世界各地でパーティが開かれました.

OpenStreetMap 10th Anniversary Birthday party – OpenStreetMap Wiki

このページを見て,地図上にピンを立ててみると楽しいかもしれないと思い日本のパーティ会場をプロットしてみました.

今度の土曜のOSM 10周年パーティ会場をプロット http://t.co/NYCqi01S5R #osmjp

— (「ΦωΦ)「 (@matoken) August 7, 2014


フルスクリーン表示

これを見た @ikiyaさんが世界版やりませんか?ってことで全世界分もプロットしてみることに.

@matoken ありがとうございます! 相談ですがせっかくなのでドンとこのumapで全世界やりませんか? http://t.co/lOh0iuvX7F 

— ikiya (@ikiya) August 7, 2014

@ikiya 浜松反映しましたー.そんなに数多くないので全世界も行けそうですね.今出先なので帰ってから試してみますー

— (「ΦωΦ)「 (@matoken) August 7, 2014





フルスクリーン表示

WikiPage に載せてもらったり,
OpenStreetMap 10th Anniversary Birthday party – OpenStreetMap Wiki

本家ML に投稿してもらったりしました.
[OSM-talk] OSM 10th Anniversary Birthday party World Map

初め世界中合わせてもそんなに数ないからすぐだなーとか思っていたのですが,よく見るとアメリカは別ページにまとめられていたり,座標がないところは地名から探したりと結構時間かかっちゃいました.
#実はOSM 使わずにGoogleMap 使っているところも多かった…
uMap はgeojson の読み込みとかもできるのでもし座標データがあれば機械的にマッピングも出来るんですけど今回は手作業でした><



さて,自分はというと台風で外に出られないこともあってサーベイは諦めて桜島の東側から基板地図情報2500をトレースして黒神の辺りまで入力してました.(埋没鳥居で有名かも).早いとこ桜島トレース終わらせたいです.

RaspberryPi B+ でUSB で1.2A を利用できるようにする(失敗)

“Raspberry Pi Model B+のUSBポートに1.2Aの電力を供給する – あっきぃ日誌” http://akkiesoft.hatenablog.jp/entry/20140727/1406443999

を見て /boot/config.txt 編集しないとB+ でUSB に1.2A の電力を供給できないことを知りました.
で,/boot/config.txt 規定値のまま,safe_mode_gpio=4 登録,max_usb_current=1登録.両方登録のパターンで試したんですがいずれもHDD スピンアップしませんでしたorz

電源はGPIO から河野総統謹製のラズベリーポット(ラズベリーハブの電源部分のみ+αのもの),microUSB からAnker の40W USB 電源の2パターンを試しました.
HDD はSeagate Momentus XT 500GB/4GB SSD付きハイブリッド7200rpm を500円位で秋葉原で売っていた適当なケースに入れたものです.5400rpmとかなら行けるのかなとか?

Y型のUSB cable を使って片方から給電したら動くのでHDD は問題なくRaspberryPi B+ からの電気が足りないせいなはず.ちなみにPC(Lenovo X220)だとUSB x1で動作します.

OS 色々いじってるので一旦初期状態にしてからまた試してみようかと思います.

IMG_20140730_080938

鹿児島Linux勉強会-第03回-に参加

7/25(金)に鹿児島らぐの鹿児島Linux勉強会に行ってきました.

今回は鹿児島中央駅前のよかプラザでの開催でした.
IMG_20140725_173144
#カタカナでリナックスというのを見るとこないだのLinuxConのスタッフTシャツを思い出します :)

今回はATND での集まりが悪くもしかしたら2人での開催になりそうと思っていたのですが,始まってみると6人でした.
今回は前半はLinux読書会でLinux標準教科書の輪読,後半は発表で私は以下のよな発表を行いました.

その他Vimネタ,Seti@homeネタが披露されました.

自分の発表は最後にしてもらって(スライド完成してなかったorz)
終了時間見ながら発表したのですが,共同購入をしていたRaspberryPi B+ の受渡し時間を考慮してなくて終了後適当なベンチで受け渡しとなってしまいましたorz

IMG_20140723_233409

終了後は有志(4人)で魚とか食べて

IMG_20140725_211837IMG_20140725_213943IMG_20140725_215719IMG_20140725_215823IMG_20140726_002543

その後漫画喫茶に泊まりました.公共交通機関欲しいです
#この日は公共交通機関があっても乗れなかった気はしますが><

IMG_20140726_0314405vD2ZXwC---1

2007年と現在のOSMの比較が出来るSITE

Twitter の #osmjp ハッシュタグで以下の書き込みを見かけました.

2007年のOSMデータといまのデータ。ヨコに並べるとまさに隔世の感、あります。 http://t.co/7OWoJSh1eI #osmjp

— nyampire (@nyampire)

July 26, 2014

九州の辺りをみると真っ白><
Screenshot from 2014-07-30 06:49:31
“OSM Then And Now” http://mvexel.github.io/thenandnow/#8/32.697/130.897

OSM を知ったのは2006年頃だったのですが,当時はこんな感じでデータのインポートもトレースも出来ず基本GPSロガーを使ってマッピングするしか無い頃でした.
これは無理だ><って感じでなかなか手を出してなかったんですが数年でかなり埋まってすごいなと思ったもんでした.もちろん今の時点でもまだまだ建物の情報やPOIも少ないのですが建物は衛星写真や基板地図情報のトレースも出来ますし,スマホが普及してPOIの入力もお手軽に出来るようになって編集方法もすごくお手軽になってます.

そのうち自分のやっている入力方法もまとめてみたいところです.

RaspberryPi の新モデル「RaspberryPi B+」到着

注文

Adarfuit

Raspberry Pi Model B+ 512MB RAM ID: 1914 – $39.95 : Adafruit Industries, Unique & fun DIY electronics and kits
発売日の7/14 に一番安い FIRST-CLASS PACKAGE INTERNATIONAL SERVICE ($12.05) で注文.7/22到着.
台数制限があって1度に注文できるのは1台までだった.

$39.95 + $12.05 = $52.00

RSオンライン(日本)

発売日にRS品版でカートに入れると出てきたが注文できなかった.7/16から正式に注文できるようになった.しかし,イギリスから発送で4営業日掛かるとのこと.日本在庫だと次の日に届くのだけど….
RS-jp だと現在販売しておりませんとなるな

8000円以上注文で送料無料.3台以上で送料無料になる.今回は共同購入として6台注文.
7/16注文.7/22に伝票番号(佐川)がメールで届き,7/23に到着.
恐らく3連休がなければその分早く届いた.

\3,940 + 税 = \4,255.20

外観

外箱,取扱説明書,コネクタの色などが少しずつ違う.

Element14

IMG_20140722_185800IMG_20140722_185837IMG_20140722_185858IMG_20140722_193037IMG_20140722_193055IMG_20140722_194758IMG_20140723_003627IMG_20140723_003640IMG_20140723_003715

RS

IMG_20140723_233300IMG_20140723_233409IMG_20140723_233427IMG_20140723_233434IMG_20140723_233443IMG_20140723_233508IMG_20140723_233517IMG_20140723_233535IMG_20140723_233548

トラブル?

RaspberryPi B でアダプタ経由で動作するmicroSDで起動しなかった
3枚試して2枚NG

  • NG
    ノーブランド 1GB(XMBC)
    Panasonic 1GB(opencocon v8a)
  • OK
    ADATA 16GB(NOOBS Rasbian)

ちなみにNG のCard を再度RaspberryPi B に挿してみると起動した.
Panasonic の1GB の opencocon はdd しなおしてみたけどダメだった.
症状は電源投入時に PWR / ACT 共に点灯 -> ACT消灯.HDMI の画面は反応なし.

相性が厳しくなってる?

#初め試した2枚が連続でダメだったので初期不良かと焦った><

基板ネジ径の変更

IMG_20140724_012554IMG_20140724_012402

B ではM3 のネジが使えていたが,B+ には使えなかった.
確認してみると2.9mm -> 2.75mm に変更になっていた.穴を広げるかM2.5を利用.

raspi-config 20131216-1 簡易説明

raspi-config 20131216-1 簡易説明

前書いたのが古くなっているのでざっと書いてみました.
B+ も出たしそろそろ新しいバージョンが出そうな気がするけど….

┌──────────────────────────────┤ Raspberry Pi Software Configuration Tool (raspi-config) ├──────────────────────────────┐
│ Setup Options                                                                                                         │
│                                                                                                                       │
│    1 Expand Filesystem              Ensures that all of the SD card storage is available to the OS                    │
│    2 Change User Password           Change password for the default user (pi)                                         │
│    3 Enable Boot to Desktop/Scratch Choose whether to boot into a desktop environment, Scratch, or the command-line   │
│    4 Internationalisation Options   Set up language and regional settings to match your location                      │
│    5 Enable Camera                  Enable this Pi to work with the Raspberry Pi Camera                               │
│    6 Add to Rastrack                Add this Pi to the online Raspberry Pi Map (Rastrack)                             │
│    7 Overclock                      Configure overclocking for your Pi                                                │
│    8 Advanced Options               Configure advanced settings                                                       │
│    9 About raspi-config             Information about this configuration tool                                         │
│                                                                                                                       │
│                                                                                                                       │
│                                  <Select>                                  <Finish>                                   │
│                                                                                                                       │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

1 Expand Filesystem

2GB より大きな容量の SD Card を利用した場合 2GB しか利用できないので前領域が利用できるように領域確保します.
NOOBS を使って Rasbian を導入した場合は NOOBS が自動的に面倒を見てくれるので利用する必要はありません.

2 Change User Password

パスワードの変更が出来ます.

3 Enable Boot to Desktop/Scratch Choose whether to boot into a desktop environment, Scratch, or the command-line

起動時にデスクトップ,Scratch,コマンドラインのどれかで起動できるように設定します.規定値はコマンドラインです.

Console Text console, requiring login (default)

テキストコンソールを起動するよう設定します(規定値)

Desktop Log in as user ‘pi’ at the graphical desktop

pi ユーザでデスクトップ環境を自動起動するよう設定します.

Scratch Start the Scratch programming environment upon boot

スクラッチを起動するよう設定します.

4 Internationalisation Options

国際化関連の設定メニューです.

I1 Change Locale

ロケールの設定を行います.日本語は ja_JP.UTF-8 です.
コンソールをメインに使う場合は標準では日本語が表示できないので en_US.UTF-8 にしたほうがいいかもしれません.コンソールで日本語を表示するには後述の fbterm の使い方を参照してください.

コマンドラインで以下のコマンドでも設定可能です.(Debianでの設定方法)
$ sudo dpkg-reconfigure locales

I2 Change Timezone

タイムゾーンの変更が出来ます.
日本時間にする場合は, Asia->Tokyo を選択します.

コマンドラインで以下のコマンドでも設定可能です.(Debianでの設定方法)
$ sudo dpkg-reconfigure tzdata

I3 Change Keyboard Layout

キーボードのキーマップを変更出来ます.
コマンドラインで以下のコマンドでも設定可能です.(Debianでの設定方法)
$ sudo dpkg-reconfigure keyboard-configuration

日本語のキーマップがメニューに出てこない場合は,/etc/default/keyboard を以下のように変更します.

XKBMODEL="jp106"
XKBLAYOUT="jp"

その後以下のコマンドで反映します.
$ sudo /etc/init.d/keyboard-setup restart

5 Enable Camera

RaspberryPi 標準のカメラモジュールを利用できるようにします.USB 経由のカメラなどは Disable のままでOK です.

6 Add to Rastrack

Rastrack (http://rastrack.co.uk) への登録が出来ます.

7 Overclock

オーバークロックが行えます.オーバークロックを行うと RaspberryPi の寿命が縮む可能性があるのに注意してください.また,不安定になる可能性があります.不安定になったら控えめなオーバークロックを試してみてください.
http://elinux.org/RPi_Overclocking に更に解説があります.

8 Advanced Options

A1 Overscan

画面に黒い帯が表示されている場合に改善されます./boot/config.txt で微調整も可能です.(恐らくコンポジット出力のための設定)

A2 Hostname

ホスト名を変更できます.ホスト名は大文字込時を区別しないASCII文字の aからz,数字の 0から9 及びハイフンg利用できます.但しハイフンは先頭と最後には利用できません.

A3 Memory Split

GPU に割り当てるメモリを設定します.16/32/64/128/256MB が指定でき,規定値は128MB です.割り当てたメモリはメインメモリから割り当てられるのでその分メインメモリの割当量が減ります.

A4 SSH

ssh server の有効,無効の設定が出来ます.規定値では有効です.

A5 SPI

SPI の自動読み込みの有効,無効の設定が出来ます.

A6 Audio

オーディオ出力は自動的に切り替わりますが,強制設定が出来ます.

A7 Update

OS のアップデートを行います.
apt-get や aptitude コマンドを実行してもいいです.

9 About raspi-config

このコマンドの説明が表示されます.

OpenStreetMap を使ったマイマップのような uMap を試してみる

を見てuMap を試してみました.

以下のページにアクセスしてマップを作成とするだけです.

試しに書いてみました.
日本語化もされているし簡単に地図も書けるので人にも勧めやすくていいなと思いました.


フルスクリーン表示

埋め込み時に埋め込みコードをそのまま貼り付けるとイギリスとかの辺りが表示されてしまうのですが,地図編集時のURL http://umap.openstreetmap.fr/ja/map/linux02_11213#17/31.57706/-229.44820 の#以降の #17/31.57706/-229.44820 を埋め込むと任意の座標を表示できました.


周りのデータが少なくて寂しかったのでざっと道路沿いの建物をトレースしてみました.
しかしまだまだ寂しいですね><



gist にコマンドラインから貼り付ける

先日コマンドラインからgist に貼り付けられるんだと驚かれたのでちょっと書いておきます.

その時使ったsctipt はこちら.

Debian jessie 以降,Ubuntu 14.04 以降だとパッケージもあります.このパッケージで導入した場合コマンド名は gist ではなく gist-paste になります.

自分で入れる場合は,gem やHomebrew が使えます.

  • apt $ sudo apt-get install gist
  • gem $ sudo gem install gist
  • Homebrew $ brew install gist

※Homebrew が動く環境を持っていないのでこちらは未検証です.

導入後利用する前に,認証を済ませておきます.2要素認証にも対応しています.

$ gist --login
Obtaining OAuth2 access_token from github.
GitHub username: matoken
GitHub password: 
2-factor auth code: 984736

Success! https://github.com/settings/applications

認証が終わったら試してみます.
一番単純な動かし方は貼り付けたいファイルを指定するだけです.これで公開状態で貼り付けられます.

$ gist lingrbot_web.cgi
https://gist.github.com/ed68bd7182ffddee4801

ファイルタイプを指定する場合は面倒ですがファイル名も指定しないと反映されないようです.

$ gist -f ml2lingr.pl -t perl /tmp/ml2lingr.pl
https://gist.github.com/3021d8d064d8a1d29ba9

標準入力も

$ gist
(type a gist. to cancel, when done)
hoge
fuga
https://gist.github.com/3e993a396a7671403f9e

$ echo “hoge” | sha512sum |gist
https://gist.github.com/970e190f97ae67c8e90d

更新も可能です.

$ gist -u 3021d8d064d8a1d29ba9 -f ml2lingr.pl -t perl /tmp/ml2lingr.pl
https://gist.github.com/3021d8d064d8a1d29ba9

しかし,更新などはURL やID を指定しないといけないのでgitでclone しておいて編集後push したほうがお手軽そうです.

その他のpastbin系サービスを使いたい場合いろんなコマンドがあります.最近は pastebinit を使っています.
このコマンドの対応サービスはこんなかんじです.

$ pastebinit -l
Supported pastebins:
- cxg.de
- fpaste.org
- p.defau.lt
- paste.debian.net
- paste.drizzle.org
- paste.kde.org
- paste.openstack.org
- paste.pocoo.org
- paste.pound-python.org
- paste.ubuntu.com
- paste.ubuntu.org.cn
- paste2.org
- pastebin.com
- pastie.org
- pb.daviey.com
- slexy.org
- sprunge.us
- yourpaste.net

ちなみにこのへんのコマンドを使うまではクリップボード操作アプリを使ってました.
$ cat file | xclip とかするとクリップボードにファイルの内容がコピーされるのでこれをブラウザ上のテキストエリアに貼り付けたりしていました.

Lingr の bot を作ってみた

鹿児島らぐLingr room を作ってみたので,そこにML のSubject を流すbot を設置してみました.

こちらにページに作り方が載っています.bot用のAPI があるので楽々です.

bot 登録

以下のページでbot を登録します.

  • “Lingr” http://lingr.com/bot/create

    • Bot id : 任意
    • Callback URL : このURL にroom の内容が飛んできます.その内容から反応したりすることが出来ます.とりあえず最低限HTTP で200 を返すものを用意して指定.

メッセージ受信用のcgi を作成

ひとまず受け答えはしないつもりなのでHTTP 200 を返すだけのScript を用意.

投稿テスト

get だけで投稿できるので試しに投稿してみます,

以下のページで情報が入手できます.

“Lingr” http://lingr.com/developer

bot_verifier は載っていませんが,bot ID とSecret から求められます.
KagolugML_botxxxxxxxxxxxxxxxxxxxxxxxxxxx を結合した文字列をsha1 にかけます.

$ echo -n 'KagolugML_botxxxxxxxxxxxxxxxxxxxxxxxxxxx'|sha1sum 
b3c03556dca8dfffb8c509cb709817044c98ad87  -

この場合 b3c03556dca8dfffb8c509cb709817044c98ad87bot_verifier です.

  • 投稿先のroom : kagolug
  • bot ID : KagolugML_bot
  • bot_verifier : b3c03556dca8dfffb8c509cb709817044c98ad87

以下のようにアクセスしてみるとroom にメッセージが投稿されました,

w3m -dump ‘http://lingr.com/api/room/say?room=kagolug&bot=KagolugML_bot&text=はろーわーるど&bot_verifier=b3c03556dca8dfffb8c509cb709817044c98ad87

メールからLinger に投稿

鹿児島らぐのML だけを登録したメールアドレスを用意.そのアドレスの .forward に以下のSctipt を呼ぶように "|exec /home/mk/bin/ml2lingr.pl" のような感じで設定しておきます,後はメールが届くとこのScriptが呼ばれてRoom に投稿されます.


※bot_verifier はダミーです.

てことでirc のbot とか書くよりずっとお手軽に書けました.
今回は単に投稿するだけですが,cgi でroom のメッセージを解析して反応するとかするとbot らしくなりますね.

gnupgの鍵に新しいメールアドレスを登録

たまにしかやらないのでメモ.

鍵ID 572E53 matoken@kagolug.org を登録します.

$ gpg --edit-key 572E53
gpg (GnuPG) 1.4.12; Copyright (C) 2012 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Secret key is available.

pub  4096R/572E532C  created: 2010-03-17  expires: never       usage: SC
                     trust: ultimate      validity: ultimate
This key was revoked on 2014-02-11 by RSA key 572E532C K.I.Matohara <matoken@gmail.
com>
sub  2048R/E0FE9E3E  created: 2011-02-23  revoked: 2014-02-11  usage: S
[ultimate] (1). K.I.Matohara <matoken@gmail.com>
[ultimate] (2)  [jpeg image of size 2077]  
[ultimate] (3)  Kenichiro MATOHARA <matohara@gdnewhat-jp.org>

gpg> adduid
Real name: KenichiroMATOHARA
Email address: matoken@kagolug.org
Comment:
You selected this USER-ID:
    "KenichiroMATOHARA <matoken@kagolug.org>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O

You need a passphrase to unlock the secret key for
user: "K.I.Matohara <matoken@gmail.com>"   
4096-bit RSA key, ID 572E532C, created 2010-03-17

gpg: gpg-agent is not available in this session
gpg: Invalid passphrase; please try again ...

You need a passphrase to unlock the secret key for
user: "K.I.Matohara <matoken@gmail.com>"   
4096-bit RSA key, ID 572E532C, created 2010-03-17


pub  4096R/572E532C  created: 2010-03-17  expires: never       usage: SC
                     trust: ultimate      validity: ultimate
This key was revoked on 2014-02-11 by RSA key 572E532C K.I.Matohara <matoken@gmail.com>
sub  2048R/E0FE9E3E  created: 2011-02-23  revoked: 2014-02-11  usage: S
[ultimate] (1). K.I.Matohara <matoken@gmail.com>
[ultimate] (2)  [jpeg image of size 2077]  
[ultimate] (3)  Kenichiro MATOHARA <matohara@gdnewhat-jp.org>
[ unknown] (4)  KenichiroMATOHARA <matoken@kagolug.org>

gpg> 4
pub  4096R/572E532C  created: 2010-03-17  expires: never       usage: SC
                     trust: ultimate      validity: ultimate  
This key was revoked on 2014-02-11 by RSA key 572E532C K.I.Matohara <matoken@gmail.com>
sub  2048R/E0FE9E3E  created: 2011-02-23  revoked: 2014-02-11  usage: S
[ultimate] (1). K.I.Matohara <matoken@gmail.com>
[ultimate] (2)  [jpeg image of size 2077]  
[ultimate] (3)  Kenichiro MATOHARA <matohara@gdnewhat-jp.org>
[ unknown] (4)* KenichiroMATOHARA <matoken@kagolug.org>

gpg> sign
"KenichiroMATOHARA <matoken@kagolug.org>" was already signed by key 572E532C
Nothing to sign with key 572E532C

gpg> list

pub  4096R/572E532C  created: 2010-03-17  expires: never       usage: SC
                     trust: ultimate      validity: ultimate  
This key was revoked on 2014-02-11 by RSA key 572E532C K.I.Matohara <matoken@gmail.com>
sub  2048R/E0FE9E3E  created: 2011-02-23  revoked: 2014-02-11  usage: S
[ultimate] (1). K.I.Matohara <matoken@gmail.com>
[ultimate] (2)  [jpeg image of size 2077]  
[ultimate] (3)  Kenichiro MATOHARA <matohara@gdnewhat-jp.org>
[ unknown] (4)* KenichiroMATOHARA <matoken@kagolug.org>

gpg> save

確認

$ gpg --list-keys kagolug
gpg: checking the trustdb     
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:  12  signed:  55  trust: 0-, 0q, 0n, 0m, 0f, 12u
gpg: depth: 1  valid:  55  signed:  52  trust: 55-, 0q, 0n, 0m, 0f, 0u
gpg: next trustdb check due at 2014-07-20
pub   4096R/572E532C 2010-03-17
uid                  K.I.Matohara <matoken@gmail.com>
uid                  [jpeg image of size 2077]
uid                  Kenichiro MATOHARA <matohara@gdnewhat-jp.org>
uid                  KenichiroMATOHARA <matoken@kagolug.org>

間違ってたら教えてください><