2014年05月23日

枚数無制限のWifiデジタルフォトフレームを実現してみる

デジタルフォトフレームって使っていますか?

とても便利な物なんですが、市販品では実現できない機能があります

個人的な要望としては
・表示枚数制限無し
・Wi-Fi接続でWindowsPC内の画像を直接表示したい
・ランダム表示したい
の3点がありますが、これらを満たす市販品は見つかりませんでした

さて、これを実現するにはどうするか。
まず、SurfaceとかノートPCをデジタルフォトフレームとして使う方法を考えました。
実現できますが、費用がかかりすぎます。費用を気にしない人向けです。

また、Android端末をデジタルフォトフレームとして使う方法も検討しましたが、
使えそうなアプリは見つかりませんでした。
自分でアプリを作ってもいいのですが、それなりに手間が掛かりそうです。


そこで、結局どうしたかと言いますと、こんな組合せで実現しました。
1.無線LAN対応 USBデバイスサーバー ⇒ http://www.iodata.jp/product/lan/option/wn-dsus-hs/
2.USB接続サブモニター ⇒ http://www.century.co.jp/products/pc/monitor/lcd-8000u2.html
3.デュアルディスプレイでスライドショーできるソフト

つまり、USBサブモニタを無線で接続してスライドショーを行うことで解決できました。

※PCが常に起動している前提です
posted by pltokyo at 10:42| Comment(0) | デジタル機器

2014年04月16日

.NET用TCPソケット通信ライブラリ【Sock.dll】


.NET用TCPソケット通信ライブラリ【Sock.dll】

【機能】
・サーバーソケット/クライアントソケットの両方に対応
・非同期マルチスレッド対応のサーバーソケット
・クライアントソケットは送信だけではなく、サーバーソケットからの受信も可能
・接続、送信エラー時のリトライに対応(リトライ回数、間隔も指定可能)
・送受信時にイベントが発生するのでプログラミングが簡単

【動作環境】
.NET Framework 4

【制限】
・1回の送受信上限サイズは1024バイト
 ⇒送受信回数に制限は無いので、複数回に分け長電文を送受信することは可能

【使い方】
Sock.dllを参照設定に追加すれば使えます
VB.NETで作ったサンプルプログラムも同梱していますので参考にしてください(VisualBasic2010)
SockSample.exe起動 ⇒ 「ソケット開始」 ⇒ 「クライアントソケット表示」 ⇒ 「接続」⇒「送信」
で簡単なソケット送受信の動作が確認できます。

【使用条件】
・Sock.dllを使用したこと、または使用できなかったことに
 関連して生ずる一切の損害、トラブルに関していかなる責任も負いません。
・Sock.dllは商用利用可能です。自由にプログラムに組み込んで使ってください。
 ただし、Sock.dll単体での商用利用は禁止します
・転載などされる場合は元のアーカイブのままでお願いします

ダウンロード⇒.NET用TCPソケット通信ライブラリ【Sock.dll】
posted by pltokyo at 13:51| Comment(5) | .NET

2014年03月25日

PHPで誤差無しで小数の切り捨てを行う

PHPで小数の切り捨てを丸め誤差を無くやる方法です。

PHPの関数を使うと、
pow()して位を揃えて⇒floor()で切り捨て
という処理になりますが、これだと丸め誤差が発生してしまいます。

ですので、演算をしないで文字列のまま切り捨てる方法で
誤差を発生させないようにします。

※処理対象の値がマイナスの場合は注意して下さい
floor(-1.8)は「-2」ですが、下記ソースでは「-1」となります。


【ソース例】

function kirisute($data,$keta){
$wk = $data;
$pos = strpos($wk, '.');
if ($pos){
//小数がある
$wk = substr($wk,0,$pos+$keta+1);
}
return $wk;
}


上記は切り捨ての場合ですが、切り上げ、四捨五入も
最終桁の値を判定してやれば、ほぼ同じようにできます。
posted by pltokyo at 11:50| Comment(0) | PHP