忍者ブログ
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
ブログ内検索
[1] [2] [3] [4] [5] [6] [7] [8]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

休止状態から復帰時にUSBデバイスが認識されないという問題は他でもあり
以下のサイトを参考に対策を行った
電源制御型USBハブでUSBチューナーの見失い状態を解消する。(PX-W3U3、S3U2ほかUSBチューナー汎用): Vladiのブログ

devcon.exe を使って restart コマンドをUSBデバイスに向けて打てばOKと
書いてあるサイトもあったのだがデバイス自体がハングしていると
そのコマンドも受け付けないので失敗するケースがあるとのこと。

ということで電源制御型USBハブを間にかませることで対応
購入したUSBハブは上記サイトで実績のあったBuffaloの4ポートUSB2.0ハブBSH4AE06

さらにdevcon.exeのx64版を入手

続いてUSBのデバイスIDを取得
これは上記サイトのウィザード形式アプリを使ったり
"USBDeview"アプリ
View any installed/connected USB device on your system
を使って取得する

それを使ってバッチファイルを作成
Buffaloだと以下な感じ

"%~dp0devcon.exe" restart "USB¥VID_05E3&PID_0608&REV_8536"

さあ、これを実行したらOKのはずが操作に失敗する
これは管理者権限でやってなかったから
管理者にすればちゃんとできた。

これをタスクマネージャで起動時に必ずキックするようにすれば完了
こちらも上記サイトに詳細が書いてあるのでそのまま実行

これでロック音MTが外部チューナーのoff/onもコントロールできるようになった。
PR
起動、終了時にアンプのリモコン操作を入れるためにそれぞれのバッチファイルにirMagicianを使ったoff/onを追加してみる

起動側
----
echo off
python [irm.pyをフルパスで指定] -p -f [電源on用jsonデータをフルパスで指定]

rem sleepしているQNAPのHDDを起こす
dir z:

exit
----

終了側
----
echo off
python [irm.pyをフルパスで指定] -p -f [電源off用jsonデータをフルパスで指定]

rem 休止状態にする
shutdown /h

exit
----

これで基本的に動作はOK
しかし、USBデバイス、特に今回のirMagicianはUSB-シリアル変換デバイスなのだが
休止モードからの復帰に対応しておらず
復帰するとデバイスを見失ってしまう。。。
irMagicianのセットアップ
1. Teratermからのシリアル通信
通信パラメータを以下で設定
9600bps, 8データビット, Non-parity, 1ストップビット(9600-8N1)
接続されたシリアルポートでOpen (COM3)

2. irMagicianの基本操作
シリアルからコマンドを送る(echo backなし)
c[enter] : IRのキャプチャ2秒以内にコマンドを送る
成功すると数値(赤外線データのバイト数が表示される)

p[enter] : キャプチャしたIRを発信する
成功すると Done ! を表示が

3. 大宮技研製のwindowsアプリでキャプチャしたIRデータをJSON形式で保存
その他もろもろの振る舞いを確認

4. Pythonのインストール
2.x版の方が広く使われていて引き続きupdateされているので2.7.10をインストール
あと、シリアルコントロールのためにPySerialモジュールもインストール

5. Pyhtonを使った基本動作を確認
import serial
ser = serial.Serial(2) # COMポートは0番スタートなので一つ数字が小さくなる
ser.write(“c¥r¥n¥) # 改行コードもちゃんと送る
ser.write(“p¥r¥n¥) # 同じくこれでリモコン操作ができるのを確認
ser.close()

6. 先人の知恵を丸パクリ
irm.py をまるまるいただいてポートを開くところだけWindows用に変えてばっちり対応OK

参考にしたURL
大宮技研のWindowsアプリのページ
http://www.omiya-giken.com/?page_id=1597
Pythonインストール
http://sphinx-users.jp/gettingstarted/install_windows.html
PySerial
https://pypi.python.org/pypi/pyserial
基本的なPythonでのserialの使い方
http://ozsys.cocolog-nifty.com/blog/2010/03/pythonpyserial-.html
irMagician用のPythonコード
http://codezine.jp/article/detail/7829?p=2
irm.py
http://netbuffalo.doorblog.jp/archives/4872290.html

http://seigaji.info/wordpress/2015/05/10/irmagician_starter/
まずはネットワークドライバの設定
"コントロールパネル" - "デバイス マネージャー" を開く
"ネットワーク アダプター" を選択
"Realtek PCIe GBE Family Controller" のプロパティを開く
"詳細設定" の中で"ウェイク・オン・マジック・パケット" が "有効" になっていることを確認
"電源の管理" で "このデバイスで、コンピューターのスタンバイ状態を解除できるようにする" と "Magic Packet でのみ、コンピューターのスタンバイ状態を解除できるようにする" にチェックを入れ "OK"

次にWindowsの設定
"コントロールパネル" - "電源オプション" を開く
"電源ボタンの動作を選択する" を選択
"高速スタートアップを有効にする(推奨)" のチェックをはずす

BIOSの設定
まずBIOS設定画面に入れるようにする
画面右上からチャームを表示させ、"設定"を選択
"PC 設定の変更"を選択
”PC設定"画面で"保守と管理"を選択し"回復"を選択
"PCの起動をカスタマイズする"の下にある"いますぐ再起動する"を選択
〜再起動〜
"オプションの選択"画面でトラブルシューティング"を選択
"トラブルシューティング"画面で"詳細オプション"を選択
”UEFIファームウェアの設定"を選択し、"再起動"をクリックすると晴れてBIOS画面に

UEFI画面
"Power Management Setup"で以下の2つの設定を変える
"Resume By PME" を [Enabled]
"EUP Function" を [Disabled]
その後、"Save & Exit CMOS Setup" で抜けて完了
/share/MD0_DATA/.qpkg/autorun/autorun.sh
を作成

#!/bin/sh
/opt/etc/init.d/S84wizd
/etc/config/qpkg.conf
にエントリーを追加

[autorun]
Name = autorun
Version = 0.1
Auther = atsushi
Data = 2014-09-27
Shell = /share/MD0_DATA/.qpkg/autorun/autorun.sh
Install_Path = /share/MD0_DATA/.qpkg/autorun/autorun.sh
Enable = TRUE
最後に実行権を付与

# chmod +x /share/MD0_DATA/.qpkg/autorun/autorun.sh

ここに新情報
https://traincat.net/blog/neko/archives/000452.html
忍者ブログ [PR]