「開発メモ」カテゴリーアーカイブ

光電管計測器への道3

タイム計測といえば光電管。
つまるところ非接触で動いてくれるスイッチですね。
前回でプッシュスイッチとマイコンでそれっぽい動作をする所まではできたので、いよいよセンサーを取り付けてみることに。

某オクでオムロンの光電センサE3S-R2E4を入手。
反射板付きで送料込1,000円チョイ。安!

スタートとゴールを別にするパターンに対応したかったので、型番違いでさらにもう一つセンサを調達。

さてマイコン側は5Vで動作、センサー側は12Vで動作。
電圧を混在させて回路を組むためには、フォトカプラという部品を使うのが定番らしい。
生まれて初めて電子部品の単品指名買いでフォトカプラを入手。

見よう見まねでブレッドボードで回路を構築、どうにかマイコン側で光電センサのON/OFFが拾えるところまで到達!
繋がってしまえば、あとはProcessing側でひたすらロジックいじりを繰り返すだけ。

それっぽく動いた!
おお、なかなかいいんじゃないだろうか!?

光電管計測器への道2

さてマイコンで色々できる気がしてきたので、計測器第1号の作成に入って行きたいます。
まずは、以下の様なシンプルな流れを実装してみたい。
・光電センサのかわりにタクトスイッチで回路作成。
・タクトスイッチをPUSHしたら、マイコン側のリアルタイムクロックからタイムを取得してPC側へ送信。
・PC側では、前回受信したタイム値があれば差を計算して画面表示。

PC側を何で作るべきか迷いました。
環境依存が少なくて、扱いやすい…そんな都合のいいものあるのだろうか?
と思って調べてみると、Arduino系の解説ページでよく使われているProcessingという環境を発見。
試しに使ってみたところ、まさにドンピシャな感じ。
お手軽なのに、Javaのパッケージなどがそのまま使えるのも強いですね。
PC側はこちらで行くことにします。

部品類はArduino エントリーキットで調達した物。
せっかくなので、マイコン側も情報量が多いArduinoで組み込んでみます。
開発環境自体はmbedのほうがクールだけど、開発のリズムはArduinoのほうがいいかな?
単に慣れの問題かもしれません。

色々やってみたらこうなった。

お、意外とそれっぽい!?
ソースはこんな感じです。
あとは光電センサを繋げば使えそう・・・?

続く

CakePHP-debug_kitのSQLログで取得できる件数を増やす

 cake開発に無くてはならないdebug_kit。
 SqlLogパネルでは発行されたSQLが全部確認できて便利だなーと。

 しかし初期状態では上限200件までしか表示されないんですよね。
 (200件も投げるなよなんていうツッコミはごもっとも)

 cake/libs/model/datasources/datasource.php
 に
 var $_queriesLogMax = 200;
 って定義されてますよと。

どこでもしごと〜

更新がないのは必死で働いてるからだって思ってくれてよくってよ?
という訳でひさーっしぶりに仕事ネタでございます。

先月からがっつり労働しておりますが
なにしろ会社自体が誕生したばかりゆえ人員がおりません。
なのにインフラからシステムまでぜんぶ自力でやろうぜ的な流れなので色々とアレなんですよ。
(いや最初のうちはそっちのほうがいーっすよと推したのはじぶんですが…)

まあそんなノリですのでなんかあった時にサクっと拠点にリモート繋げないと困るわけです。
リモートといえば窓標準のリモートデスクトップとかVNCとかが定番ですがなにしろ細々した設定がめんどくさい。
操作性とか微妙な互換性とかもけっこう厳しいしね。

んで教えてもらったのがTeamViewerなんですが・・・
ポータブル版ならインストールすらいらず、起動すればファイヤウォール越しだろうがサクっとつなげちゃう。
職場によってはシス管泣かせな可能性大のソフトですが今の状況ではひじょうにありがたい。

各OS版が用意されていて(スマートフォン版もあり!)キーボードの違いにもしっかり対応済み。
接続先マシンがデュアルディスプレイの時も問題なし!

これとWiMAXルーターがあればほーら、どこでもしごと〜(ぱぱらぱー
・・・それは果たして幸せなのか、と突っ込んではいけません。
いつでも繋げるぜ!という安心感がこころの安定をもたらすんです。たぶん。

どこに行ったのTwitterのRSS(2011/09)

各種クライアントでお気軽に読めちゃうのがTwitterの魅力ですが
やはりネットストーキングするならRSSで読みたいわけですよ。

しかし気がついたらいつの間にかTwitterのRSSがどっかにいった…
ぐぐってみたらどうやらこういうことらしい。

しかし手動でやるにはちょっとめんどくさいなーという感じ。
せっかくなので、以前からの疑問coreserver.jpでcakePHP動くんかいな?
ってことも試してみたかったのでつくってみた。→TwitterユーザーのRSSページを探します
※RSS取れなくなったので削除しました

わかったこと
•特に何もしなくてもcoreserver.jpではcakePHP1.3が動く。
•しかし超遅い。

•ていうかそもそも
http://twitter.com/statuses/user_timeline/username.rss
でそのユーザーのRSSが取れる
(今気づいたorz)

CakePHP-debug0でもログだけは出力

 Cakeを触り始めてもうすぐ半年
 色々とわかってきた気がするぞー
 んでCakeアプリを本番環境で動かす時の話なんですが。
 core.phpのdebugを0(運用モード)にしておけば、どんなエラーが発生しようとも絶対表には出さない安全仕様。
 memory_limitにひっかかって落ちてもログファイルには何ひとつ記録されないとかCake様超ステキ。
 FWの動作が気に食わねぇなら手前で書き直しやがれ何の為のLLだ!?
 と誰かに言われた気がしたので調べてみたよ。
 バージョンは1.2.4です。
 cake/libs/configure.php
 293行目あたり

if (isset($config[‘debug’])) {
    if (
$_this->debug) {
        
error_reporting(E_ALL);
        if (
function_exists(‘ini_set’)) {
            
ini_set(‘display_errors’1);
        }
        if (!
class_exists(‘Debugger’)) {
            require 
LIBS ‘debugger.php’;
        }
        if (!
class_exists(‘CakeLog’)) {
            require 
LIBS ‘cake_log.php’;
        }
        
Configure::write(‘log’LOG_NOTICE);
    } else {
        
error_reporting(0);
        
Configure::write(‘log’LOG_NOTICE);
    }
}

 ここでerror_reporting(0)されてますねー
 こいつをどうにかした上でdisplay_errorsとかlog_errorsをどうにかしてやれば
 無事にログだけ記録されるようになりましたとさ。

Excel2007+Outook2007 シートをメールで送信すると背景色が真っ黒になる

 何の変哲もない、普通のExcelのシート。
 何の変哲もないExcelシートが
 「メールの宛先に送信」を使って、シートをOutlookで送信すると・・・
 受信先では背景色が真っ黒に!
 受信すると真っ黒に!

 送信につかったExcelのシート全体を選択してプロパティ、塗りつぶしタブ。
 「パターンの種類」で赤丸を選択したら解決しました。
 ここが原因でした
 やれやれ。
 というかExcelからメール送る事ができるなんて知りませんでした・・・

Oracle-SQLのエラー行を特定する方法

SQLがちょっと複雑になってきたりすると、なんてことないケアレスミスで構文エラーが出る。
そんなの日常茶飯事ですが・・・
どうやらSI Object Browserはエラーのある行を指示してくれないようです。
(参考:公式FAQ)
まあ社外ツールなら仕方ないか。
次期バージョンアップに期待。
SQLEditorTEはかなり的確にエラー行を指定してくれるのですが
これはあくまでストアドでロジックを書いている場合のみの模様。
単純にSELECT文のエラー箇所を特定したいという場合にはどうすりゃいいんだろ?
純正ツールならきっとあるよなエラー行特定機能が。
で、調べってみた。
どうやらSQLPlusを使うといけるらしい。
早速動かないSQLを貼り付けてみると、無事にエラー行を指定してくれた。
よかったよかった。
・・・でもこれなんか面倒くさくね?
ゲ○ツ氏製品との比較ばかりで申し訳ないのだが
SQLServerなら付属ツールだけでエラー行の特定はもちろん
ストアドのデバッグだってできるんだけどな・・・
Oracleさん、色々大変なんだとは思いますが
僕のような低脳でもらくちん開発できるように周辺ツール充実させてください。
ほんとお願いします。


※追記
SQLPlusに長いSQL貼り付けると途中で切れちゃったりしますが
コマンドプロンプトで実行すれば一発OKな模様。(情報元はこちら
こりゃ便利。

PL/SQLストアドのコーディングツールを教えてもらいました

 今まではほとんどSQLServerだったのですが
 最近はひたすらOracle PL/SQLでストアド書いてます。
 この仕事はじめて8年になりますが
 実は僕のストアドのコーディング経験って、みっくりするほど少ない。
 なにしろこれまでは
 クライアントサイドに配置された実行モジュール内にゴリゴリ生SQL書いて
 直接DBにアクセスしてるような時代遅れの2階層C/Sばっかりだったからな。
 APサーバー?
 ORマッピング?
 3階層C/S?
 MVC?
 なにそれ食えんの?
 そんな感じなので、普通のDMLなSQLならそこそこ書いているのですが・・・
 ストアドを書くケースが増えてきたのはここ1年くらいなんですよ。
 三流プログラマバンザイ。
 なので以下まったく空気読めてない発言ですよ。
 先に誤っておきますサーセン。


続きを読む PL/SQLストアドのコーディングツールを教えてもらいました