2015年02月16日

USB Modem を Linux で使う場合の注意点

USB タイプの Modem は、通常 Windows をサポートするようになっているので、CD-ROM として認識されることが多いです。Windows に差し込むと、自動的にドライバ等がインストールされるような仕組みのためです。

これを USB Modem に切り替えるには、usb_modeswitch 用の設定を行って、CD-ROM 認識された USB 機器を、Modem に変更する必要があります。でも、これが上手く行かない機種がありました。L-05A というタイプの modemです。

あちこち調べると、eject を実行して cd-rom 等を外すマネをすると、自動的に modem として認識されるとあって、その通りにやってみるとなるほど、うまく切り替わります。ただ、これだと毎回実行することになり、ちょっとイヤだなと思ってました。udev のルールを設定して、eject を組み込む方法もあるようですが、それだと、/dev/ttyACM* の名前のデバイスになってしまいました。

先日、AT コマンドで、初期設定を変えることで CD-ROM と認識せずに、Modem として認識してくれる方法がありました。minicom 等を使って、usb modem に接続し、「AT%USBMODEM=0」と入れると、最初から modem と認識するようになります。USB 機器の ProductID の付け替え等も必要なくなるので、設定が楽です。しかも、デバイス名も、/dev/ttyUSB* となり、他のモデムと同じデバイス名にしておきたい場合には好都合です。

USB Modem の接続が上手く行かない場合には、試してみる価値ありです。
posted by 開発G at 22:21| Comment(0) | TrackBack(0) | Programming

2015年01月25日

なんでもいいからイメージが欲しいときに便利

Dummy Image のキーワードでいろいろ調べていて、見つけた クリエイターボックスさんのサイトから便利な Web サービスを2つほど記録しておきます。

ホームページのレイアウトなどをしていて、広告とか、写真とか、何かのイメージを入れる前に、レイアウト上の確認作業を行いたいときに便利そうなのが、 placeimg.com です。

例えば、480 x 90 サイズで、風景の写真が欲しければ、次のように記入すれば、、、、

<img src="http://placeimg.com/420/120/nature" />

次のように写真が表示できます。


リロードする度に、違うイメージが出てくるので他にも使い道があるかもしれません。

枠のサイズだけをイメージで表示するには、dummyimage.com もあります。

次のように記述すれば、、、、

<img src="http://dummyimage.com/420x120.png" />

枠のサイズが確認できます。



他にもダミー文書などを作ってくれるようなので、調べてみるといいと思いました。

posted by 開発G at 16:30| Comment(0) | TrackBack(0) | Web

2014年11月10日

サーバアフィニティ機能は、Webサイトサービスにあり、Cloudサービスにはない

Azure では、ロードバランサによりサーバの台数が自由に増やせます。(当然、課金されていくので要注意)

Web サイトサービスでは、サーバアフィニティという機能により、ロードバランサを通過した後、自動的に最初にアクセスしたサーバに接続されるそうです。このため、Session 変数に保存した値を、正しく参照することができます。調べたところ、Affinity という名前のクッキーを発行していて、このおかげで目的のサーバに正しく接続されるようです。詳細は、Web サイトサービスの内部動作アーキテクチャあたりを参照のこと。

一方、Cloud サービスは、サーバアフィニティ機能が働かないため、同じ名前で参照される複数のサーバを用意しても、ロードバランサによりランダムに振り分けられるだけで、同じサーバをアクセスしませんでした。Could サービスでもアフィニティ機能があると便利なんですけど、用意しないには理由があるのでしょうか。サーバを固定させない方が信頼性があがるからなのですかね。IIS の Application Reverse Proxy 機能 を使えば、アフィニティ機能を自分で作れるみたいですが、ロードバランサで複数に振り分けられるため、キャッシュ等で情報を共有しなければならなくなります。自分で作ると、現在の Clould サービスの最初のロードバランサで振り分ける意味がなくなってしまいます。どうするのがベストなのか皆さんどうしているのでしょうね。
posted by 開発G at 15:32| Comment(0) | TrackBack(0) | Azure

2014年10月19日

Emgu vs. OpenCVSharp でどちらを使うかの議論の結果

OpenCV をインストールして C# で使うことになり、OpenCV のラッパーを探してみました。

見つけたのは、Emgu, OpenCVSharp, OpenCV.Net の3つで、海外では Emgu が一番人気があるようです。
そこで、Emgu をインストールしてみたのですが、2度ほど10時間かけてコンパイルしてみたのですが、Linux 上ではソースコード上のエラーが出てうまくコンパイルできませんでした。Emgu では、OpenCV のソースに手を入れているのか、それとも、beta 版とリンクしようとしているのかわかりませんが、コンパイル途中で構造体が宣言されていないエラーとか、ファイルがないとか、理解を越えたエラーが出て、ソースを修正しながら続けたのですが最終的にはインストールする気力をそがれてしまいました。Emgu は Windows 上ではうまく動いていたのですが、仕方がありません。

Emgu はあきらめて次に、OpenCVSharp にチャレンジ。OpenCVSharp は、OpenCV のソースには手をいれていないため、Emgu のような問題には遭遇せずにインストール完了。無事に動かすことができました。OpenCVSharp 開発者のブログを読んでわかったことですが、Emgu と OpenCVSharp では開発方針が違うようです。次の理由で OpenCVSharp が気に入りました。

1)OpenCV のソースは修正していない点。Emgu は OpenCV ソースも修正しているように見えます。
2)OpenCV が C言語の関数であり、そのままの形で呼び出せるようにしている点。Emgu は、独自のイベントがあり、独自のプログラミングスタイルを作っているようです。
3)Mono 環境でも動作保障してくれている点。
4)BSD ライセンスである点。Emgu は GPL ライセンス。
5)OpenCVSharp は 日本人が開発している点、ブログもありました。開発者 Shima さんの開発方針が見えてちょっと安心。

OpenCV のラッパーという意味では、1)、2)は重要で、OpenCV のサンプル等を原型に近い形で移行させるには、OpenCVSharp の考え方の方がいいのではないでしょうか。他の人のブログ等では、OpenCV にあって、OpenCVSharp ではサポートしていない関数があるとか書いてあったり多少の心配はありますが、まだそこまで OpenCV を使い込んでいないからか、今のところはなんの問題もないです。





posted by 開発G at 10:21| Comment(0) | TrackBack(0) | Linux

2014年10月01日

ASP.NET の modernizer.js でできること

ASP.NET を使っていて、site.master ファイル内に modernizer というのがあり、気になっていました。
HTML5 でのブラウザ間での互換性を調べたり、HTML5 の機能を使う場合に使えそうな JavaScript のクラスが入っているようです。

色々なクラスがあるので、ロードする順番が気になるけど、Modernizer , JQuery, Bootstrap は、それぞれ独立なので、どの順にロードして問題ないようです。

詳しくは、以下にドキュメントがあるので、参照のこと。

modernizer サイト

なお、modernizer は、使わない場合にはコメントにしておいても問題ないと思います。
HTML5 をサポートしているブラウザかどうか判定するなど、使っている機能だけを選択して、ファイルを小さくすることも可能で、その場合は、本家のトップページにある、ビルダが使えます。

modernizer.png
posted by 開発G at 20:19| Comment(0) | TrackBack(0) | Programming