‘プログラム’ カテゴリーのアーカイブ

電力使用状況&電気予報なブログパーツ

 プログラム, ,
 公開日:2011年7月4日 / 更新日:2012年7月19日

Yahooに電気予報APIがあるのを発見しました。
これを利用したブログパーツをこちらで見つけたので、
自分のブログでも利用させてもらっていましたが、
なぜか表示されたりされなかったり・・・。
このAPIは、
「24時間中1アプリケーションIDにつき50000件のリクエストが上限」
という制限があるそうなので、このせい?

電気予報なブログパーツはこちらにもあるのですが、
横長でサイズも大きめなのでここに貼り付けるのは難しい。

さて、どうしたものか・・・
んじゃ作るか(^_^;)
ということでやってみました。
このページの右に貼りつけてあります。

ちいさめサイズなので、
どんな表示にしようか色々考えましたが、
APIで取得できる情報のうち、
過去1時間の電力使用実績値と、
今後24時間の使用率の推移予報
および最大となる日時の予報
を出してみることにしました。

なお、
時間毎の実績データは多少遅れて配信されたりするっぽい?
また、
期間限定なAPIで終了日は未定だそうです。

こちらを見ると直近の使用状況が出ているのですが、
YahooのAPIではそういう情報を取得できないため、
別なブログパーツを貼ってみました(^_^;)

もうすこしエイジングしたら、
埋め込みのスクリプトを公開するつもりの予定。


※7月6日追記

とりあえず動作に問題なさそうなので、
埋め込みスクリプトを公開します。
Yahoo! JAPANのAPIを使用しているためクレジット表記が必要となっています。
そのため少々長めのスクリプトになっていますがご了承ください。
以下をコピペなどして貼りつけてください。


※7月13日追記

東京電力の「でんき予報」
速報値などの情報を取得できることを発見。
というかナゼ今まで気がつかなかったのか・・・(^_^;)
ということで、
このデータを利用したバージョンのでんき予報ブログパーツを作りました。
なお、翌日の予想値はデータが取得できた時点から表示されるようになっています。
その他、挙動についての詳細はこちらを参照してください。

こちらも埋め込みスクリプトを公開します。
Yahoo版、東電版のお好きな方を、
あるいは両方共(^_^;) 使っていただいてOKです。
以下をコピペなどして貼りつけてください。

それにしても、ローカルではうまく動作するのに
ブログに貼り付けると動作しないという問題に悩まされましたよ。
調べてわかったのは、
Flashからクロスドメインでデータを取得する際は、
アクセス先のドメインにcrossdomain.xmlが設置されていて、
かつアクセスが許可されていないといけない、ということ。
Yahooの場合はこんな感じになっているので、
全てのドメインからのアクセスを許可しているようですね。
残念ながら・・・東電のサイトには設置されていないようです。
結局、こちらの解決策に助けられました。感謝。
自前のプロクシ経由にするとは考えたものですね。


※8月28日追記

YahooのAPIが速報値に対応してたのに気がついたので、
(うむぅ、いつのまに。)
Yahoo版でも速報値を表示するようにしました。
あと、
東京電力以外の電力会社にも対応したようですね。
ちょっと直せばすぐ作れるけど、いいか。


※2012年7月3日追記

Yahoo!版は東京電力以外にも対応しました。

Windowsを初代から7までアップグレードする

 トピック, プログラム
 公開日:2011年6月22日 / 更新日:2014年1月20日

これ、興味深いですね。
VirtualBOXとかVirtualPCとかの仮想マシン上でやったっぽい?
まずはDOS5のインストールからスタートなのね(^_^;)

ソフトの互換性はかなり良く保持されているようなので、
昔のDOSアプリを探して7で動かしてみようかな(^_^;)

タイトルの「Chain of Fools」というのがなんともw

HTML5 Geolocation

 プログラム,
 公開日:2011年5月17日 / 更新日:2014年12月21日

★2014年12月21日追記。
住所表示がおかしくなっていたようです(いつのまに?)
直してみました。

Gearsで位置情報取得して地図表示
というのをついこのあいだやってみたばかりですが、
Gearsは将来廃止されるようですし、
ここここを見て、
HTML5 Geolocation でやってみました。
(HTML5ではいろんな機能が使えるようになるみたいですね)

ただ、
Webブラウザによって対応状況が変わるようなので、
HTML5 Geolocation ⇒ Gears Geolocation ⇒ GeoIP
の順に試行するように作ってみました。

メジャーなブラウザでの動作は一応確認しているつもりですが、
今のところChromeで参照するのが動作的に軽いと思われます。

こちらです。

なお、
画面の上の方の情報バーやポップアップ等で、
位置情報(トラッキング情報)の取得許可の
確認が要求されるので注意してください。
確認は初回だけだと思われます。

Gears Geolocation

 プログラム
 公開日:2011年5月16日 / 更新日:2011年8月17日

以前、
IPアドレス→位置情報取得→Googleマップ表示
というのをこのAPIを使ってやってみたのですが、
てんで違う場所だったりで結果はイマイチでした。
結局の所、
プロバイダが登録している位置情報に拠ることになってしまうんだと思われます。

一方、
Googleの検索などで例えば「セブンイレブン」とか入れると、
近所のセブンイレブンの場所を地図とかで表示してくれたりします。
つまりIPアドレスやホスト情報から、
ある程度の確度の位置情報を取得することは可能なようです。

先日、
Googleによる Geolocation API というのを見つけたので使ってみました。
まだベータ版っぽいようなのですが、わりといい感じな結果になりました。
試してみたい方はGoogleのGearsをインストールした上で、
(※ブラウザがChromeの場合は既にインストール済みになっているっぽい)
こちらにアクセスしてください。
ただしFireFox4とかはGearsをまだサポートしていないようです。
なお、初回は位置情報の取得について許可を求めて来ますので、
よろしければ許可にチェックをいれてください。

※5月17日追記
Gearsは将来廃止されるようです。
同等の機能がHTML5で標準装備されるみたいです。
知人の方に教えていただきました。
http://journal.mycom.co.jp/news/2011/03/23/012/index.html
ということで、
HTML5 Geolocationでもやってみました。

Flashの埋め込み

 WordPress, プログラム
 公開日:2011年5月4日 / 更新日:2014年1月20日

ここここここなどを見ると、
objectタグとembedタグを使って埋め込むのが一般的なようですが、
ちょっと問題があるそうなのでSWFObjectを使う方が良いようです。
現時点のSWFObjectのバージョンは2.2となっています。
では、
SWFObjectを使って実際に埋め込んでみます。
あらかじめ、
ダウンロードしたSWFObjectのzipファイルを展開して得られる、
swfobject.js と expressInstall.swf の2つのファイルを
自分のサイトの適当な場所にアップロードしておきます。
expressInstall.swf は、ここによると、
FlashPlayer が古かった場合にアップデートを促すようにするためだそうです。
次に、埋め込むスクリプトを書きます。
例えば、拙作の「ロト6選択機」をブログパーツとして
埋め込む場合は以下のようになります。

scriptタグ部分をあらかじめhtmlのheadタグの所に書いておけば、
bodyタグ内に書くのはdivタグだけで済むのですが、
ブログパーツとして埋め込む場合は、
すべてbodyタグ内に書くことになるし、
URLは絶対アドレス表記にならざるをえないので、
どうしても記述が長めになってしまいます。
そこでもっと短くて済むように考えてみました。

以下のようになります。
URL短縮サービスとか利用すればもっと短くなりそうですが(^_^;))

やってることは、
先の長い記述を embedswf.js というスクリプトで展開するようにしたものです。

embedswf.js の使い方は以下の通りです。

URL : embedswf.js を配置した場所(絶対アドレスあるいは相対アドレス表記で)
クエリ部の各パラメータは、
f=AAA : AAA=拡張子を除いたswfのファイル名
w=BBB : BBB=横の大きさ(ピクセル)
h=CCC : CCC=縦の大きさ(ピクセル)
i=DDD : DDD=divタグのid属性に付ける名前
パラメータを指定しなかった場合はFlashの埋め込みは行われません。
ただし、 i=DDD は省略可能です。
i=DDD を省略時は、divタグのid属性に付ける名前には AAA が使われます。

embedswf.js の内容は以下の通りです。

embedswf.js が記述されているscriptタグ自体にアクセスし、
そのクエリ部分を展開して、
SWFObjectを使った長い記述を書き出すという処理を行っています。

ただ、謎なことに、
wordpressの自動整形?によって内容の一部が勝手に削除されてしまうので、
こちらのファイルを直接参照してもらった方がよいかと思います。
ここのブログで実際に使っているものです。

embedswf.js を他のサイトで使う場合は、
引数 base が示している基準となるURLを書き替えてください。
相対アドレス表記でも行けるはずです。
また必要に応じて、
引数 ver が示しているFlashPlayerのバージョン値も替えてください。
swfobject.embedSWF() に渡す param については、
ここここを参照してみてください。

なお、
base を基準URLとした場合の、
各ファイルの配置が以下のようになることを前提としていますので、
これについても必要に応じて調整してください。
base/js/swfobject.js
base/swf/expressInstall.swf
base/swf/対象となる.swf


※7月21日追記

多少動作が遅くなることがあるらしいので、
使わないようにしていましたが、
一部のプラグイン、例えばThickBoxとか使用時に
重なり問題が起きるようです。
param に wmode:”transparent” を指定するようにしました。
この方が無難なようです。