C#でサーモグラフィ試してみた
はじめに
最近、センサデバイスがたくさん出てきています。Kinectの距離センサは価格と機能に衝撃的でした。脳波計測デバイスやモーションコントロール、タッチディスプレイなど割りと個人でも買える値段である。ここで色々と調べると、サーモグラフィのブログがキーワード検索で中々でてこない^^;
特にWindowsで、さらにはC#で開発している人!!
ということでボクが調べてみて、簡単だと思って試してみたことをまとめてみます。
ここをご参考に、サーモグラフィ分野が盛り上がると、嬉しい限りです。
サーモグラフィとは
サーモグラフィとはWikipediaさんいわく「物体から放射される赤外線を分析し、熱分布を図として表した画像、またそれを行なう装置」とうことだ。簡単に説明すると非接触型の温度計みたいなものだと思ってもいいと思います。これ系のキーワードとして、サーモパイル、熱画像センサ、赤外線センサ、赤外線サーマルカメラ、サーマルイメージ、熱線映像装置などがあります。
準備するもの
用意するものは下記の4つくらいです。
ちなみにサーモグラフィデバイスを調べてみました。
Seek社
今回はこちらの商品を買いました。入手性・コスト・開発しやすさ・情報など海外の有志がGoogle先生いわくたくさんあったよ...とうことでチョイスです。
Seek Thermal スマホ用サーマルカメラ スマートフォン用赤外線IRカメラ【並行輸入品】 (Android(アンドロイド用))
- 出版社/メーカー: Seek
- メディア: エレクトロニクス
- この商品を含むブログを見る
FLIR社
サーモグラフィ界の最大手だと思います。下記のようなスマホや組み込みから監視用大型サーモグラフィ、最近だとドローン用(DJI用)まで取り揃えている。
楢ノ木技研
隠れた回路屋さん、なかなかニッチな製品を取り扱っていますw
USBスペクトロメーターなんかも気になります!!
いろいろ熱画像センサを取り扱っている「温度」の会社。今度、がっちりマンデーなどで特集してほしい気になる会社です。www.chino.co.jp
microUSBメス↔USBオス変換デバイス
Seekは、microUSBなのでPCで使用する際に変換アダプタが必要なので合わせて購入しました。Amazonで調べた中では、変換名人のこちらのアダプタが一番安かったと思います。
変換名人 スマートフォン 変換アダプタ USB A オス - microB メス USBAA-MCB
- 出版社/メーカー: 変換名人
- メディア: エレクトロニクス
- この商品を含むブログ (2件) を見る
C#でサーモグラフィ試してみる
サーモグラフィのドライバ
購入したSeek社製のサーモグラフィと変換アダプタはこんな感じで、WindowsのPCに接続できるようになります。
こちらただ何も考えずに、自動的にドライバーが読み込んでくれるかと思いきや、そんな重いものではありませんでした。恐らく試してみた方、下記の画像のものがビックリマークついた、ドライバインストールしてくださいの状態かと思います。
※ちなみに下記の画像は、ドライバインストールが成功したときの画像です。
ドライバインストールは、「Zadig」というドライバインストールソフトを使用します。下記よりダウンロードしてください。
Zadig - USB driver installation made easy
起動すると、下記の図のように起動し、サーモグラフィを接続すると「iAP Interface」を選択し、「Install WCID Driver」でインストールを開始して下さい。上の図のようにデバイスマネージャ上でUSBデバイスの一覧に正常に表示されていることを確認して下さい。
以上がドライバインストールです。
サンプルソース
次にSeekをC#で動かすための参考になるサンプルソースは、こちらの2つが良いと思います。
SeekOFix
winusbdotnet
実行結果
試しに「SeekOFix」をダウンロードして、VS2017でビルドして実行した結果がこちらです。日本人に親しみやすい「℃」表記にしています。手が真赤なので、33.8℃以上はあり、正常な人間かと思われます。
以上のように購入してすぐさま、サーモグラフィのソフトウェア開発が簡易的に始められます。
最後に
サンプルソースコードは、あくまでも参考としてご利用下さい。また、各種ライブラリのライセンスにも目を通して、ご利用下さい。
ご利用した方は、コメント頂けると個人的に励みになります。
C#とFelica(NFC)でSuicaを読み込んでみる
はじめに
今回は、SuicaやPASMO、Edyなどに使われている非接触ICカードリーダーをC#で試して見たいと思います。
Felicaとは
Felicaとは、Wikipediaさんいわく、「ソニーが開発した非接触型ICカード」ということでSONYさんが開発したものということですが、FelicaとNFCは何が違うの?ということで、そこはSONYさんが解説してくれていました。NFCとFeliCaの関係ということで、SONYさんでは、「NFC-FとFeliCaは同じ無線通信技術であると同時に、FeliCaはNFC-Fというオープン規格の上にカードOSを加えたものと表現することができる」とのことです。シンプルな話、Felicaは規格化されたプロトコルで、NFCはFelicaなどが使える技術という解釈で良いのではないかと感じます。しかし、Felicaは日本では同じみですが、海外だと弱い感じですねw
Felicaリーダーデバイス
次に、ICカードなどを読み込むためのFelicaリーダーはAmazonなどでも直ぐ3000円程度で入手できます。実は、このリーダーより安リーダーがあります。それは楽天Edyリーダーだと2000円程度で入手できます。噂だと楽天Edyリーダーなど廉価デバイスのRC-S360/Sは来年くらいには製造終了するとか!?
ソニー SONY 非接触ICカードリーダー/ライター PaSoRi RC-S380
- 出版社/メーカー: ソニー
- 発売日: 2012/10/10
- メディア: Personal Computers
- 購入: 5人 クリック: 9回
- この商品を含むブログ (16件) を見る
C#とFelica(NFC)で読み込むに
では、本題のC#とFelicaでSuicaなど読み込むには上記のFelicaリーダーデバイスを購入し、下記よりドライバーなどをインストーラします。
次に、C#でFelicaを読む込むには、こちらのライブラリを利用する方法があります。
- SDK for NFC(商用利用の有料版 おそらく10万ちょいくらいかと...)
- SDK for NFC Starter Kit(開発・評価用の無償版)
- felicalib(有志によるBSDライセンスのライブラリ)
があります。どれが良いかといいますと、どれも変わらない気がします。
SDK for NFCとfelicalibは、もともとはC++ベースでしたがC#のサンプルも展開されています。しかし、SDK for NFC Starter KitのC#サンプルはよくわからない...ということで有志がいい感じにまとめたライブラリ「NfcStarterKitWrap」があります。
NfcStarterKitWrapのC#サンプ
felicalibのC#サンプル
C#とFelica(NFC)でSuicaを読み込んでみる
サンプルソースを参考に、SDK for NFC Starter Kitラッパーと有志の方が作成したfelicalibを活用して、それぞれ同じような感じでC#でSuicaを読み込んでみたいと思います。今回はSuicaなどの領域であるシステムコード(0003)、乗降履歴情報であるサービスコード(090F)の情報を読み込むサンプルを作成してみました。これで残高などの履歴が20個分閲覧できます。
他のSuicaの情報を読み出したい方は、下記のサイバネ規格をご参照下さい。また、同じような感じでnanacoやEdyなどもサービスコードとシステムコードを指定すればデータが取得できるはずです。
では、実際にコーディングしてみたサンプルソースが以下のものです。こちらは上記2つのgitよりライブラリを活用して作成したもので、参照追加で「FelicaLib」「NfcStarterKitWrap」を入れなければいけません。
最後に
サンプルソースコードは、あくまでも参考としてご利用下さい。また、各種ライブラリのライセンスにも目を通して、ご利用下さい。
ご利用した方は、コメント頂けると個人的に励みになります。
C#[WPF]のUIコンポーネント&デザインまとめてみました
C#[WPF]でデザイン性やコントロールツールなど、いろいろなライブラリがあります。僕が調べて良いなと思ったものをまとめてみました。
デザインUIライブラリ
デザインUIライブラリとして、オススメしたいのは「Material Design In XAML Toolkit」「Modern UI for WPF」「Elysium」「MahApp」です。
Material Design In XAML Toolkit
最近、流行りのGoogleのマテリアルデザインが簡単に実装できるMITライセンスのライブラリです。
Modern UI for WPF
ちょっと前に流行っていたモダンデザイン、フラットデザインとも言うのかな?Ms-PLライセンスで利用できます。
Elysium
モダンデザイン系のライブラリです。MITライセンスで利用できます。
MahApp
メトロデザイン系で更に一昔前に流行っていものが使用できるMITライセンスのライブラリです。
地図ライブラリ
地図ライブラリとしてオススメしたいのは、利用するときに有料となる「ArcGIS」、無料で使用できる「GMap.NET」です。
ArcGIS
Esri社が適用しているGISツールのライブラリです。C#、Javascript、iOS、Androidなど開発キットは豊富で、ArcGISで提供されているような2地図はもちろん3D地図の表示機能、地図グラフィカル関連も利用できて、とてもいいです。
GMap.NET
GMap.NETは、製品に実装している企業も割りと多い、MITライセンスで利用しやすいライブラリです。地図提供元は、OpenStreetMapやGoogleMap、BingMap、ArcGISMapなどいろいろ選択できるが、あくまでも表示枠は実装してあるから、地図提供元ライセンスに準拠して使用して下さいというものです。GoogleやBingとちゃんと契約しないといけません。ちなみに数社にお問合せしたところ、契約すればGMap.NETで使用しても良いという企業と、そもそもダメという企業があるので会社にちゃんとお問合せしたほうが良いです。今現在では、そいうコメントを頂いていますが規約も年々変化があるので、こちらの利用する際は、地図提供元は常にチェックが必要です。
コントロールツール
コントロールツールライブラリとしては、無料版と有料版がある「Extended WPF Toolkit Live Explorer」、メニューUI「HamburgerMenu」「RadialMenu」がオススメです。
Extended WPF Toolkit Live Explorer
Microsoftが提供している基本コントロールツールで物足りない人は、こちらのMs-PLライセンスを利用してみてもいいかもしれません。
HamburgerMenu
普通のメニューに飽きてしまっあ人は、こちらのハンバーガーメニューコントロールがいいかもしれません。MITライセンスで利用できます。
RadialMenu
かっこいいラジアルメニューコントロールですが、なかなか使いどころが難しいツールかもしれません。ちょっとした右クリックのメニューをこちらに切換てもいいかもしれません。クリエイティブコモンズのライセンスみたいです。
最後に
サンプルソースコードは、あくまでも参考としてご利用下さい。また、各種ライブラリのライセンスにも目を通して、ご利用下さい。
ご利用した方は、コメント頂けると個人的に励みになります。