日々鍛錬

日本で一番?わかり易い??VTKの落書き帳???を目指し????,日々鍛錬中な元SEさん主婦研究者によるデベロッパとユーザと自分のための雑記帳

Bluetoothでハマったとこのメモ(LogitechのLBT-UAN04C2BK)

結構ハマったので,メモ

Bluetoothってこんなにハマるもんなのか,と結構ショック受けました.
んで,解決すれば結構さくさくなので,ホッとしてます.

参考したのは価格ドットコムでの口コミよりDBA-E11さんからの貴重なレビュー
価格.com - ロジテック LBT-UAN04C2BK [黒] レビュー評価・評判

この記事のおかげで無駄な出費を控えることが出来ました.
ありがとうございます.


さて,どのような問題があって認識せず,どのように対応したかについて記載します.

[発生事案]
BlutoothアダプタをPCに取り付け,Bluetoothの製品を認識したいけど,,,されない...
認識したい製品:ELECOM TK-FBP052のキーボード

→ペアリングはできるけど,機器を扱うことができない...(なにゆえ...

原因:付属のドライバがきちんとあたらない...(ぉぃ



[対応]
価格ドットコムでの口コミよりDBA-E11さんからの貴重なレビューをそのまま参考
ドライバとして,以下のURLからダウンロードqa.elecom.co.jp

こちらのドライバをサイトの案内に従って,付属ドライバをインストールすると,認識orz
インストールの際には,まず以前インストールした「Bluetooth Stack for Windows by Toshiba」は外しておきます.
そして,アダプタも接続を解除しておくことです!
インストール中に「機器を取り付けてください」と出てくるので,その際にアダプタを取り付けます.

あとは,ペアリングしたい機器を自動で探してくれるので,機器をONにしておく.

これ...本当にすごく悩んだのです!!
しかも,結構口コミで「coreシリーズのアーキテクチャでは動作してない」とかあったので,本当にショックでした.
でも,よくよく考えても今どき,そういうアーキテクチャってないですよね!?
だから,絶対接続出来る方法を色々探しまわっていたら,口コミに出会いました.
接続できた瞬間,ガッツポーズでした!



キーボードはまだ小さいのでなれませんが,,,,慣れるよう,頑張ります!
ただ,打ちやすいキーボードですので,長いお付き合いなりそうです.

Mac Yosemite のアップデートに伴う被害・・・Homebrew編

Yosemiteにアップデートしてみました.
Homebrewが以下のメッセージで使えなくなりました.

/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 21: /usr/local/Library/brew.rb: Undefined error: 0


.....おいおい....状態なりました・・・
泣きながら探ると,同じ悩みの方発見

makers.hatenablog.com


この記事にしたがって,修正

  • brew本体を修正
    • vi /usr/local/Library/brew.rb
  • 1行目を2行目に変更

-- #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0
-- #!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0

うごきました....
本当にひどい話!

MacでのScilabの導入

やっぱりOpenにCodeや技術を公開したいというのがつよく,MATLABちっくを作成しよう!,と思ったので,しばらくは,互換性があるというScilabを導入
(あとは,お仕事関係で,さすがに有償モノで開発を講座するわけにいかなかったので
((あとは,某ゴニョゴニョから個人的にひどい嫌がらせを受けたので,あ,そう,んじゃ,いっか♪とあっさりそいつをき..(ry

Macでのインストールにおけるメモメモを残しておきます.


Scilabのインストール
公式サイトからダウンロードします.

公式サイトはこちら.www.scilab.org


Downloadから自分の適した環境を選択します.
私は,Mac OS Yosemite x64で動作させたいので,
最新版の5.5.2(2015/05/23時点)のMac x64を選択

www.scilab.org


こちらを選択
Scilab 5.5.2 - Mac OS X 10.10 149.24 MB


上記のWebページからも確認できるように,まず,Java for OS X 2014-001を入れておかないと動作しません.
なので,必ず導入してください.
また,このJava for OS X 2014-001は,先にJava for OS X 2012-006がインストールされてる環境が必要です.
多分指示がでますので,その指示に従うようにしてくれたら.問題ないと思います.


1. 上記の手順に従って,まず,ダウンロードされたJava for Mac OSX 2014-001を展開
JavaForOSX2014-001.dmgをダブルクリックでインストール完了

2. 続いて,Scilab 5.5.2をFinderをもちいてAppricationに入れて,ダブルクリックで展開開始

これで終了です.

ただし,YosemiteScilab 5.5.2のみのインストールで,5.4.1はできません.
きっと,Javaのバージョンが関連してるんでしょうね...

Homebrew によるImageMagickのインストール

いちいち,プレビュー起動で見るのがめんどくさくなったので.
それよりは,displayコマンドで見たほうが楽ちんなことが多いのです.
ということで,設定します.


少しハマったので,むむむ??となりました.
そのメモメモを兼ねて入れます.

Homebrew のインストールだとかセットアップだとかについてはこちらを
Mac にHomebrew をインストールする - 日々鍛錬

また,Homebrewの詳しい説明については,以下のサイトが参考になります

HomeBrewの仕組みについてまとめておく - それマグで!


1. Homebrew のUpgradeとUpdate
まずは,HomebrewのDB内情報を最新版に更新します.
次のコマンドをタイプします.

$ brew update
$ brew upgrade

ここで,

brew update
Homebrew の本体とfomulaの本体をそのまま 全体としてUpdate

brew upgrade
利用可能なUpdate version のformulaが存在するかを確認し,
その内容をupdate する

ところが,こちらのupdateをかけると,'Permision not defined'が出てしまいました...

brew upgrade
Error: Cannot write to /usr/local/Cellar

この場合は,以下のコマンドを実行します.

sudo chown -R "whoami" /usr/local/Celler


他にもこんなエラー群が

error: The following untracked working tree files would be overwritten by merge:
Library/Formula/freeswitch.rb
Library/Formula/nailgun.rb
Library/Formula/storm.rb
Please move or remove them before you can merge.
Aborting
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master


この場合は,gitの情報を書き換えました.
以下のコマンドを実行します.

$ cd /usr/local
$ git fetch origin
$ git reset --hard origin/master

これで,HomebrewのCellerに最新版をかけることができるわけですので,
この処理の後に,再度brew updateで最新版にしておきます.

その後,Imagemagickのインストール

$ brew install imagemagick --with-x11

エラーが以下の様に吐出された.

Warning: imagemagick dependency libtiff was built with a different C++ standard
library (libstdc++ from clang). This may cause problems at runtime.
/usr/local/Cellar/imagemagick/6.8.9-8: 1433 files, 22M, built in 93 seconds

昔のVersionと強豪しているので,最初にunlinkして,それからSoftwareをインストールします.
Softwareというのは,そうやって成立しているものだと改めて実感した.

$ brew unlink imagemagick

次は,ようやくおまたせなインストールのオプションを切り替えて,以下のコマンドで実行

$ export DISPLAY=:0.0
$ brew install imagemagick --disable-openmp --build-from-source --with-x11

画像系のSetupということを想定すると,おそらく,Exportの問題も絡みます.
以下を.profileに1行記述して,必ずsource読み込みをします.

export DISPLAY=:0.0

$ source .profile


以下のメッセージよりエラー無しで私はOKと判断しました!

brew install imagemagick --disable-openmp --build-from-source --with-x11
==> Downloading http://www.imagemagick.org/download/releases/ImageMagick-6.8.9-8
Already downloaded: /Library/Caches/Homebrew/imagemagick-6.8.9-8.tar.xz
==> ./configure --disable-osx-universal-binary --prefix=/usr/local/Cellar/imagem
==> make install
? /usr/local/Cellar/imagemagick/6.8.9-8: 1437 files, 23M, built in 86 seconds

適当な画像をChoiceして実際にdisplay command で実行してみてください.

$ display hoge.jpg
$ display hoge.pgm

これで,実行できればImageMagickの設定は完了です.

要は,リポジトリはちゃんとupdateを掛けておきましょう!

複素数の共役を求めるコードをCにて記述する

学生さんからのコード記述における質問にて,
C言語複素共役を求めるコードの記述を行いたい.


色々わかったことがあったので,メモ書き
サンプルコードはこちらのサイトを介して勉強しました.

C言語関数辞典 - conj, conjf, conjl

こちらのコードを利用する.

/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <complex.h>

/* main */
int main(void) {
    double complex z = 3.0 + 2.0 * I;
    double complex conjugate;

    /* 共役複素数を取得 */
    conjugate = conj(z);
    printf("共役複素数: %.1f + %.1fi\n", creal(conjugate), cimag(conjugate));

    return EXIT_SUCCESS;

C言語C++ では,標準ライブラリとして

#include <complex.h>   //C言語
#include <complex>      //C++

が用意されている.

早速, Codeを用意して,コンパイル+実行を!・・・・

Visual studioC言語を行なってみる.
...動作しない.・・・

色々キーワードを調べて評価を行うが,どうしても動作しない
動作しない理由を調査する.


教えて!Ziddyちゃん - C言語の複素数についてです。


もしかすると....と思いまして,Visual studioLinux gcc にて
同codeを確認してみる.

なんと,Visual studio 2013では,動作しなかったが,Linuxgccでは動作しました.
しかし,Visual studio 2013 のC++ではきちんと動作しました...

どうやら,Visula studio 2013では,complex.hに定義されたライブラリ,C言語では動作しないぽい.
なんてこった....

class templateでの定義上での利用になっているのだろうか.
#define complexもダメでございました.

visual studio は2013からC99の大半を実装しているらしいのですが,やはりまだ幾つか機能も実装されてないらしい...
ということは,その実装されてないライブラリのひとつとして,complex.hがあるというのだろうかしら.

VTK6.2+Qt5.10+MSVS2012でVTK環境を構築する

たとえ仕事といえど,何度繰り返し入れまくったかわかりません.
これが私です.


今回は,VTK6.2+Qt5.10+MSVS2012でVTK環境を構築します.
環境は
 Windows 7.
 メモリ 6GB (←若干上がった♪
 IDE   Microsoft Visual studio 2012 SP1


ということで,まずはVTKの最新版をインストールします.


1. VTKのダウンロード
2014/07/16の段階でのGit版で私は頂きました.
まず,コンソールでVTKをインストールしたい場所へ移動します.

cd

:GitによるSourceの最新場所の置き場

ここで,以下のコマンドを行う.

git clone git://vtk.org/VTK.git

しばらく,15分ほどダウンロードを待ちますと,/VTKのディレクトリができます.
このディレクトリがGitによるVTKのソースになるわけです.
ここで,(調子にのって)もう一つ以下のコマンドを打ち込みます.

git clone http://vtk.org/VTKData.git

VTKのサンプルを動作させるとき,これらデータセットで動作させることになります.



2.CMakeによるConfig

CMakeの最新版をインストールしているということを条件とします.
先ほどの/VTK内のCMakeLists.txtをCMakeで開き,以下を設定します.

  • BUILD_SHARED_LIBS チェックオン
  • CMAKE_CONFIGURATION_TYPES Debug; Release
  • VTK_QT_VERSION    5 (5.10をインストールするためです.)
  • Module_vtkGUIsupportQt    Qt チェックオン
  • Module_vtkGUIsupportQtOpenGL Qt チェックオン
  • Module_vtkGUIsupportQtWebkit Qt チェックオン
  • Module_vtkGUIRenderingQt
  • VTK_Group_Qt チェックオン

また,CMake上の「Add Entry」をクリックし,以下を入力してOKを押下します.

Name -> CMAKE_PREFIX_PATH
Type -> PATH
Value-> C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64 (←自分の環境に合わせる)

これで,Configします.エラーがなければ,Generateを行います.


3. Visual studio 2012でBuild

Debugモードで,All_buildをBuild+INSTALLでBuildを行います.
その後,ReleaseモードでAll_buildをBuild+INSTALLでBuildを行います.

エラーがなければ,PATHをセットして終了.

ITKのインストール その1(一番基本的なインストール)

順調に2ヶ月更新になっていることは気にしないでください.
更新している時間がないので...
#と言っても,,,色々実験ノートの一つとして使ってるので,やはり更新は必要です.


今回はITKのインストールを説明します.
ITKとは,については,後日記載予定(予定は予定であくまで未定)


ITKのインストールと一言で言っても,色んなパターンがあります.
ここでは,以下のように分けたITKのインストール方法を説明します.

  1. 一番基本的なITKのインストール
  2. Pythonなどの言語とのインストール
  3. OpenCV,VTKなどのmoduleオプションとしてインストール

今回は,1. の基本的なITKインストール方法の説明
以下の環境で動作を確認.

また,ITKのインストール環境には以下を用意

  • openCV 2.4.9
  • VTK 6.2
  • ITK Ver 4.5.2
  • CMake 2.8.12


Windows SDKのインストールされたVersionがわからない場合,レジストリで確認できるので,
以下から,たどってみる

1. スタートメニュ―の検索から「regedit」を起動
2. 「HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SDKs\Windows\」をたどる
3.インストールされたリストが提示

あとは,.NETも最新版をあてておくようにしましょう.


1. ITKのダウンロード
以下のサイトからITKのソース一式をダウンロード
ITK Download

ダウンロードされたデータをSouerceとして保存したい場所にてディレクトリを展開.
展開されたディレクトリ(Winならフォルダの意)を今回ITK452srcとした

%MyLibDir%ITK/ITK452/ITK452src/

%MyLibDir%は,自分の環境にインストールする一式を取りまとめたフォルダやディレクトリを指している.

2. CMake でSource とBuild の設定
CMakeを起動し,以下のように指定
起動時,Compilerの設定が求められるので,自分の環境に合せたCompilerを選択する.
#私は,MSVS12, x64を選択

Where is Source code : %MyLibDir%ITK/ITK452/ITK452src/ <先ほどのSourceの指定フォルダ>
Where is Build he binaries : %MyLibDir%ITK/ITK452/ITK452src/Build <先ほどのSourceの指定フォルダにBuildを作成>

Build指定のフォルダがない場合,作る?と聞かれるのでYesを押下
Configureを押下して待つ


3. CMakeのConfigure準備

2. の方法で,一度Configureが終了→真っ赤になる.
Configure準備の準備をととのえる.
今回はStandardなConfigなので,以下を設定

BUILD_DOCUMENTATION チェックなし
BUILD_EXAMPLE チェックなし
BUILD_SHARED_LIBS チェックなし
BUILD_TESTING チェックなし
CMAKE_CONFIGURATION_TYPES: Debug; Release
CMAKE_INSTAL_PREFIX : %MyLibDir%ITK/ITK452/ITK452Bin/stBin
CMAKE_PREFIX_PATH :C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x64 (先のWindowsSDKの場所を指定)
CMAKE_MODULE_PATHC:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x64

BUILD_* について,時間がかかったり,必要なライブラリ,環境が求められる.
また,TESTもものすごい時間がかかる.
だから,チェックをつける必要ありません.
BUILD_SHARED_LIBS については,別のインストール方法で記載します.

上記設定後,先と同様にConfigureを押下
赤の注意が出たら,指示に従って修正するけど,この段階では出ないだろう.
#ただし,INSTALL_PREFIXで指定したフォルダ名が長い時は怒られますので,
#解りやすく区別しやすい表記名で(日本のはもってのほかですが,空白や記号を入れないこと!)

4. インストーラの構成
Configが終了すれば,「Configuring done」と出るので,次に「Generate」ボタンを押下
問題なければ,「Generating done」が表示され,2.で指定したBuildフォルダ内に「ITK.sln」ができる.
このソリューションファイルを開いて,準備が整うのを待つ

5.ALL_BUILD とINSTALLのビルド
ITK.slnの準備が整ったら,まずはDebug と x64の環境下でALL_BUILDのBuildを行う.
問題なく終了したら,INSTALLのBuildを行う

次に,Releaseでx64環境下でALL_BUILDのBuild,INSTALLのBuildを順に行う.
終了後に,INSTALL_PREFIXで指定した場所にてそれぞれ,以下のフォルダ(ディレクトリ)が
作成され,それぞれのファイルができている.

bin/
include/
lib/
share/

これで,ITKのインストールは終了
あとは,環境変数設定と動作確認

6. 環境変数の設定
スタートメニューやエクスプローラ内の「コンピュータ」をクリックすると,エクスプローラのアドレスバー下に「システムのプロパティ」が出現する,

システムの詳細設定を選択し,「詳細設定」→「環境変数」を指定

環境変数内に「新規作成」で以下を設定

変数名 ITKPath (お好きな半角英数字で)
変数値 <CMAK_INSTALL_PREFIXの指定場所>

あとは,すべてOKを押下,システムプロパティをすべて終了