##################################################################### QuickIR Ver.1.1.5 Copyright(C) 2015-2017 N@i (Yoshihiro Naito), All rights reserved. ##################################################################### 【 ソフト名 】QuickIR 【 著作権者 】N@i (Yoshihiro Naito) 【 種 別 】オープンソースソフトウェア 【 動作環境 】Python 3が動作する環境 【バージョン】1.1.5 【最終更新日】2017/02/04 【 配 布 元 】http://y-naito.ddo.jp 【 連 絡 先 】nai@star.ocn.ne.jp  本文書では、以下のOS(オペレーティングシステム)を次のように略記 しています。 ・Debian GNU/Linux 6.0 (Squeeze) on Raspberry Pi、  Debian GNU/Linux 7.0 (Wheezy) on Raspberry Pi、  Debian GNU/Linux 8.0 (Jessie) on Raspberry Pi  →「Raspbian」 ・Mac OS X 10.4(Tiger/PowerPC, x86, x64)、  Mac OS X 10.5(Leopard/PowerPC, x86, x64)、  Mac OS X 10.6(Snow Leopard/x86, x64)、  Mac OS X 10.7(Lion/x64)、  OS X 10.8(Mountain Lion/x64)、  OS X 10.9(Mavericks/x64)、  OS X 10.10(Yosemite/x64)、  OS X 10.11(El Capitan/x64)  macOS 10.12(Sierra/x64)  →「Mac OS」 ・Microsoft(R) Windows Vista(x86, x64)、  Microsoft(R) Windows Server 2008/2008R2(x86, x64)、  Microsoft(R) Windows 7(x86, x64)、  Microsoft(R) Windows 8/8.1(x86, x64)、  Microsoft(R) Windows Server 2012/2012R2(x86, x64)、  Microsoft(R) Windows 10(x86, x64)、  Microsoft(R) Windows Server 2016(x86, x64)  →「Windows」  Raspberry Pi は、英国ラズベリーパイ財団(Raspberry Pi Foundation)の 登録商標です。  Debian は Software in the Public Interest, Inc. の登録商標です。  Apple、Macintosh、Mac OS、OS X、macOS、Bonjour は、米国Apple Inc.の 米国およびその他の国における登録商標または商標です。  Linuxは、Linus Torvalds氏の米国およびその他の国における登録商標また は商標です。  UNIXは、The Open Group の米国およびその他の国における登録商標です。  Microsoft、Windows、Windows Serverは、米国Microsoft Corpotration の 米国およびその他の国における登録商標または商標です。  Solarisは、米国Oracle Corporation およびその子会社、関連会社の米国 およびその他の国における登録商標または商標です。  その他記載されている会社名、商品名は、それぞれ各社の商標または登録 商標です。なお、本文中では「TM」「(R)」マークは明記しておりません。 <目次> 1.ソフトウェアの概要 1.1 IRKitについて 1.2 QuickIRについて 1.3 QuickIRで出来ること、出来ないこと 2.動作条件(必須ソフトウェア) 3.ファイル構成 4.インストール方法 5.アンインストール方法 6.使用方法 7.著作権情報、ライセンス、および免責条項 8.FAQ・既知のバグ 9.修正履歴 1.ソフトウェアの概要 1.1 IRKitについて  QuickIR の前に IRKitについて少しだけ。  IRKit とは赤外線リモコンの信号を学習、送信することができる安価で 非常にすぐれたデバイスです。IRKit を使うことで、iPhone等のスマート フォンを用いて外出先からでも赤外線信号を送信させ、自宅のエアコンや TV等を操作することができるようになります。  また、ハードウェア、ソフトウェア仕様の全てがオープンであり、HTTP API により容易に操作できるという特徴があります。  詳しくは を参照してください。 1.2 QuickIRについて  QuickIR は IRKit を Raspberry Pi から操作する目的で作成したソフト ウェアです。とは言え、QuickIR は Python 3 で記述されており、ハード ウェアやOSに依存しないよう考慮して作成していますので、Python 3 が動 作する環境であれば基本的に動作可能と思われます。 1.3 QuickIRで出来ること、出来ないこと  QuickIR には以下の機能があります。 - IRKit で赤外線信号を受信、保存する。 - 保存した赤外線信号をフォルダに分けて保存、管理する。  例えばリモコンの装置名を付けたフォルダを作成し、その配下に分類して  保存すれば、分かりやすく管理しやすくなります。 - 保存した赤外線信号を IRKitから送信する。 - フォルダ名、赤外線信号名を変更する。 - フォルダ、赤外線信号を削除する。 - LAN内に複数のIRKitがある場合にも赤外線信号の送受信が可能です。その 場合、赤外線信号の送信は、その赤外線信号を受信した IRKitからのみ送 信が可能です。  また、QuickIR では次のことは出来ません。 - IRKit の初期セットアップ - 外出先など LAN内以外(WAN側)からのIRKitの操作 - 受信した IRKitとは異なる IRKitからの送信 2.動作条件(必須ソフトウェア)  本ソフトウェアが動作するためには以下の動作環境、およびソフトウェア が必要です。 1) IRKitデバイス  IRKit は既にセットアップが完了した状態である必要があります。(セッ  トアップにはiPhone等のスマートフォンアプリが必要になります。)  また、IRKit のIPアドレスは QuickIRが動作するマシンと同じサブネット  である必要があります。 2) 動作OS UNIX系OS(Linux(Raspbian), Solaris), Mac OS, Windows等 全てを確認し  たわけではありませんが、基本的に Python 3 が動作しているOSであれば  動作すると思われます。 3) Python 3  Python 3系が必要です。本プログラムの作成、動作確認には Ver.3.5.2 を  使用していますので、Python 3.5以降を推奨します。  Mac OS や Windowsでは でバイナリインストー  ラが配布されていますので、使用しているOS用のインストーラをダウンロー  ドしてインストールしてください。Mac OS には標準で Python が含まれて  いますが、これは Ver.2系ですので本ソフトウェアは動作しません。 また、Tkinterを使用していますので Tcl/Tkも必要になりますが、上記の  バイナリインストーラに同梱されていますので、一緒にインストールされ  るはずです。  Linux(Raspbian)の場合は、例えば、  ┌────────────────────────────────┐  │$ sudo apt-get install python3 │  └────────────────────────────────┘  などとしてインストールします。 4) その他 - Bonjour:   Bonjour(ボンジュール)は、米アップルが開発したゼロ・コンフィギュ   レーション技術の実装です。Mac OS には標準で組み込まれていますが、   Linux(Raspbian)やWindowsの場合は以下をインストールする必要があり   ます。  Linux(Raspbian)の場合:    Bonjour の Linux(Raspbian)向け実装が Avahi    ですので、これをインストールする必要があります。    例:    ┌──────────────────────────────┐    │$ sudo apt-get install avahi │    └──────────────────────────────┘   Windowsの場合:  以下のURLから "Bonjour Print Services (Windows)" をダウンロー  ドし、"Bonjour for Windows" をインストールする必要があります。  - libdnssdライブラリ   Linux(Raspbian)の場合、avahiだけでなく libdnssdライブラリを別途イ   ンストールする必要があります。(Mac OS, Windowsの場合は不要です。)   例:   ┌───────────────────────────────┐   │$ sudo apt-get install libavahi-compat-libdnssd-dev │   └───────────────────────────────┘ - pybonjour:   Python から Bonjour機能を使用するためのモジュールで、以下のURLか   らダウンロードしてインストールする必要があります。   インストール方法は一般的な Pythonモジュールのインストール方法と同   じで、例えば以下のようにしてインストールします。   例:   ┌───────────────────────────────┐   │$ git clone https://github.com/depl0y/pybonjour-python3.git │   │$ cd pybonjour-python3 │   │$ sudo python3 setup.py install │   └───────────────────────────────┘   pybonjour には Python 2用と Python 3用の二種類がある事に注意して   必ず Python 3用のものをインストールするようにしてください。(上記   URLは Python3用の pybonjourで、gitコマンドでダウンロードしてイン   ストールしています。) 3.ファイル構成  QuickIR は以下のフォルダ、ファイル構成になっています。  QuickIR/ ├ QuickIR.py : QuickIR本体プログラム ├ irkit.py : QuickIRのCUIプログラム(IRKit操作モジュール) ├ resolve_irkit.py : pybonjour で LAN内のIRKitを探しだすプログラム   ├ images/   │ └ *.gif : アイコン等、画像ファイル   │ ├ make_app.sh : py2appでMacアプリケーション化するスクリプト ├ setup.py : py2appで使用するsetupファイル ├ app.icns : QuickIRアプリのアイコンファイル   │ ├ make_exe.bat : cx_FreezeでWindows EXEファイル化するバッチ ├ cxFreeze_setup.py : cx_Freezeで使用するsetupスクリプト ├ app.ico : QuickIR EXEファイルのアイコンファイル   │   ├ make_py2exe.bat : py2exeでWindows EXEファイル化するバッチ   ├ py2exe_setup.py : py2exeで使用するsetupスクリプト   │   ├ readme.txt : 本文書   └ doc/ ├ Users-Guid.html : ユーザーズガイド(使用法マニュアル) └ *.jpg : ユーザーズガイドの画像ファイル 4.インストール方法  本プログラムをアーカイブ、圧縮したファイル(例えば"QuickIR-1.1.5.tar.gz") をダウンロードして解凍します。解凍場所は任意の場所でかまいません。解 凍するユーザ権限や、解凍したディレクトリやファイルの権限も、QuickIR を使用したい一般ユーザの権限でかまいません。要はPythonプログラムを実 行できる権限と場所であれば良いです。 5.アンインストール方法  QuickIRをアンインストールするには、上記で解凍したフォルダごと削除し てください。また、QuickIRを一度でも起動するとホームディレクトリ配下に ".irkit.d" という名前のディレクトリが作成されています。このディレクト リ配下にはQuickIRが作成した設定ファイルや、さらに "~/.irkit.d/signals/" ディレクトリ配下には赤外線信号ファイル等が保存されています。不要であ れば"~/.irkit.d"ディレクトリごと削除してください。 6.使用方法  docフォルダにある"Users-Guide.html"をWebブラウザで参照してください。 7.著作権情報、ライセンス、および免責条項  本ソフトウェア、および関連文書に関する著作権は、作者である "N@i (YoshihiroNaito)" が保持しています。  本ソフトウェアおよび関連文書を、目的を問わず無償で使用、複製、変更、 および頒布、再許諾することを許可します。ただし、上記の著作権表示を すべての複製に記載すること、上記の著作権表示と本許諾文言の両方を関連 文書に記載することを条件とします。  本ソフトウェアは、「現状のまま」提供されており、明示黙示を問わず、 商業的な使用可能性、および特定の目的に対する適合性に関する暗黙の保証 も含め、またそれに限定されない、いかなる保証もありません。  所有者、著作権者も、事由のいかんを問わず、 損害発生の原因いかんを 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その他の) 不法行為であるかを問わず、仮にそのような損害が発生する可能性を知らされ ていたとしても、本ソフトウェアの使用によって発生した直接損害、間接損害、 偶発的な損害、特別損害、懲罰的損害、または結果損害について、一切責任 を負わないものとします。 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8.FAQ・既知のバグ 1) Q:本当に Python 2 では動作しないのですか?また Python 2でも動作する ようにすることはできませんか? A:Python の場合、どのバージョンを使用するか?はいつも悩ましい問題で    すね。 QuickIR では当初から Python 3 で作成しており、Python 2で動作させた 実績はありません。また今のところ Python 2 でも動作するようにする 予定もありません。 ただ 3to2 を使うなどすれば比較的容易に Python 2でも動作させること ができるかもしれません。どなたか挑戦してみませんか? 2) Q:起動しなおしたら、前回作成、保存した際とリモコンフォルダや赤外線 ファイルの順番が異なって表示されましたが、何故でしょう? A:現在のところ QuickIRではリモコンフォルダや赤外線ファイルの順番を 保存していません。リモコンフォルダは Pythonのosモジュールで得られ た順番で、赤外線ファイルはファイル名でソートした順番で表示していま す。 また、リモコンフォルダの開閉についての情報も保存していません。そ のため、起動しなおすと全てのリモコンフォルダが開かれた状態で表示 されます。 3) Q:リモコンフォルダの作成や赤外線信号の保存や変更で、フォルダ名や赤 外線信号名に日本語を入力することができないのですが? A:ダイアログの入力欄に、日本語などの多バイト文字を入力することがで きない主な原因は、インストールされている Tcl/Tk にあるのではない かと思われます。Mac OS の場合は ActiveTcl をインストールすること で(インライン入力はできませんが)日本語を入力することができるよ うになります。ActiveTclは、 から入手することができます。この時、最新版(Ver.8.6.4.1)ではなく、 Ver.8.5.18を使用するようにしてください。 Raspberry Pi (Raspbian) の場合、日本語インプットメソッドがインス トールされているか確認してください。例えば Anthy日本語インプット メソッドをインストールするには、以下のようにします。   ┌───────────────────────────────┐   │$ sudo apt-get install ibus-anthy │   └───────────────────────────────┘ ただ、作成、保存後にフォルダ、ファイル名を日本語に変更しても問題 なく動作しますので、日本語のリモコンフォルダ名、赤外線信号名にし たい場合は、QuickIR終了後に手動で日本語に変更しても構いません。 9.修正履歴 2016/02/08 : Ver.0.9.3 "README.txt" 作成。 2016/02/21 : 使用方法をHTML文書として作成しなおした。 2016/02/23 : 前書きにOSの略記、商標に関する記述を追加した。 2016/02/28 : Ver.0.9.4 2016/03/12 : Ver.1.0.1 pybonjourのダウンロードURLを Python3 用のGitリポジトリに 変更した。 2016/03/14 : Ver.1.0.5 2016/03/18 : Ver.1.0.7 2016/10/23 : macOS 10.12 Sierra のリリースにより「Mac OS X」の表記を 「Mac OS」に変更した。 2016/11/19 : Ver.1.0.8 cx_Freeze対応 2016/12/17 : Ver.1.0.9 - PEP8準拠 - cx_FreezeでのMacアプリ作成対応 2017/02/04 : Ver.1.1.5 - LAN内に複数のIRKitがある場合に対応した。 - Python 3.6での動作を確認 - その他、多くの不具合修正