T3500:TvTest , EDCB xtne6f版 build

下記サイトがわかりやすかったです。

参考にしながらEDCB xtne6f版 と TvTest をbuildする。

https://github.com/xtne6f/EDCB/releases

にバイナリが上がっているので、BuildしなくてもOKだけど、今後 Buildするかもしれないので、環境だけ作っておこう。EpgDataCap_Bon.exeが入っていないので、Buildしなくちゃいけないですね。

https://enctools.com/ このサイト すごくわかりやすくていいです。club535で解説を書いていこうと思ってましたが、https://enctools.com/を参考にする方が良い。

xtne6f版EDCBをVS2017でビルドする

TVTest0.9.0をVS2017でビルドする

設定

TvTest 0.9.0のBuildが思いのほか時間かかりました。

T3500:Spinel3 + BonDriver BonDriver_PT3-ST

あとあとEpgDataCap_Bonなどで必要になると思われるランタイムをインストールしておく。

Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ

Spinel3の導入

展開して、配置するだけでOK

Spinel_ver3.6.1.1

DTV関係ファイル置場

BonDriver_PT3- ST(お試し人柱版4)[up0985.zip]

(参考)

秋の夜長はPT3のセットアップ PT3 + softCas + TVtest + spinel + EDCB

https://github.com/epgdatacapbon/BonDriver_PT3-ST

PT3の設定を書き込む

BonDriverMapping.json

    /* BonDriver_PT3-ST */
    {
        "DeviceName": "PT3",
        "Mapping": {
            "ISDB_T": "^BonDriver_PT3-T.*?\\.dll$",
            "ISDB_S": "^BonDriver_PT3-S.*?\\.dll$",
        }
    },

\DeviceDefinitions\EarthSoft.xml (2018/11/7)

  <DeviceDefinition DeviceName="PT3" DisplayName="EarthSoft PT3">
    <TunerDefinitions>
      <TunerDefinition TunerType="ISDB_T" Count="2">
        <ChannelCategories>
          <ChannelCategory>UHF</ChannelCategory>
          <ChannelCategory>CATV</ChannelCategory>
          <ChannelCategory>VHF</ChannelCategory>
        </ChannelCategories>
      </TunerDefinition>
      <TunerDefinition TunerType="ISDB_S" Count="2">
        <ChannelCategories>
          <ChannelCategory>BS</ChannelCategory>
          <ChannelCategory>CS110</ChannelCategory>
        </ChannelCategories>
      </TunerDefinition>
    </TunerDefinitions>
  </DeviceDefinition>

PT3 BonDriver-STの配置

Spinel3\BonDriverに配置する

BonDriver_PT3-S.dllはコピーしBonDriver_PT3-S0.dll、BonDriver_PT3-S1.dll

BonDriver_PT3-T.dllはコピーしBonDriver_PT3-T0.dll、BonDriver_PT3-T1.dll

BonDriver_PT3-S.ChSet.txt
BonDriver_PT3-S0.dll
BonDriver_PT3-S1.dll
BonDriver_PT3-ST.ini
BonDriver_PT3-T.ChSet.txt
BonDriver_PT3-T0.dll
BonDriver_PT3-T1.dll
PT3Ctrl.exe

BonDriver_PT3-ST.ini

新チャンネルに合わせたChSetの変更

間違いがあったので、こちらに変更(BonDriver_PT3-S.ChSet)2018/11/7

;BS/CS用
;チューナー空間(タブ区切り:$名称	BonDriverとしてのチューナ空間)
$BS	0
$CS110	1
;チャンネル(タブ区切り:名称	BonDriverとしてのチューナ空間	BonDriverとしてのチャンネル	PTxとしてのチャンネル	TSID(10進数で衛星波以外は0))
BS01/TS0 BS朝日 	0	0	0	16400
BS01/TS1 BS-TBS	0	1	0	16401
BS01/TS2 BSジャパン	0	2	0	16402
BS03/TS0 WOWOW PRIME	0	3	1	16432
BS03/TS1 NHK BS Premium	0	4	1	16433
BS03/TS2 BSディズニー	0	5	1	17970
BS05/TS0 WOWOW LIVE	0	6	2	17488
BS05/TS1 WOWOW CINEMA	0	7	2	17489
BS09/TS0 BS11   	0	8	4	16528
BS09/TS1 STAR CH1	0	9	4	16529
BS09/TS2 TwellV 	0	10	4	16530
BS11/TS0 FOX bs238	0	11	5	18096
BS11/TS1 スカパーエンタ	0	12	5	18097
BS11/TS2 放送大学	0	13	5	18098
BS13/TS0 BS日テレ	0	14	6	16592
BS13/TS1 BSフジ 	0	15	6	16593
BS13/TS2 BSアニマックス	0	16	6	18130
BS15/TS1 NHK BS1	0	17	7	16625
BS15/TS2 STAR CH2/3	0	18	7	16626
BS19/TS0 GreenChannel	0	19	9	18224
BS19/TS1 J Sports1	0	20	9	18225
BS19/TS2 J Sports2	0	21	9	18226
BS21/TS0 イマジカBS	0	22	10	18256
BS21/TS1 J Sports3	0	23	10	18257
BS21/TS2 J Sports4	0	24	10	18258
BS23/TS0 BS釣りビジョン	0	25	11	18288
BS23/TS1 BS J映画専門ch	0	26	11	18289
BS23/TS2 D-Life 	0	27	11	18290
ND2	1	0	12	24608
ND4	1	1	13	28736
ND6	1	2	14	28768
ND8	1	3	15	24704
ND10	1	4	16	24736
ND12	1	5	17	28864
ND14	1	6	18	28896
ND16	1	7	19	28928
ND18	1	8	20	28960
ND20	1	9	21	28992
ND22	1	10	22	29024
ND24	1	11	23	29056

一通り設定が終わったので、Spinelを起動する。

キチンと動作している。

次は、Spinelの動作確認のため、TvTestを入れてみよう。

T3500:PT3インストール

Windowsのインストール環境設定が完了したので、鯖構築を始める。
マシンにPT3を導入し、SDKとドライバをインストールする。

https://earthsoft.jp/PT3/download_SHA-2.html

アースソフトからドライバをDLし、インストールする。

ドライバ
https://earthsoft.jp/PT3/bin/PT3-Driver-400+.exe

その後に、FPGA回路バージョンを確認する。
FPGA回路更新ツール
https://earthsoft.jp/PT3/bin/PT3-Update-400+.exe

FPGA回路バージョンは0x04の最新版です。
cmd.exeでUpdate.exeを起動すると、認識しているPT3が表示される。

--+---+---+---+---
#  Bus Dev Fun PTn
--+---+---+---+---
0: (終了)
1:   1   0   0   3

1: が認識しているPT3です。
1: の更新が必要か確認するため、
>1を入力する。

C:\PT3-Update-400+\Update.exe
Update.exe for PT3 バージョン 4.0 2015/09/25
[デバイス選択メニュー]
   Bus:バス番号 / Dev:デバイス番号 / Fun:ファンクション番号 / PTn:品番
--+---+---+---+---
#  Bus Dev Fun PTn
--+---+---+---+---
0: (終了)
1:   1   0   0   3
>1
★FPGA 回路バージョンは 0x04 です。このツールの更新対象は 0x01~0x03 です。
[デバイス選択メニュー]
   Bus:バス番号 / Dev:デバイス番号 / Fun:ファンクション番号 / PTn:品番
--+---+---+---+---
#  Bus Dev Fun PTn
--+---+---+---+---
0: (終了)
1:   1   0   0   3
>0
続行するには何かキーを押してください . . .

「1」を入力すると、

★FPGA 回路バージョンは 0x04 です。このツールの更新対象は 0x01~0x03 です。

と表示されるので、この場合「FPGA 回路バージョンは 0x04」とあるので、最新版になっていることが確認出来ます。

確認完了後、「0」でプログラムが終了します。

続いて、SDKをインストールする。

https://earthsoft.jp/PT3/bin/PT3-SDK-400+.exe

QNAP UPS + VMware ESXi

先の記事でQNAPにUPSを接続し、QNAPのNUTでクライアントに商用電源の状態を送り、クライアントマシンをshutdownするまでの設定を行ったが、あと1台VMWare ESXiが稼働している。
このマシンにもshutdownの信号を受信できるよう少し調べてみたが、ssh経由でshutdownを行う感じで出来そうだ。

具体的には、QNAPのNUT SERVERからVMwareESXi上に展開したWindowsマシンでNUT CLIENTを建てて、商用電源の喪失信号を受けると、ShutdownScriptを走らせる。

upsmon.conf内のSHUTDOWNCMDを変更
OSのシャットダウンを行わず、ESXiにゲストの停止(/bin/shutdown.sh)とESXi自体の停止(poweroff)をSSHで実行すると良いそうだ。

#SHUTDOWNCMD “/sbin/shutdown -h +0”
SHUTDOWNCMD “/usr/bin/ssh root@ESXiのIP ‘/bin/shutdown.sh;/bin/poweroff’”

下記参考ページの構成と私の構成が異なっており、そのまま対応できない。
しかし、非常に参考になる。
参考ページのGuestOSはUbuntuを利用されているが、私の環境ではWindowsなので、WinNUTを使いGuestWindowsホストのupsmon.confにシャッドダウンコマンドにsshを足して設定すれば良さそうだ。
sshの設定は、参考ページと同じで良さそうだ。

upsmon.conf内のSHUTDOWNCMDを変更することでゲストOSのシャットダウンを行うのではなく、ESXiにゲストの停止(/bin/shutdown.sh)とESXi自体の停止(poweroff)をSSHで実行する。
#SHUTDOWNCMD “/sbin/shutdown -h +0”
SHUTDOWNCMD “/usr/bin/ssh root@ESXiのIP ‘/bin/shutdown.sh;/bin/poweroff'”

なお、これを動作させるためにはESXi上で以下の設定をしておく必要がある。
+ESXiへのSSHログインができるように設定しておく。~
→vSphere Clientからホストの[構成]-[セキュリティプロファイル]で[サービス]のプロパティを開きSSHを選んでオプションボタンを押す。「ホストに連携して開始および停止」を選んで開始ボタンを押した後、OKボタンを押す。
+nutを入れたサーバからのパスワードなしでコマンドを実行するために、SSHキーを登録する。~
→ESXiサーバの/etc/ssh/keys-root/authorized_keys にパブリックキーを登録する。
+ESXi 上でゲストOSの自動起動・停止を設定しておく。~
→vSphere Clientからホストの[構成]-ソフトウェア項目の[仮想マシン起動/シャットダウン]から自動起動設定を選ぶ。

VMwareESXiがGuestOSが何台か稼働中なので、間をみて設定しておくことにする。
参考)

VMware ESXiのUPS連携

QNAP UPS + Windows WinNUT

QNAPにはUPSのために、NUT(Network UPS Tools)がインストールされているようだ。
WEB GUIから設定できるので楽に稼働状態まで持って行ける。
Network UPS Toolsというくらいなので、クライアントへ渡す事も可能だ。

QNAP同士なら、全くCUIに頼らなくても設定できる。

QNAP同士の設定後、Client側で、きちんとUPSを認識してくれた。

QNAPをNUT SERVER、WindowをNUT CLIENTにしてWindowsマシンもShutdownさせる。

WinNUTをインストール
EDITを押し、下記設定を入力

# MONITOR myups@bigserver 1 monmaster blah master
# MONITOR su700@server.example.com 1 upsmon secretpass slave

MONITOR qnapups@192.168.xxx.xxx 1 admin 123456 slave

Install As Service Windowsのサービスとして起動
Use Timed Shutdown バッテリーに切り替わった時にWindowsをshutdown
Shutdown Method バッテリーに切り替わってから何秒後にシャットダウンするかの秒数
Normal(通常),Forced(強制),Force If Hung(止まった場合強制),Hibernate(休止)から選択

WinNUT Ups MonitorがServiceに追加されており、状態が開始、スタートアップが自動に設定されていればOK

WinNUT起動ログ

Level     INFO	09/19/2018 11:40:09	Detected OS as Windows 7
Level   NOTICE	09/19/2018 11:40:09	Network UPS Tools upsmon 2.0.0.4
Level     INFO	09/19/2018 11:40:09	UPS: qnapups@192.168.xxx.xxx (slave) (power value 1)
Level     INFO	09/19/2018 11:40:09	Config Load: MINSUPPLIES set to 1
Level     INFO	09/19/2018 11:40:09	Config Load: NOTIFYCMD set to c:\Program Files\WinNUT\alertPopup.exe
Level     INFO	09/19/2018 11:40:09	Config Load: POLLFREQ set to 5
Level     INFO	09/19/2018 11:40:09	Config Load: POLLFREQALERT set to 5
Level     INFO	09/19/2018 11:40:09	Config Load: HOSTSYNC set to 15
Level     INFO	09/19/2018 11:40:09	Config Load: DEADTIME set to 15
Level     INFO	09/19/2018 11:40:09	Config Load: RBWARNTIME set to 43200
Level     INFO	09/19/2018 11:40:09	Config Load: NOCOMMWARNTIME set to 300
Level     INFO	09/19/2018 11:40:09	Config Load: FINALDELAY set to 5
Level    ALERT	09/19/2018 11:40:09	WinNUTUpsMon Service is starting to monitor UPS

テレビサーバのT3500、T3500TV、T3600にインストール設定完了

QNAPのNUTと通信出来るかを確認するため、QNAP CLIENTから情報を取得してみる。

upsc qnapups@192.168.xxx.xxx
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.runtime: 1680
battery.runtime.low: 120
battery.type: PbAc
battery.voltage: 26.8
battery.voltage.nominal: 24.0
device.mfr: American Power Conversion 
device.model: Smart-UPS 750
device.serial: AS1317214978  
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 1
driver.parameter.port: /dev/ttyS1
driver.version: 2.6.5
driver.version.data: APC HID 0.95
driver.version.internal: 0.37
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.firmware: UPS 08.3 / ID=18
ups.mfr: American Power Conversion 
ups.mfr.date: 2013/04/27
ups.model: Smart-UPS 750
ups.productid: 0003
ups.serial: AS1317214978  
ups.status: OL
ups.timer.reboot: -1
ups.timer.shutdown: -1
ups.vendorid: 051d

このように情報が取得出来る。
ところで、Windows版のupscは何処にあるんだ?

動作確認のため、ACケーブルを抜いてみる。きちんと仕事をしてくれているようだ。

Level   NOTICE	09/19/2018 12:32:58	UPS qnapups@192.168.xxx.xxx on battery
Level   NOTICE	09/19/2018 12:33:09	UPS qnapups@192.168.xxx.xxx on line power

なぜか、popupが立ち上がってこないなぁ・・・
しかたないので、line通知に変更

windows版curl.exeを配置してから、sndline.batを作成

:line settings
	set url="https://notify-api.line.me/api/notify"
	set curl="E:\bin\curl.exe"
	set token="Line Token ID"
	set lineMSG="message=[ %COMPUTERNAME% ] UPS IS ON BATTERY!!!"
echo %lineMSG%
:Line送信処理
	%curl% %url% -H "Authorization: Bearer %token%" -d %lineMSG%

batを書いても通知が来ないなぁ・・・
Install先が悪いのかもしれないなぁ・・・
installディレクトリを変更してみるか。

参考)