Linux
スマホはGoogle Homeを超えた。androidスマホ+AutoVoice > Google Home
Google Homeの不満点①ウェイクワード(ホットワード)が変更不可
というか、めんどくさいし、かっこ悪い。
②ローカルデバイス(LAN内)との連携が不便。
→eRemoteの操作ができない。
→KODIとかDLNAとか、家電とか操作したい、、、
③オリジナルコマンドを追加したい
→Actions on Googleを使えばできるけど、スマート家電とかローカルのデバイスを操作するのはやっぱり不便。
だが、androidスマホ+AutoVoiceとLinuxマシンを組み合わせれば、Google Homeを超えるガジェットになります。
まあ、ずっと言っていることではあるのですが。。。
我が家では、AutoVoice+Taskerを使って、スマホで拾った音声のテキストを全てLinuxマシンへ飛ばしています。
Taskerでは、逆に「OK,Google」はスルー(何もしない)して、それ以外のワードをLinuxマシンへ転送しています。
その理由としては、、Google Homeもたまに使うため、明示的にOK,Googleでつなげたコマンドのみ処理させたい為なのですが。
ウェイクワードの有無で動かすデバイスを使い分けることができます。
スマホで拾った音声をAutoVoiceで一番に処理させるため、
AutoVoiceにてControl ContinuousをONにする。(重要)
で、LinuxマシンとのインタフェースはHTTP。
Linux側でWEBサーバ(PHP)を立てて、拾ったテキストをPHPで解析してコマンドを実行しています。
・赤外線リモコン(eRemote)操作は「node broadlinkjs-rm」
・音楽を流す場合は、MPDをインストールしてMPCでローカルの音楽を再生
→スマホから渡ってくるコマンドから「(.*)を再生して」、「(.*)の曲を再生して」などで曲のタイトルやアーティスト名を拾って、mpc searchコマンドで曲を検索して再生。
(ポイントとして、、「プレイヤー(.*)を再生して」など、タイトルの区切りを分かりやすくするため、ウェイクワード的なのをつけたほうが良い)
と、こんな感じで、オリジナルのコマンドも作れるし、柔軟なことができるのでかなり気に入っています。
ちなみに、ここまでで、Google Homeは一切使っていない!
Androidスマホがあれば、家電のリモコン操作から音楽の再生までできちゃいます。
あと、「交通状況」というキーワードに対して、yahooの路線の運行情報のページから自分が使う路線状況を抜き出して実況させるとかしています。
この取得した情報を出力する際には、Google Homeを使って、音声で出しています。
これには、「google-home-notifier」というモジュールを使用しています。
こんな感じかな。
次の目標、、何ができるんだろう。
連携させるLinuxサーバにはやっぱりこれがおすすめ。
KODIで一台使っちゃってるから、自分ももう一個買おうかな。。。
この用途ならZEROでもいい気もしますが。
2018年01月08日
Google HomeでDLNA
Google HomeでDLNAが使えない!!正直予想外でした。
DLNAが使えれば、PCから音楽を飛ばしたりとかできるのに、、と思っていたのですが、使えないとは。
ただ、スマホのUPNPソフトの中にはレンダラーにGoogle Homeが見えてるのもあるんですよね。はて。
で、気が付いた。
これ、Chromecastと同じプロトコルじゃね?
というわけで、Castするプログラムで試したところ動いたので確定。
あとは、PCから音楽をCastすることができれば、
本来、Google Play Musicとかを使わないと、「デフォルトの音楽プロバイダが選択されていません。」と言われてしまうGoogle Homeですが、PCからCastすることで、任意の曲を再生することができるようになります。
まあ、これだけだと音声で操作ができないので、音声操作がしたければ、スマホのAutoVoice/Taskerで音声のテキストをPCに飛ばして操作とか、音声でPC内の楽曲を検索して再生させるなどの工夫がいりますが。
・・・あれ、これ、別にGoogle Homeで音鳴らす必要なくない??
という落ち。
ちなみに、LinuxからのCastはmkchromecastを使いました。
2017年12月30日
RHEL7でphp+mysql+phpMyAdmin
さて、RHEL7でphp+mysql+phpMyAdminで運用しようとしたらいろいろ躓いたのでメモ。まず、RHEL7でmysqlを入れようと思ったのですが、、、あれ?
mysqlがインストールされない。
・・・どうも、mysqlの後継のMariadbに置き換わっているようです。
で、Mariadbうまく入らないので、mariadbのリポジトリを追加してインストールが必要みたい。
次にphpMyAdmin
これも、リポジトリからうまく入らなかったので、
wget https://files.phpmyadmin.net/phpMyAdmin/4.5.0.2/phpMyAdmin-4.5.0.2-all-languages.tar.gz
tar -xzvf phpMyAdmin-4.5.0.2-all-languages.tar.gz
cd phpMyAdmin-4.5.0.2-all-languages
でインストール。。。
したのはいいが、動かしてみたら、php5.5以上が必要と言われた。
RHEL7の標準は5.4
これについても、REMIのリポジトリを追加して
yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
yum install --enablerepo=rpmforge,remi,remi-php70 httpd php php-mbstring php-gd php-mysql
でインストール
思った以上にめんどくさかった。。。
ちなみに、php55(php5.5)ではインストールできなかった。
2017年08月20日
Kodi LibreELECを導入
最近、HDDレコーダー(REGZA DBR-W507)を購入したのですが、使い勝手は微妙だったので、自分でも作れないかと思い、「Kodi LibreELEC」を導入してみました。Android TV→Kodi OpenELECときてようやく使えるのがあったという感じです。
OpenELECも同系統なはずなのですが、アドオンがうまくインストールできなかったので止めた。
Raspberry Pi用のイメージがあるので、動くまでは特に苦労することもありません。
あとは、目的である、HDDレコーダーの代わりとして、TVの録画、TV視聴ができるように、Chinachu/pt2が入っているサーバと接続用に、Harekaze/pvr.chinachuを導入しました。
というか、このために、Chinachu(KodiでTV視聴するためには、必要)を導入しました。
(epgrecからの乗り換えです。めんどくさかった)
Chinachuですが、安定したら結構いいですね。
WEBブラウザ経由でTV視聴できて、スマホからも見れますし。
さて、肝心のKodiですが、これも結構使いやすいです。
HDMI経由ならテレビのリモコンで操作できるのもいいです。
ただ、動画とか、音楽とかがライブラリに反映されない。。。
やり方が悪いのか、原因がよくわかんない。
なので、毎回ファイルサーバからディレクトリからファイルを選んで再生しています。
完成度的にもHDDレコーダー代わりに使えるレベルにはある気がします。
けど、導入のハードルはそれなりに高い。。。
USB接続ドングル型地上デジタルTVチューナー
Raspberry Pi3はいいですね。性能上がって使い道が広がった!
1世代は性能低いし、電源弱いし使い物にならなかったけど、3世代目は十分実用ですね。
2017年07月16日
Android TVを使ってみた
Raspberry Pi 3用にAndroid TVをインストールしてみました。が、現時点では実用には程遠い感じ。
そりゃ、ネット上にほとんど情報がないわけだ、書くことがない。
使えないです。。
2017年07月16日
Ubuntuでmediatomb import.jsの利用 その3
Fedoraのリポジトリでインストールされるmediatombのimport.jsなのですが、デフォルトだと、「ディレクトリ」のツリーで登録ができない。
object_root_path?なにそれ?って言われる。
あんまり何も考えていませんが、
http://windbell.dip.jp/?p=174
こちらを参考に設定完了
2017年04月07日
Ubuntuでmediatomb import.jsの利用 その2
さて、おさらいUbuntuでmediatomb import.jsは半分断念
純粋にUbuntuのmediatombでimport.jsを使うのはほぼ無理。
しかし、気が付いた「lxc」を使えばいけるんじゃね?
LXCはコンテナ型仮想化技術と呼ばれるものの1つで、OS上に別の隔離された環境を構築するものです。
VirtualBoxによる仮想マシンもと思ったのですが、すでにSophosのFWに仮想マシンを2台(クラスタ構成)使っているので、これ以上は無理!
という状態だったので、lxcを使って、RHEL系のFedoraを入れて動かすことにしました。
ネットワークの接続にあたって、ホスト?にブリッジ接続を行うのにちょっと手間取りましたが、mediatomb自体はあっさりインストール完了。
あとは、ffmpegについては、[FFmpeg Static Builds]を導入。
これで、import.jsとトランスコードができるmediatombの導入が完了です。
しかし、、、import.jsがうまく動かない!
どうも、バグそう。。。
これについては、再度次回ですかね。
2017年04月02日
Ubuntuでmediatomb import.jpの利用
ホームサーバとしてUbuntu系のLinux Mintを使っていて、DLNAサーバには、miniDLNAを使っているのですが、
動画の再生時に、スマホのDLNAソフト(プレイヤー)のプレイリスト機能を使って再生ができないので少々不便です。
というのも、動画を再生できるプレイヤーがなく、動画を再生する場合はDLNAプレイヤーではなく、一般的な外部の動画ソフトを使うため。
また、動画再生ソフトでの再生が終わってもDLNAソフト側に戻ってこないので、プレイリストを使った連続再生に難ありというわけです。
動画再生といっても、映像より、音声(音楽)再生がメインなので、連続再生は結構重要なのです。
そこで目を付けたのが、トランスコード機能、ファイルのインポートの設定のカスタマイズ機能があるmediatomb。
というわけで、
mediatombをインストールして、config.xmlを編集します。
<map from="video/*" to="object.item.videoItem"/> ⇒
<map from="video/*" to="object.item.audioItem.musicTrack"/>
とりあえず、これ普通の動画ファイルはオーディオファイルとして再生されます。
が、flvはこれだけだとうまく再生されない。
あと、ファイルの分類上、動画ファイルとして分類されるため、
音楽ファイルと一緒のカテゴリで表示されない。
⇒PCフォルダで表示するときはいっぺんに表示されるが、画像ファイルも混ざるため、ディレクトリ単位で再生したいときに不便。
⇒import.jsをいじることで、動画ファイルも、音楽ファイルと一緒のカテゴリとして登録することができる。。。。がUbuntu系ではjs機能がサポートされていない!
だったらと、ソースから落としてビルドを試みたが、、js機能を有効にするためのライブラリが入らない。
libjsがどうしてもインストールできず断念。
相当頑張れば行けると思う、、存在はしているのだが、自分でソースを見つけてきてビルドをすれば、libjsのインストールは絶対無理とは言いませんが、相当ハードルが高いと思われます。
少なくとも私は断念。
というわけで、タイトルのUbuntuでmediatomb import.jpは半分断念です。
次回、その解決編へ。
この値段で富士通のサーバが買えるんですよね。。。
2017年04月01日
Linux MintでSoftether VPN
--前回までの話。Linux MintにVirtualBoxをインストール
ゲストOSとして「Sophos XG Firewall」をインストール。
Sophos XG FirewallでVPNサーバを構成しようとしたが上手くいかず断念。
というわけで、ホストの方に「Softether VPN」を入れることにしました。
目的はOpenVPNによるandroidスマホからの接続です。
インストール手順は、、ここでは省略。
インストール後、Softether VPNの設定自体は、ManagerをインストールしたWindowsマシンから行います。
当初、ローカルブリッジの設定にて、「物理的な既存のLANカードとのブリッジ接続」を行っていたのですが、上手くいかず断念。
仮想NATとか、構成してみたのですがどうやってもうまくいかず。
その後、ローカルブリッジの設定を「新しいtapデバイスとのブリッジ接続」で構成し、やはり、仮想NATとかを構成したり試行錯誤したのですがやっぱり思うようにいかず。
うーん、、、
そのあと、参考にしたのが
http://www.jifu-labo.net/2015/11/softether_ubuntu/
ひょっとしてブリッジインタフェースにIPの設定が必要なのか?
ということで、「新しいtapデバイスとのブリッジ接続」で作成された仮想ブリッジに対しIPアドレスを設定してみました。(仮想ブリッジ名はifconfigで確認できます。)
すると、、、おっ!こいつ、、動くぞ!
「Softether VPN」側の設定としては、VPNのクライアント側は別セグメントのアドレスを割り当てているので、SecureNAT機能を有効にして、仮想DHCPサーバを設定。
ただし、NAT変換は不要なので、SecureNAT機能を有効にしつつも、設定としては仮想NATは無効。
デフォルトゲートウェイには、上記で設定した仮想ブリッジのアドレスを設定。
正解かはわかりませんが、今のところこれで正常に動いています。
2016年12月19日
CentoOS6 Sambaサーバでプチハマり
ごくごく普通に、CentoOS6でsambaをインストールして、設定、デーモンを起動してみたところ、、、上がらない。ログを見ると、ポートが使用中とのこと、、、え?
bind failed on port 139 socket_addr = ::.
Error = アドレスは既に使用中です
「netstat -tanp」にて該当ポートを使用しているプロセスを調べたところ、
使用しているプロセスはJava
あ、うん。。。
思い浮かぶのはColdfusionとOracle DBですが、psコマンドでさらに追ってみると、犯人は、「alfresco」でした。
取り敢えず、該当のプロセスを止めて、samba再起動したら普通に上がりました。
2016年07月18日