Hello Dollly プラグイン

wordpress のプラグインで
Hello Dolly というプラグインがあります
このプラグインは
Hello Dolly という歌の歌詞が
wordpress 管理画面の右上にランダム表示するというプラグインです
これは、wordpress プラグイン開発の参考になるように最初から入っています
場所は
/var/www/wordpress/wp-content/plugins/hello.php
これを参考に改造していくといろいろわかりやすいかもしれません
ちなみに。表示される内容を変えることもできます
このファイルをエディタで開いて
17行目の
$lyrics = ”
から
44行めの
“;
の間にある歌詞の部分をほかのものに変えれば
表示されるものも変えることができます
それは、日本語でもできますし、
自分の好きな名言集とか、好きな歌の歌詞とかでもできます
ただし、ランダム再生なので、順番ではないのですが
プラグイン作成というと難しいですが、いきなり全部つくらず、わかる部分から
改造するのは楽しいと思うので、挑戦してみてはいかがでしょうか

wordpress プラグイン導入めも

一番簡単なのは、ダッシュボードから
プラグイン > 新規追加
で検索してインストールする方法です
これは、そんなに説明もいりませんが
問題は、自作したい場合とか、非公式プラグインの場合
これは、管理画面から検索してインストールできないため
Wordpress の中にあるplugin ディレクトリにアップロードします
私の場合は ubuntu 12.04 で
/var/www/wordpress/wp-content/plugins/
になります
これは、apache2 のドキュメントディレクトリの設定により変わりますし
ubuntu なのか fedora/centos などのディストリにも関係します
アップロードするには
管理画面から プラグインで 新規追加を選んで
アップロード > ファイルを選択でアップロードするか
もしくは FTP関連ソフトなどでアップロードします
ちなみに、私はscp コマンドで転送しました
アップロードしただけではプラグインが有効化されていないため
プラグインを有効化します

wordpress でPHPと外部連携の勉強

WordPressプラグイン & WebAPI 活用ガイドブック [Version 3.x対応]
を購入してみました
今回の購入のきっかけは、外部連携がメインです
あと、PHPの実践もかねてですが
以前からマッシュアップサイトを作成するために
web api 関連を勉強しているのですが、ある程度の期間がたつと
APIが変わっていて、いままで使っていたリファレンスが使えなくなります
そのため、今回はあらたに購入してみました
最終的には、Android との連携ができるようなかんじに仕上げていこうと思います
本来は、GMOクラウドで構築したサーバーでやる予定でしたが
メンテのためか、DNSが変更できず
ドメインの追加ができないため、とりあえずはローカルに構築したサーバーで練習してみます
ちなみに、画像入りにすると

の書籍になります

実機検証したら、エラーで終了してしまう

ローカルwebサーバーの準備ができたので
実験してみたのですが、周辺情報をタップするとエラーでとまります
一番最初のアプリ内部で座標師弟したときには
うまく機動しましたが、
wordpress と WEb API を使ったところ、エラーとなりました
XMLのレスポンスは問題なく動いていますが
原因が不明な状態です
ホットペッパーのAPIキーも問題なくレスポンスが帰ってきているし
wordpess へのレスポンスも問題なくXMLが取得できています
最終手段として
Eclipse からサンプルファイルをインポートし
そこへAPIキーをいれて起動したものの、同様の問題がおきるため
今回は保留にしました
とりあえず、悩んでいてもすすまないため、
先のARを試してみます

周辺ランドマークデータ取得

引き続き、wordpress の設定です
Androidアプリ位置情報プログラミング
を実効するための設定です
これで、スマートフォン位置情報アプリの準備ができました
サーバー関連やったことがないと挫折するかもしれないので
メモしてみました
まず、必要なファイルを
wordpress 直下へコピーします
cp -p /var/www/wordpress/wp-content/plugins/easy-regist-landmark/get_nearby_xml.php /var/www/wordpress/
cp -p /var/www/wordpress/wp-content/plugins/easy-regist-landmark/server_config.php /var/www/wordpress/
でコピーできます
そしたら、設定ファイルを編集します
cd /var/www/wordpress/
で移動して
vim server_config.php
でファイルを開き設定します
$sql_server = “localhost”;
$sql_user = “root”;
$sql_pw = “pass”;
$sql_db = “wp”;
となっているところを編集します
編集完了したら確認します
リクエストURLは
http://サーバIP/wordpress/get_nearby_xml.php
私の場合は
http://192.168.10.220/wordpress/get_nearby_xml.php
でした
これにパラメータをつけてブラウザにアクセスすると
XMLのツリー表示がでます
ちなみに、パラメータは&をつけてつなげて書きます
パラメータの意味は
lat
緯度
lon
経度
nearby
範囲
count
表示件数
http://192.168.10.220/wordpress/get_nearby_xml.php?lat=35.710058&lon=139.810718&nearby=10000000&count=1

アクセスした結果が以下の画像です
このパラメータの意味は
緯度 35.710058 
経度 139.810718
の地点から 10000000m以内にある
ランドマークを
10件表示ということです
もっとも、登録は全然していないテストだったので、でたのは1件だけです
This XML file does not appear to have any style information associated with it. The document tree is shown below.
とでてますが
これは
この XML ファイルにはスタイル情報が関連づけられていないようです。以下にドキュメントツリーを表示します。
という意味で
対策を検索した結果
どうやら
mlアドレスを検索エンジンに登録すればよい
ということで、個人でのローカルブログでは
あまり関係ないようです
ちなみに、情報元は
http://qanda.rakuten.ne.jp/qa7466087.html
です
なお、設定するにあたって、以前
本格ビジネスサイトを作りながら学ぶ WordPressの教科書
で構築した wordpress を使いましたが
プラグイン導入すれば
新規投稿で問題なく使えるようです
今回、使用した書籍は以下の2つになります

位置情報と wordpress プラグイン

Androidアプリ位置情報プログラミング
で wordpress と通信するところがあったので
その準備のメモです
ちなみに、書籍は

http://www.shuwasystem.co.jp/support/7980html/3614.html
からサンプルをダウンロードして
解凍します
サンプルファイルは
Sample.zip
となっているので、
これを解凍するため
unzip ダウンロード/Sample.zip
inflating: README.TXT
extracting: Androidサンプルソース.zip
extracting: easy-regist-landmark.zip
となるので
次に
wordpress プラグインを使いたいので
easy-regist-landmark.zip
を解凍します
unzip easy-regist-landmark.zip
で解凍すると
creating: easy-regist-landmark/
inflating: easy-regist-landmark/easyregistland.php
inflating: easy-regist-landmark/get_nearby_xml.php
inflating: easy-regist-landmark/server_config.php
となるので、このディレクトリを wordpress プラグインのディレクトリへ移動します
私の場合、XAMPP ではなく
web server なので
cp -r easy-regist-landmark /var/www/wordpress/wp-content/plugins/
でディレクトリごとコピーします
cp -r とすればファイルではなく
ディレクトリのコピーが可能になります
ここまでできたら
ブラウザを開いて
wordpress へアクセスし
ログインします
ログイン後、ダッシュボードから
プラグイン >
インストール済みのプラグイン を選択し
easy regist landmark 
を探して有効化します
探すときには
Goggle Chrome なら
Alt+E で Fを押すとブラウザ内検索できるので
ここで
easy と検索するとはやく探せます
これで、プラグインが有効化されるため
あとは確認します
投稿 > 新規追加

投稿します
書籍のまま、題名はスカイツリーとして
解説はなし
あとはショートコードの記述です
書式は
[cmap lat=”緯度” lng=”経度” buildheight=”建物の高さ”]
となります
建物の高さがわからないなら0にします
あとは、投稿を見てみると、以下のように地図が表示されます
Screenshot-2013-02-03 19:53:26

ワーカー側でヒストグラムの処理

ワーカー側で、ヒストグラムの処理
ヒストグラムは特定の色の値、つまり輝度のピクセルがどのくらい存在するか表すグラフ
ヒストグラムを処理する方法は
輝度ごとに処理して少しずつ結果を返す方法と
すべての輝度をまとめて処理する方法がある
輝度ごとに処理する方法では
少しずつ結果を見せられるためユーザーを待たせる時間が短いが、
全体の処理時間はのびる
まとめて処理する方法ては
全体の処理時間は短いが
画像サイズが大きい場合
ワーカー側での処理に時間がかかるため
ユーザー側では何も処理していないように見える
画像サイズが小さいなら、まとめて処理したほうがよいけど
状況により、このあたりは
ケースバイケース

ARの種類

拡張現実の種類
ビジョンベースAR
現実空間に存在する何らかの情報を読み取り
AR情報を表示するこ表示
ビジョンベースARは、更に
マーカー型ビジョンベースAR
マーカーレスビジョンベースAR
に分類できる
マーカー型ビジョンベースAR
マーカーと呼ばれる画像を認識してAR情報を表示する拡張現実
ARとしてほ!一番認知度が高い
マーカーを読み込むことで情報を表示するため
その他の情報がいらない
また、マーカーの傾きなどを、認識することで
表示する情報の角度を操作すれば
ARがより現実空間に存在するようにできる
マーカーレス型ビジョンベースAR
マーカーレス型ビジョンベースARは、
マーカーを利用せず、人の体の形を認識して
その場で試着
部屋の形を認識して模様替え
など、その空間にあるものを認識し、AR情報を表示
また、空間だけでなく
可視光通信を利用したアプリなども、開発されている
ただ、ビジョンベースARを作成するには
NyARToolkit
PTAM
などのライブラリを使わないと実装は困難
ロケーションベースAR
GPS情報と、六軸センサーを使いAR情報を表示する
このため、ビジョンベースARとは異なり
画像や空間認識がいらない
位置情報を利用して、高さ、距離などの算出もできるため
より空間的表示がてきる

拡張現実の仕組み

拡張現実の仕組み
拡張現実は、実際に現実には存在しない情報
マーカー
映像
情報タグ
などを画面上に表示することで
拡張された空間のことを示す 
ちのみに、拡張現実はARともいわれている
ARは
Augment Realityの略
ARは大きく分けて2つ
現実空間の、何らかの情報を読み取り映像を付加する
ビジョンベースAR
位置情報を利用して拡張現実を付加する
ロケーションベースAR
がある