カテゴリー「備忘録」の7件の記事

2020.01.25

ARecX6 をもう1台購入&技術上の備忘

ARecX6からお手軽に TSファイルを抜くことができるようになって利便性が上がり、俄然やる気になったのでもう1台購入しました。

ARecX6は6チューナなのですが、関西では地上波は8チャンネルあるため、これまで2チャンネル犠牲になってきたのですが、これで全局カバーすることができます。

そこで2号機導入にあたり、何点か引っかかった点があるので、ネット上の古文書や個人的に調べた結果等から、備忘として残しておきます。
もしかしたら他の方にも役に立つかもしれませんが、試される場合は自己責任で。動かなくなっても知りません。

「1⃣設定の初期化」 はともかく、「2⃣サーバ証明書」と「3⃣HTTPSが動いてない...」については、言ってることが分からないとか、自分で何とかできない人はやるべきではありません。高確率で不動機化する可能性があります。
実際私もなりかけました(3⃣は多分2⃣の結果だと思います)。


1⃣設定の初期化

ARecX6はHTTP/HTTPSサーバとして動き、動画データはHTTPSで流れてきます。

そのため、SSL用サーバ証明書(オレオレ)が作成され、視聴する側のPCにそれを登録する必要があります。

この証明書はIPアドレスで生成されるため、IPアドレスをDHCPで動的に割り振るのではなく固定にしておく必要があります。

新品購入時はDHCPになっていて、とりあえずIPを取らせてからユーティリティでスキャンして設定をしていくわけですが、今回は中古で購入したため、前のオーナーさんが指定していたIPアドレスが分からない(多分セグメントもウチとは違う)ため、スキャンもできず、設定画面も開けません。

そこで設定の初期化が必要でした。

初期化は前面パネルの [REC]と[POWER]の2つのボタンを長押し(10秒)でできます。

これでDHCPが有効になり、家のルータからアドレスが振られてアクセスできるようになりました。

2⃣サーバ証明書

通常はARecX6に付属のユーティリティ ARecX6Launcher を使って証明書を作成してPCに登録するのですが、これがうまくいきません。「証明書の日付がおかしいので登録できない」的なエラーとなります。

1号機は全く問題なかったのですが、ネット上の情報を調べてみると、どうも2038年問題を抱えているらしく、2年ほど前から、新たに証明書を作成しようとすると、有効期限が2038年1月19日を超えてしまい、有効期限が1900年代にタイムスリップした証明書が作成されてしまうとのこと。

ARecX6Launcher を使わず、ブラウザでHTTPSアクセスして証明書をダウンロードし、日付がおかしなままの証明書を登録することもできますが、それだと、IEさんはなんとか許してくれるもののChromeさんが許してくれませんでした。

そこで取った方法が以下。

①サーバ証明書を生成してくれるCGIを書き換える

 ネット上の古文書の教えに従い、root権限取得&ssh有効化。

 /opt/vista/tuner/cgi/cert/exec.cgi が証明書生成の CGI(perl)なので、これを書き換え。

 具体的には、"-days 6999" となっている部分が2か所ありますが、これが有効日数です。
 デフォルトで 6999日となっていますので、今この日数で実行すると2038年を超えてしまいますので、これを"適切な"値に変更します。
 (例えば1年でよければ365、10年なら3650とか。)

②サーバ証明書の再作成と登録

 既に証明書が作成されている場合は一旦削除。
 http://???.???.???.???/cgi/get.cgi?type=cert_clear
 (環境に合わせてIPアドレスを指定)

 ARecX6Launcher を使って登録。
 日数が適切であれば、今度は日付が2038/1/17を超えないのでちゃんと登録されます。

 ただしこの方法は あと18年しか使えません(笑)。

 Arecx
 有効日数を適当に振って、2036/6/29まで有効な証明書が登録されました。

 今回はこれでOKとしましたが、試行錯誤の過程では以下のコマンドも使用しましたので備忘のため上げておきます。

 ・証明書削除
  http://???.???.???.???/cgi/get.cgi?type=cert_clear

 ・証明書作成
  http://???.???.???.???/cgi/cert/exec.cgi

 ・証明書ダウンロード
  http://???.???.???.???/cert/cert.der

3⃣HTTPSが動いてない...

 サーバ証明書を登録したにも関わらず、IE,Chromeとも相変わらず動画再生ができません。

 再生しようとすると、「サーバに接続できませんでした」と。

 再び先人の知恵を得ようとするも、事例としては証明書を登録すればいけるようなケースばかりでした。

 試しに TELNETでポート443を叩いてみても、まったく"感"がありません。ポート443自体が開かれていないようです。
 1号機はもちろん開かれています。

 証明書の件でいろいろやったので、もしかしたらサーバ側のSSL設定が知らぬ間に崩れたのかと思い、Apache周りを見てはみるものの、mod_ssl周りの設定が全くありませんでした。

 さらに調べていると、どうも、SSLについては、stunnelを使っているようで、その設定( /etc/stunnel/stunnel.conf )を確認すると、
 /opt/vista/etc/cert に server.crt と server.key が必要なことが分かりました。

 これらのファイルは 1号機を確認すると確かにありましたが、2号機にはありませんでした。

 試しに証明書が作成されたときに一緒に出来ている /opt/vista/tuner/cgi/cert/CA の server.crt と server.key をここにコピーして再起動すると... 🎉🎉🎉! 

 無事、ポート443が開かれてHTTPが有効になり、動画再生もできるようになりました。

現象の確認のためもう一度、証明書の作成からやってみるも、やっぱり /opt/vista/etc/cert にはコピーされていませんでした...
/opt/vista/etc/cert は所有者が root になってて、root以外は書き込み禁止だったので、証明書作成のために修正した cgi からアクセスできなくなっちゃったのでしょうか...

修正した /opt/vista/tuner/cgi/cert/exec.cgi にも、/opt/vista/etc/cert にこれらをコピーしようとしているところがありますが、権限か何かの関係で多分うまく動いていないのでしょう。
(手抜きで編集したので、このファイルの所有者がrootじゃなくなってる)

まあでも、とりあえず私の場合はIPアドレスを変更しなければ、これであと16年以上使えるのでもういいのですが、同様の事例に悩む方がいらっしゃいましたら、ヒントになれば幸いです。

くれぐれも自己責任で。

 

※いろいろ仕組みが分かってきて、後から思ったこと。

 CGIの書き換えとかまでしなくても、外部でOpenSSL使ってそのIPアドレスの証明書(100年くらい有効なのとか)作って、ARecX6の所定の場所にコピー&動画参照PCに登録でよかったかも。(未検証)

 まあ、いろいろ試して分かってきたことなので結果論なのだけど。

 

| | コメント (0)

2018.09.23

災害時の電源を考える(2)

Img_20180922_150618さて、前回紹介したUPSで、実際どのくらいの電力が使えるのか確認してみます。

満充電状態にしてから、適当な負荷ということで、今回はコロナのコンプレッサ式の除湿器を動かしてみます。

Img_20180922_150744消費電力は意外に低く、実際に動かすと200~250W程度です。

一緒に子供の頃(40年位前)から実家にあったAC100V仕様の時計をつなぎます。これは3Wほど。

液晶やLED表示ではないなところがミソで、これで知らぬ間に止まっていてもいつまで動いたか知ることができます。

Img_20180922_154914途中経過。

そろそろでしょうか。

Img_20180922_155502終了。

48分動きました。

計算上、使用できる電力量はざっくり、200Wh程度は期待できるくらいでしょうか。

長時間継続して何かに使うことはできないかもしれませんが、これでも電子レンジなら500Wで2分くらいなら12回程度はなんとか動かせそうかな。

あと、何も使っていなくても電源を入れているだけでこのUPS自身が食う電力が20~30W程度あるようで、長時間使うのは効率が悪そうですので、使う時だけ前回のジャンプスタータ+インバータで起動してやるのがよさそうです。

| | コメント (0)

2018.09.17

災害時の電源を考える

先日の台風21号や北海道の地震では広域かつ長期間による停電が起きた。
また、これまでも私は直接の被害は被ってはいないものの、東日本大震災や阪神大震災等、長期間の停電を伴う大規模災害は枚挙に暇がない。

そこでまじめに停電対策を講じることにした。

ウチは太陽光発電を導入しているため、自宅に直接の被害が無ければ、日中は停電時の自立運転モードでとりあえずは電力が使える。

Img_20180917_151534また、古い物だが、一応使えるAPCのUPS(Smart-UPS 1500)を持ってはいる。(7~8年ほど前、廃棄予定品をいただいた。)

しかし実はこれ、停止状態から外部電源無しでの起動、いわゆるコールドスタートができないモデルで、停電時に使おうと思うと、通常は平時でも常時電源に接続しておく必要がある。

もう少しいいモデルになると、コールドスタートができるモデルもあるのだが、こいつはあくまで、サーバ機等で常時運用状態の突然の停電時のバックアップ用途で、停電状態から起動して使う物ではないのだ。

また、待機状態でも意外に電力を食うのと、常にファンの音がしてうるさいため、平時には切っておきたいものである。

太陽光が動いているならそれを使って起動することはできるが、夜間だとアウトだ。

そこで、2つのアイテムを購入。

Img_20180917_151606まずは、車載用インバータ

これで車から電源を取ればとりあえずはUPSを起動できるか。

念のため、多少値が張るが正弦波タイプを選択。 
出力は定格300W ,瞬間最大600W。

Img_20180917_151601もう一つは車用ジャンプスターター

車のバッテリが上がった時にジャンプスタートを行うためのアイテム。
早い話が大型のモバイルバッテリだ。
容量は 16500mAh(12V)。
USB出力端子と12V出力(MAX10A)、ジャンプスタート用出力12V(MAX600A)で、フル充電であれば30回ジャンプスタートができるそうで、さらに非常用LEDライト付きの優れものだ。

スマホであれば恐らく10回以上はフル充電できそうな代物。

これと先のインバータを組み合わせれば少々の家電も動かすこともでそうだが、その場合の出力は通常の12V系を使うとしてインバータ変換効率等を考えて、12V * 10A * 0.85(効率(くらいか))で、最大出力は100W程度。容量的にも心許ない。

風呂に入るためのガス給湯器への電力供給くらいならこれでも動かせそうだが、やりたいのは、こいつらを使ってUPSを起動することだ。

で、試してみた。

Img_20180917_151703まずはジャンプスタータ側の通常の12V出力にインバータを繋ぎ、UPSの電源プラグを接続して起動!

...できず。

ジャンプスタータ側の電源が落ちます。
おそらく、UPS起動時に瞬間的に大きな電流が流れ定格の12V10Aを超えてしまい、セーフティが働くのでしょう。

Img_20180917_151903_2本命のジャンプスタータ側端子に接続し、矢印のユニットのBOOSTボタンを押下して準備完了。
このユニットにはおそらく大容量キャパシタでも入っているのでしょう。

再びUPSの電源プラグを接続して起動!

...できました!!!

起動したらインバータとジャンプスタータは外してよし。

これで、最大1000Wまでの多くの家電が使えるようになりました。
日中はもちろん太陽光で充電です。

容量についてはバッテリのへたり具合もあるので、おいおい試していきましょう。

大電力使用ではさすがにあまり長くは持たないと思いますが、これでかなり安心できそうです。

なお、このUPSはバッテリ駆動時の警告ブザーがうるさくて切れないので、ブザーは外しちゃいました。

冬でもこのUPSやジャンプスタータ+インバータがあれば、さすがにこれだけの電力だけで暖房までは無理だけど、ガスが健在ならガスファンヒーターが動かせますね。

| | コメント (0)

2007.11.11

■備忘録■tiny26 と tiny261/461/861の違い

GCCを使ってtiny861でタイマ割り込みによる一定間隔でAD変換を行い、UARTでPCに送るところまでテスト完了。

これまで tiny26で組んでいたものを tiny861に移植するにあたって、その違いにより少しハマったところをざっと記しておく。
(従来のアセンブラソース→Cへの違いを除いたプロセッサ仕様上の違い。)

ATtiny261/461/861はATtiny26の機能強化版。ATtiny261/461/861はそれぞれ、メモリ容量が
 ATtiny261: 2KB , 128B , 128B
 ATtiny461: 4KB , 256B , 256B
 ATtiny861: 8KB , 512B , 512B
と違っている他の仕様は同じ。
(左からプログラム領域のFLASH, SRAM , EEPROM)

ちなみにATtiny26 は
 ATtiny26 : 2KB , 128B , 128B

機能上の主な強化点は タイマ関連とADC関連、あと新機能として外部からの供給クロックを分周してシステムクロックとする機能。
このあたりの微妙な違いによってtiny26のソースがそのままでは意図どおり動作してくれなくなる。

■システムクロックを外部供給された物から分周
 外部クロックで動かす場合、クロック分周はI/OレジスタCLKPRのCLKPS0~3で分周無しから最大256分周の範囲で設定できるようになったようだが、その初期値はヒューズビット CKDIV8 によって決まってくる。
 CKDIV8 がプログラム(0)されると起動時はこれが8分周される設定となる。
 つまり、10MHz与えてもシステムクロックは1.25MHzとして動作する。
 非プログラム(1)の場合は分周なしで起動。 即ち10MHz与えたら最初から10MHzで駆動する。

 出荷時設定はヒューズビットCKDIV8 はプログラム(0)となっているようなので、注意が必要。
 最初、こんなのが追加されていることを知らなかったのでうまく通信が出来なくてハマりました。

Robo20071111_1AVR Studioのライタで見た場合は、[Fuses]タブで "Devide clock by 8 internally; [CKDIV8=0]" にチェックが入った状態で出荷されている。

このチェックが入っていると、供給クロックを8分周したものが起動時のシステムクロックとなる。
外せば起動時で分周なし。

分周値は動的に変更可能なので、チェックが入ったままで起動時に分周値を1に変更してやってもいい。

余談となるが、この動的なシステムクロック分周変更をうまく使えば、システムクロック256分周、タイマ0前置分周1024として16ビットタイマのオーバフロー割り込みとすれば、10MHzの外部クロックでも最大1718秒もの長周期のタイマ割り込みが使えることになる。
処理のときはシステムクロックを1/1にしてやればいいので、処理時のプロセッサパワーと待機時の低消費電力を両立できる。

■タイマ0が16ビット化(または8ビットx2)されている。
 機能拡張に伴い、従来とタイマ関連のI/Oレジスタ名等が変更されている。

■ADCで内部基準電圧を使う場合、これまでのソースコードのままだと1.1Vが基準になってしまう。
 ATtiny26の場合内部基準電圧は2.56Vのみだったが、ATtiny861では2.56Vと1.1Vが選択可能となっており、その切り替えは新設されたI/OレジスタADCSRBのREFS2ビットで行われる(デフォルトは1.1V)。
 そのため、内部基準電圧2.56Vの従来通りのソースをそのまま動かす(ADCSRレジスタはADCSRAに変更が必要)と、1.1Vが内部基準電圧として使われることとなり、取得値も当然違ってくる。

およそこんなところか。

必要に応じてデータシートを見比べる必要があります。
HERO'S Downloadで日本語訳されたデータシートで比較するとATtiny26とATtiny261/461/861で1.5倍ほどのボリューム差があります...

| | コメント (0)

2007.10.05

■備忘録■VAIO-U50のPXEブートその2

VAIO-U50のPXEブートの続き。

成功したので備忘録として手順を記しておく。

使用したのはライブCDの部屋版の KNOPPIX 5.1.1/CD(高速起動版)

結論から言うと、これであれば特に迷うことなくあっさり起動する。
やはり産総研版では駄目なようでした。

以下、手順。

ネットワーク構成として、今回は親機(KNOPPIX Terminal Serverを提供)と子機(VAIO-U50)をクロスケーブルで直結した。

もちろん既設のLANに繋いだままでもPXEブートは可能なのだが、仕掛け上、子機は親機からDHCPでアドレスやブートローダダウンロード用のTFTPサーバやファイル情報などをもらったりするので、他にブロードバンドルータ等でDHCPが動いてると、そちらが子機からのDHCPブロードキャストに先に反応したりしてうまくいかない。
また、DHCPブロードキャストが子機から親機に届かないといけないので、ルータ等の設定も必要だろう。

まずは親機の起動。

これはダウンロードしたisoファイルをCDに焼いてそれで起動すればよし。
BIOS設定での起動順に注意するくらいで特に迷うことはない。

KNOPPIXが上がったら、あとは以下の通り。
Robo20071005_1Start KNOPPIX Terminal Serverを選択。

Robo20071005_2[OK]。

Robo20071005_3一番上の setup (Re)configure server and (re)start を選択して[OK]

Robo20071005_4使用するLANポートを選択して[OK]

Robo20071005_5これは[NO]を選択。
今回の環境ではこの親機に対してDHCPでアドレスを与えてくれる者はいない。

Robo20071005_6ここから親機自身のTCP/IP設定。
ネットワークの構成によってはここ以降各自の環境で適宜変更が必要だが、クロスで直結してて他に繋がってる物が無ければ全てデフォルトでOK。

Robo20071005_7

Robo20071005_8

Robo20071005_9

Robo20071005_10ここまでが親機自身のTCP/IP設定。

Robo20071005_11子機向けのDHCP設定。
これもクロスで直結なら触る必要なし。[OK]。

Robo20071005_12子機のLANアダプタのドライバを選択。
VAIO-U50は IntelのPRO/100 なのでこれが有効になっていることを確認して[OK]。

Robo20071005_13子機でroot権限での作業が必要な時は、secure: Disable root on client(s) を無効にする。[OK]。

Robo20071005_14[OK]。
(子機でのbootオプションを指定したいときは入力。)

Robo20071005_15[Yes]。

DHCP、TFTP、NFSのサービスが起動するのでCDがおとなしくなるまでしばらく待ち。
これで親機の準備は完了。

子機側は、BIOS設定でPXEブート(ネットワークブート)の優先順位をHDD等より上げておく。

VAIO-U50の場合は、
1. 電源投入時、F2でBIOS設定画面へ
2. Advancedメニューで Network boot を Enabled に
3. Bootメニューで Network の優先順位を上に持っていく
4. 保存して終了


Robo20071005_16これでめでたく立ち上がる。

ライブCDの部屋の管理人さんに感謝。

| | コメント (0)

2007.04.16

■備忘録■AT90S2313をAVRISPmkIIで使えるようにする

AVRISPmkII非対応の旧デバイスAT90S2313をAVRISPmkIIで使えるようにします。

C:\Program Files\Atmel\AVR Tools\Partdescriptionfiles
(AVRStudio4のインストール先がデフォルトのままの場合)
にある AT90S2313.xml を開きます。
このファイルの最後の方、
------------------------
      :
    </STK500_2>
  </ICE_SETTINGS>
</AVRPART>
------------------------
となっているところを
------------------------
      :
    </STK500_2>
    <AVRISPmkII/>
  </ICE_SETTINGS>
</AVRPART>
------------------------
とします。 ("<AVRISPmkII/>"を追加。)Robo20070416_2拡大

Robo20070416_3これでめでたく AVRStudio4 - AVRISPmkII -AT90S2313の組み合わせで使用できます。

読み・書きとも問題なく動くことを確認しました。

ただしAT90S2313の場合、ヒューズビットやロックビット変更はパラレルライタが必要で、ISPは使えませんので注意。
(AT90S2313の場合はあまり使わないと思いますが、AT90S1200等を同様にして対応させてもクロック元の内部/外部切り替えの設定変更は出来ないと思います。)


■背景■
これまではizCOREに使用しているAVRマイコンの書き込みには、パラレルポート直結の自作プログラマ(ライタ)を使用していましたが、現在のメインPC(DELLノート)にはパラレルポートがありません。

残念ながらこの手のレガシーポートを直駆動するタイプのアプリケーションはUSBからの変換などでは動かないことが多く、仕方なく旧デスクトップが巨大なマイコン書き込み機として残っていました。

Robo20070416_1USBでも利用できるプログラマとして、自作事例やキット等もあるのですが、この際なのでATMELの純正プログラマ AVRISPmkIIを購入してみました。

しかし、残念なことにAVRISPmkIIでは現行izCOREで使用しているAT90S2313のような旧デバイス(名前にTinyとかMegaとかついてないやつ)はサポート対象外です。

このこと自体は購入前から分かっていたことなのですが、この『サポート対象外』は「サポートしないけど繋げば動くんじゃないかなぁ」くらいに楽観的に考えて購入しました。

で、試しに繋いでAVRStudio4からAVRISPmkIIでAT90S2313に書き込もうとしてみましたが、ホントに動きません...○| ̄|_

いや、今後AT90S2313使わなければいいのですが、現izCORE等、まだまだウチでは現役です。
(秋月で安かったのでスペアにいっぱい買っちゃいました。)

このままでは旧デスクトップも相変わらず書き込み機として現役続投させる必要があります。 困りましたね。
ってことで調べてみました。

ネタ元は2chのAVRマイコン総合スレです。

| | コメント (0)

2007.02.26

■備忘録■サーボホーン互換性

サーボホーンの互換表です。いつも迷うので備忘録としてまとめてみました。
あちこちググった結果をまとめました。 MicroMG , NARO+BB , S3103は自分で確認したものです。

メーカスプライン歯数
GWS(MicroMG , NARO+BB) , Futaba(S3103)21
KO , SANWA , JR23
HITEC24
Futaba , TowerPro , MiniStudio , BlueBird , GWS25

同じ枠内にあるものは互換性があり交換可能。
とりあえず標準サイズ+MicroMGと互換性のあるマイクロサーボだけ。
(メーカ名だけのやつは標準サイズです。)

間違いがあればご指摘ください。

HITEC、他メーカで合うホーン無いのね...

| | コメント (0)