ホームページのカレンダー表示|第2第4火曜日を自動化

パソコンさくらのホームページには、営業カレンダーを表示しています。
これが案外めんどくさい。
カレンダーはPerlで生成しSSIで表示しています。
一見、静的なHTMLを見てるようにみえますが、実は、色々とやっていたりするんです。

年間の祝日は、毎年年末が近くなると祝日を手で入力しているのですが、
ややこしいのが第2/第4火曜日です。
祝日を設定する時に、来年のカレンダーを見ながら設定するのですが、
あまりにも面倒で、半年分程度を入力すると、集中力がきれてやめてしまいます。
たまにカレンダー表示更新が遅れるのはそのせいです。

これでは「あかん!」っと思い、プログラムを改善することにしました。

では、いったいどうやって第2火曜を求めるのか?です。
第2火曜ができれば、第4火曜は出来ます。
検索しながらたどりついたのが↓
http://www.din.or.jp/~ohzaki/perl.htm#NthW2Date
なるほどです。かしこ~!

これを参考にし、カレンダー表示に第2・第4火曜日の表示を自動化したものを組み込んでみました。
祝日は、計算通りにはならないので、年末の恒例打ち込み行事にします。

よし。

パソコンさくらのホームページをリニューアルしました

7ヶ月ぶりのブログですwww
貧乏暇無しってとこでしょうか・・

とうとう「パソコンさくら」のホームページを昨日リニューアルしました。
http://www.psakura.com/
Flashを使ったページに、もう限界を感じたからです。
そこで、スマホやタブレットにも対応したレスポンシブwebデザインにしてみました。
Googleさんが推奨しているように、CSSによりデザインを切り替えたものになります。
どうでしょうか?

個人的によく使ってたレスポンシブのテンプレートが
Template Partyさんです。
http://template-party.com/
ダウンロードしたテンプレートは、そのまま使うことはなく、常にそこからカスタマイズを行うのですが、
Template Partyさんのテンプレートは、非常にシンプルで、私とのカスタマイズ相性がばっちりなんです。
今まで沢山ダウンロードし、フリーのままで利用していました。
ところがですね。
久々にTemplate PartyさんのWEBサイトに行ってみると、
「熊本」という文字が・・
Template Partyさんって熊本だったんです!
私も阪神大震災で神戸市東灘区で震度7地域で罹災した経験があり、
何かできないか?考え、
今まで散々フリーのまま使っていたので、
この度、Template Partyさんの半永久ライセンスを購入させて頂きました。
頑張って欲しい、それだけです。

そんな訳で、パソコンさくらのレスポンシブのテンプレートはTemplate Partyさんを採用しています。

WiFiモジュール ESP-WROOM-02でLチカ

ESP-WROOM-02(ESP8266EX)の購入編はhttp://www.psakura.com/memo/?p=576を見てください。

ATコマンドでの動作確認とLチカを行ったメモです。

ATコマンドの詳細はhttp://www.microtechnica.tv/support/manual/4A-AT-Espressif%20AT%20Instruction%20Set_v0.21.pdfで確認できます。

デジットさんで購入した変換基板ですが、J1とJ2は半田ブリッジを行いました。
ESP-WROOM-02はIO0/IO2/IO15により、下記の3つの動作モードがあります。

IO0 IO2 IO15
UART Download Mode 0 1 0
Flash Startup Mode 1 1 0
SD-Card Boot Mode 0 0 1

ATコマンドで動作させるには「Flash Startup Mode」、
ArduinoIDEでスケッチを書き込むには「UART Download Mode」にするようです。
デジットさんで購入した変換基板は、IO0/IO2はプルアップされていてIO15はプルダウンされています。IO15はLOWのままでよさそうですし「SD-Card Boot」はしないのでIO2はHIGHのままでよさそうです。
IO0を切り替えることにより、ATコマンド動作とArduinoIDEを使ったスケッチの書き込みモードを切り替えます。

【構成】
まずパソコンのUSBとスイッチサイエンスさんのUSBシリアル変換基板(3Vor5V切替)を繋ぎました。
WiFiモジュールは電気を食うようなので、USBの5Vから三端子レギュレータで3.3Vを作り、ESP-WROOM-02へ3.3Vを供給します。
ESP-WROOM-02のTXDとRXDとGNDをUSBシリアル変換基板と接続しました。

【ATコマンドで動作確認】
WiFiモジュールが「Flash Startup」モードになっていることを確認し、電源を入れます。
Arduino IDEの「ツール」>「シリアルモニタ」(115200bps CRおよびLF)に設定します。
「AT」「Enter」と送信すると「OK」が返ってきます。

【Arduino IDEでLチカ動作】
WiFiモジュールが「UART Download Mode」モードになっていることを確認し、電源を入れます。
Arduino IDEからIO4にLチカプログラムを書き込みました。
いつも以上に書き込み時間が長かった感じが・・。
Lチカ完了

※なかなか面白い部品なので、また追記します。

WiFiモジュール ESP-WROOM-02(ESP8266EX)を購入

ESP-WROOM-02(ESP8266EX)が日本の技適を通過したそうで、
ネットで皆さんガンガン購入しているので、私も購入してしまいました。
2015-09-01-16-16-08_photo_s
大阪日本橋のデジットさんで購入しました。1110円なり。
http://blog.digit-parts.com/archives/51971854.html
東京のショップと比較すると少し値段が高いような気もしますが、WiFiモジュールとピッチ変換基板と、お店の配慮のおまけ付きだったのでヨシッとします。おまけは、変換基板に実装するコンデンサ104が1個、抵抗10Kが5個でした。1608サイズです。
基板の詳細は↓です。
http://prod.kyohritsu.com/KP-ESPWROOM02.html
単にピッチ変換基板ではなく、パスコンとプルアップ抵抗のパターンが存在します。

半田をしてみました。当然、手付けです。
2015-09-01-15-54-44_photo_s
2015-09-01-16-02-27_photo_s
半田付けしてから気が付いたことは、モジュールのPCBアンテナのすぐ裏にラウンドがあるやん!ってことです。影響なんて受けないのかもしれませんが、少し気を使って欲しかったような・・。とりあえず気にしないことにします。

一番やりたいことは「なんでも独り言」さんのブログにある↓
http://ehbtj.com/electronics/esp8266-as-arduino
↑これがやりたいのです。
私はサーバーとして、このWiFiモジュールを動作させたいなぁっと考えています。
今日は購入編ということで、また追記します。

IFTTTを使ってみた

とても便利なWEBサービス「IFTTT」ですが、Makersチャンネルが追加されて事を今頃知ってしまい、触ってみました。
IFTTTはイフトと呼ぶらしいのですが、アイエフティスリーと呼ぶ方が、仮面ライダーっぽくてカッコいい感じもしますが、イフトと呼ぶことにします。

IFTTT = if this then that.

↑これが基本でthisとthatの部分を自分で色々とカスタマイズが可能なWEBサービスです。
詳しいことは、IFTTTで検索してみて下さい。

Makersチャンネルが追加されたことで、例えばArduinoで計測した温度をツイッターに転送するなどのIoT時代にぴったりなサービスを利用できるのです。
が、私はthisの部分にMakersではなく、thatの部分にMakersを設定した使い方をしたいと考えています。
アップロードばかりのIoTには少し飽きてきたからです。

そこで、以下の方法により、メールの内容によりArduino等で何かを制御できればいいなぁっと考えています。
Clipboard01

手段としては、ArduinoやRaspberry Piなどでサーバーを立て、ダイレクトにIFTTTからGETやPOSTデータを受けるのもいいんですが、ルーターのポート開放など色々と煩わしいこともあるので、
私は、IFTTTからのPOSTデータを一旦レンタルサーバーで蓄積、ArduinoはイーサネットのクライアントとなってレンタルサーバーにアクセスすることでIFTTTからのPOSTデータを確認することにしました。

どんなイメージなのか?全然わからないので、Perlをサーバーに設置し、IFTTTからのPOSTデータを見てみました。

#!/usr/local/bin/perl

use strict;
use CGI;
use utf8;

# IFTTTからのPOSTデータ受信
my $q;
if ($ENV{'REQUEST_METHOD'} eq "POST") {
	$q = join "", <STDIN>;
} else {
	$q = $ENV{'QUERY_STRING'};
}

# ログファイルに残す
my $line = "$q<>\n";
open(OUT, ">>log.dat");
print OUT $line; # log.dat に $line の内容を出力
close(OUT);

#
print "Content-type: text/html\n\n";
print "message\n";
print $q;

exit;

お~!GMAILの新着内容がログに保存されてます。とりあえず成功(^^)/
でも日本語部分がうまくいってない模様。文字コードの関係?後でじっくり見直してみます。
これは、はまりそう予感がビンビンします。
進展があれば、お覚書きを追加します。

GR-KAEDEでイーサネット・・、あれ?ライブラリ?

あれ?
昨夜、GR-KAEDEをルネサスさんのWEBコンパイラでLチカまでOKだったのですが、
イザ!イーサネット!と思ってライブラリをクリックしたら↓
全部「gr_sakura_・・・」ってGR-SAKURAのライブラリの表示しか出ていない。
ss20150806
あれ?
まだGR-KAEDEのライブラリは準備中?
箱にしまって、しばらく待つとします。
今日でGR-KAEDEは少し休憩とします。

GR-KAEDEでLチカ

昨日購入したGR-KAEDEでLチカをすることにしました。
購入直後のGR-KAEDEに、USBから電源を投入するとLED1~LED4が同時に点滅し始めました。

いきなりプログラムを書き込みたい所なのですが、
購入直後のファームウェアは古い可能性もあるので、書き直す事にしました。
秋月さんの資料
http://akizukidenshi.com/download/ds/renesas/GR-KAEDE_USB_Farm.pdf
ルネサスさんの資料
http://japan.renesasrulz.com/gr_user_forum_japanese/b/weblog6/archive/2015/07/27/gr-kaede-usb.aspx
を参考にファームウェアを書き直しました。
マニュアル通りに問題なく出来ました。

では、楽しみにしてたプログラム作成と書き込みです。
久々にルネサスさんのWEBコンパイラにログイン。
GR-SAKURAとGR-KURUMIを使ったことがあるので、使い方は全く同じです。
LEDがローテートする初期プログラムが入っているので、そのまま「ビルド実行」-「sketch.bin」をダウンロードするだけ。
初めて、がじぇるねボードを使われる方はGR-SAKURA等でWEBコンパイラの使い方を参照して下さい。

書き込み方法ですが、まずPCとGR-KAEDEをUSBで接続します。
GR-KAEDEには2つのスイッチがあるのですが「RESET」スイッチを押します。
するとGR-KAEDEのドライブが表示されるので、ダウンロードしたsketch.binファイルをそのフォルダにコピーするだけです。
自動的に書き込んだプログラムが起動しました。
USBマスストレージライクな書き込み方法は、本当に楽です。
DSC_0378

まだ、何を作ろうかと考え中なのですが、高機能なマイコンなのでイーサネットあたりからチャレンジしてみます。

GR-KAEDEを購入しました。

8/1(土)に東京ビッグサイトであったMaker Faire Tokyo 2015に行ってきました。
DSC_0342
営利なんて関係無し!の勢いのある個人作品に、本当に関心しました。
こういう個人でものづくりをする人たちのことを「Makers」と最近は呼ぶようです。
なかでも電子工作をする人達がよく使うボードにArduinoやARM mbedやRaspberry Piのボードがあるのですが、日本の半導体メーカーも頑張ってます。
それがルネサスさんです。
「がじぇっとるねさす」=「がじぇるね」
なんとかルネサスさんも頑張って欲しいっと思いつつ、でも気持ちだけでは駄目なので、今日ネット見てたら秋月さんとマルツパーツさんから「GR-KAEDE」が発売された事を知り、会社終わってから即効で阪神電車に乗り、閉店時間ギリギリでマルツパーツ大阪日本橋店でGR-KAEDEを購入しました。
中小企業に勤務するサラリーマンにとって気合が入った8200円(税込)です。
DSC_0364
富士山の絵が日本らしい
DSC_0365
裏はインド? そういえば若い頃持ってたマハラジャのメンバーズカードが、こんな象さんだったような・・。歳いったなぁ・・。
DSC_0366
側面には、GRとNGXがあります。かっちょいい。
DSC_0367
DSC_0368
箱を開けると、こんな感じ。
DSC_0369
GR-KAEDEのボードと、USBコネクタだけ入ってます。紙切れひとつ無し、これもネットが起こしたペーパーレス時代ということです。
DSC_0370
GR-KAEDEの表面。レジスト色がいつものピンク感ではないなぁ。
今まではな感じで、GR-KAEDEはな感じです。
DSC_0372
GR-KAEDEの裏面
DSC_0373

ところが・・ですね。未実装のピンソケットの一部が半田されてしまってるんです。
水色丸マークの所。
不良ではないけど、半田抜くのは、ひと手間いるんです。メタルマスクのミスではないでしょう。ピンソケットはディスクリート部品なので、もしかして手付け?隣のピンソケットを付ける時に半田のってもた?最近、こういうのによく当たります。
DSC_0374

こういう推測するのも、電子工作の楽しみのひとつでもあります。
気分入れ替えて、明日からLチカから始めます。

とは言ったものの、ファームウェアを入れないと駄目なのか?秋月さんには書いてあるし。
マルツパーツさんには紙切れ入ってませんが、秋月さんには資料が入ってるようです。
がじぇるねさんにもファームウェアについてはまだ掲載ないようなhttp://gadget.renesas.com/ja/product/kaede.html
マルツパーツさ~ん、URLは、ちょっと欲しいかも。迷子です。
とりあえず秋月さんの資料を参照します(笑)
マルツパーツさん
http://www.marutsu.co.jp/pc/i/557865/
秋月さん
http://akizukidenshi.com/catalog/g/gM-09520/

アート引越しセンターの花火、来年も頼むよ!

今日は「その他」の覚書きです。

夏といえば、やっぱり花火です。自転車こいで見に行く地元の花火大会は、私にとっては恒例の儀式となっています。
今年も「芦屋サマーカーニバル」に行ってきました。

花火といえば、企業名を聞かされるスポンサー花火があります。
芦屋の花火で「アート引越しセンター」がとうとう市民権を勝ち取りました。
アート引越しセンターのテレビCMといえば
♪あなたの街の~♪0123です
この名曲を流しながら花火が上がり「0・1・2・3」の時は数字の花火があがる、これがアート引越しセンターの花火です。
当然、この数字が全てがうまく見えるわけではありまん。

毎年「アート引越しセンター」はこの花火を続けているのです。

通常、花火で企業名が出てもスルーされるのですが、
アート引越しセンターの場合、なんと会場がザワザワするんです。
「今年はどうやろ・・」
「頑張れよ~」
「0123や~」
応援と期待で会場がどよめきます。
いざ上がり始め、0123部分になると、大盛り上がり!
今年、私の見た場所からは「3」が「1」にしか見えませんでした(笑)
が、会場は大盛り上がり!
会場は、まともに見えない、すべる方を楽しみにしています(笑)

ビジネス的に見れば、費用対効果はどうなんだろう?っと考える部分もありますが、
笑い・期待・歓声の市民権を勝ち取った「アート引越しセンサーの花火」に賛辞を贈ります。
リンクでお礼です。
♪あなたの街の~♪0123♪アート引越しセンターへ