これってデジタルサイネージ

派遣先の大学の本館は大きな建物で、1階には天井が吹き抜けになっている広いホールがあります。そこは、学生の作品の展示スペースになったりするのですが、プロジェクターが設置されており、パソコンで作った動画の案内を流したりしています。

今日、ここ1週間くらいずっと流している動画が、忘れたころに止まっていることがある、というので調べることになりました。

構成は、別に特別な装置を使っている訳ではありません。天井に大型のプロジェクターを設置し、下のAVラックからHDMIで接続しているだけです。HDMIはスイッチャーに接続しており、パソコンやDVDプレイヤーの動画を表示できるようになっています。

今回の動画では、ずっと、パソコンを使っていました。小型のノートパソコンに動画ファイルをコピーし、それを Windows に付属している Media Player で繰り返し流していた訳です。

結論から言ってしまえば、このパソコンの WiFi が有効になっていました。1時間や2時間くらいなら、WiFiが有効だからといって、どうということはありません。Media Player で動画を再生できます。しかし、これが、1週間という単位になると、パソコンは何もしないということはありません。今のパソコンは、ネットワークに繋がっていると、使っている人に関係なく自動で更新が無いか確認を行います。もし、何かあれば、動いている動画を中断させても利用者に通知します。これが今回は動画を止める原因になったようです。

大学の中のWiFiかインターネットに接続するには、Web認証が必要です。そして、この認証は、24時間経つと無効になってしまいます。もし、Windows が毎日 Microsoft のサイトに更新の有無を確認していたら、その時点でネットワークエラーの通知が発生し、動画が止まってしまいます。

普段は人が使う際に1度WiFiのWeb認証を行えばOKですが、自動で1週間もつけっぱなしにするには、それなりに配慮が必要です。使っているノートパソコンは、スクリーンセイバーは外してあったので、その辺はやってくれたみたいです。しかし、WiFiは思いつかなかったのかもしれません。

この辺、ネットで検索すると、デジタルサイネージでスティックタイプのパソコンを使う場合の注意事項に、無線LANを無効にしておくとよい、というのがありました。やはり専門家なら真っ先に思いつくことかもしれません。私は、確信が欲しくてネットで探してしまいました。

CentOS 7 に Eclipse をインストール

忙しくなる前にと思って、PHP の開発環境としての Eclipse をバーチャル環境の CentOSにインストールしてみました。結局遅くて無駄になったようですが、顛末はこんな感じです。

Eclipse は、使ってみて便利だと思ったことが多いのですが、あまり使ってません。昔から何度も使おうとトライしているのですが、あの遅さには付いていけません。起動するのに3分以上待たせれたあげく、キー入力がカーソルに追いつかない、という経験を何度もしてきました。昔は、低スペックのパソコンに Linux を入れて検証環境にしており、それで動くといいなと思って設定したのですが、あまりの遅さに閉口。その後も、パソコンを買い換える毎に入れようとしたのですが、Linuxで十分な速度を体感できたことはありません。遅いPCでは、ストレスが溜まるだけなので、メインは軽いテキストエディタを書いてました。

去年から、大学の派遣の仕事で比較的高性能なパソコンが使えるようになったので、久々に Eclipse を入れて使っています。Windows 側なら、デバックにそこそこ使えます。ただ、このエディタは正直使いにくいので、もっぱら文法チェック用です。本当なら、php を実行してデバックまでできるのですが、Linuxの環境と全く同じphpという訳にはいきません。そのため、バーチャル環境の Linux で実行してのデバックが欠かせません。遅いのは解っているのですが、バーチャル環境のCentOSへのインストールをやってみることにしました。

日本語環境のEclipseは、Windows なら構築された版をインストールするだけですが、Linux版は、Eclipse と日本語環境をそれぞれ別にダウンロードしてインストールします。まずが、Eclipseの公式サイトから英語版をダウンロードしてインストール。これにはかなり時間がかかりました。次に、日本語環境のPleiadesの最新版をダウンロードしてして、さっきインストールしたEclipseの環境に展開します。さらに、eclipse.ini に設定を追加します。この設定は、テキストが readme の下に展開した際にできるので、それを確認してください。

これで準備OKで、eclipse が実行可能になりました。さらに、php のデバック環境を設定すれば、環境のできあがりです。しかし、使った感じは目見えて遅い。Windows 側はまだ使えるレベルだったのですが、VirtualBox と Java の二重になっているせいで、実用には程遠い気がする。バーチャル環境でhttpサーバーが動けばいいから、とメモリーが十分では無いもの影響が大きいかも。やっぱりここではテキストエディタとブラウザを使うくらいが限界かな。

ネットでは、VirtualBox にインストールしたLinux環境に、Eclipse を設定するのがおすすめ、なんて記事もありました。最新の高性能パソコンに32Gバイトくらいの十分なメモリーを積んでいれば、それもありかもしれません。しかし、パソコンのスペックが足りないと、使い物にならないと思いますね。今回入れた Linux版のEcplise は、きっともう使うことは無いような気がする。

ネットワーク改善

派遣先の大学で、先月、ネットワークの引き込み機器や回線の増設を行ったので、大幅にレスポンスが改善しました。Windows Update がいつまでたっても終わらなかったのが、すぐにダウンロードが完了しています。

大学のネットワーク環境を管理している外部業者の報告書では、工事前までは外部の通信の7割をOCNの回線が占めており、その回線が詰まっているのが原因だろう、との分析でした。工事後は、OCNとは別の回線と契約し、OCNへの通信を全体の25%程度に抑えることで、レスポンスが改善されています。同時に、外部の回線に接続する機器を新しくしたことで、処理能力が2倍になったのも効果が大きい、とのことでした。

先生から授業に支障が出る、とまで言われていただけに改善したのはいいことです。しかし、今年は何でこんなに遅いの、という問い合わせ多数、来ていました。OCNは、ネットの口コミでは評判はよくありません。年々悪化していたのが、今年からある一線を越えて遅くなったのかな、なんて考えてます。

以前の会社でインターネットに接続するのに、山形でどこを使うといいか、という話が出た時、情報システムで回線に詳しい後輩は、電力系のプロバイダーがいいと言ってました。NTT系の回線は全国規模のため、山形県のような顧客の少ないエリアでは装置の更新や増設が遅れるのだそうです。それに対して、電力系は独自回線を持っており、機器の増設などにも柔軟に対応できるのだそうです。ただし、料金はNTT系の方が安いようです。これは、規模が違うからしかたないのかも。

そして、今回大学で増設した回線は、NTT系ですがOCNとは別のプロバイダ。光回線は同じでも、プロバイダのDNSサーバーの応答がよければ、レスポンスは改善します。回線自体に余裕がある場合のみですが、プロバイダを変更するのもレスポンス改善に
効果的です。今回は、これがよかったようです。

ということは原因は、OCNのプロバイダとしても能力不足。プロバイダ乗り換えキャンペーンをやっているのに、DNSサーバーのようなレスポンスに関わる設備を増設しておらず、装置の能力が追いつかないケースが出ているのかな。

結論は、OCNはネットの評判どおり良くない、というのが結論でした。実は自宅の契約は、最近OCNに切り替えたばかり。それまでの安いだけでよく知らないプロバイダに不安になっていたので、キャンペーンの勧誘電話にのってしまったのですが、ちょっと不安になってます。

ACCESSのフォームにはまる

今週から、派遣先の大学で MS-ACCESS で動作する仕組みを作成しています。MS-ACCESS は、使ってきた経験があるものの、知っているのは一部の機能だけで使いこなしてきたとはいえません。(もっぱらパススルーで使ってました。)特に、フォームに関しては、素人といっしょ。こういうの作って、と言われても初心者向けサイトを見ながら、ちょこちょこと作っていくしかできません。そのため、今回のは、かなり苦労しています。

やりたいことは、単純です。先週まで Excelに書かれたリストと、それにリンクする予定の Excel のリストを整備してきました。まだまだ整備には時間がかかるものの、リンクのしかたを確認しようと、MS-ACCESSの仕組みに予定より早めに着手したところです。フォームのイメージは、Webページです。紙の申請書の内容を画面に打ち込むのですが、プルダウンメニューからマウス操作である程度選べ、必要な箇所は何かからコピペできるようなテキストボックスを並べます。そして、ボタンを押すとデータベースに格納できます。

MS-ACCESS のフォームは、まるで VisualBasic の画面エディタだと思った時期がありました。まあ、それ以来苦手意識があります。Excelならセル単位でデータを処理したり、セルとは違う意味を持たせるためにテキストボックスを貼り付けたりと、VBAでいろいろ組んだ経験があります。しかし、MS-ACCESS にする意義が見出せず複数で使うような仕組みは、PHP で組んでWebで使えるようにしてきました。今更、MS-ACCESSS か、という気分ですが、数人でファイル共有しながら使うならまあ、ありかもしれません。

さて、フォームの作成ですが、今回はコンボボックスを多様しました。しかし、ここにリストを表示する方法ではまり、違うコンボボックスから参照するのではまり、VBAからの参照ではまり、と簡単なフォームのはずがかなり時間がかかってます。使った経験がなかったというのもありますが、これは難しい機能ですね。だいたい、SQLから複数の項目が出力されているはずなのに、ちゃんと文字列が表示されているのが理解できません。それを参照すると、やっぱり違う情報を取得してきます。

SQLでリストを表示するとちゃんとデータがあるのに、空白のプルダウンメニューが表示されてしまいます。また、いじっているうちに最初のコンボボックスが表示されたとても、次のコンボボックスでは何も表示してくれません。SQLやクエリーをデバックできる機能があれば利用したかったのですが、見つけられませんでした。

MS-ACCESSのフォームは、難しいのでプロにお願いするのがいい、という記事は何度か見たことがあるのですが、こんなに難しいとは思いませんでした。思いついたことをちょっと試してみよう、とするとVBAで組むことになります。VBAは難しい言語ではありませんが、同じ工数をかけるなら、Webシステム上に実装した方がいいなと思いますね。

当面の評価環境として、目標とするユーザーインターフェースはできたのですが、作りかけやのクエリーとかが幾つもできてしまい、かなり見難い。なんかもっとすっきりしたものが作れないものだろうか、と気になってしまう。

Virtual Box用のCentOSで、/boot が一杯に?

Virtual Box で CentOS7を使っているのだが、/boot が一杯になっているとのワーニングが出ていた。普通に yum でカーネルがアップデートされると、/boot にインストールされるので、ある程度は増えてしまう。しかし、それほど古いバージョンを残していないので、ありえない。ちょうどしばらくぶりにkernelをアップした際に、/boot が一杯だというメッセージが出た。rpm コマンドでインストールされているカーネルを調べると、3つしか入っていない。絶対におかしい。

/boot の下を確認すると、initramfs で始まるファイルがかなり入っている。しかも、サイズが大きい。これが原因と思われる。rpm でインストールされているバージョンを残して削除してみる。OSを再起動すると、VirtualBoxをWindowsとの連携機能が切れている。これはカーネルを更新するたびに、設定が必要だ。いつものように仮想のCDをマウントして実行し、連携できるようになった。

ここで、/boot をチェックすると、また、容量が増えている。残りがやばいくらい。しかも、さっき消したはずの、initramfs で始まるファイルが復活している。どうもこれが原因らしい。過去に、yum でアップデートでインストールされた
全てのバージョンのカーネルに合わせて、このファイルを作っているようだ。このVirtualBox用のCentOSでは、カーネルは基本的に最新にしている。そのため過去にいろいろなバージョンが入っていた。古いカーネルは、rpm コマンドで削除しているのだが、まさか、それ用のイメージが作られていたとは。

VirtualBoxをWindowsとの連携機能用のカーネルイメージを作成する処理は、これから調べてみるつもりだが、どうなっているんだろう。できれば、参照しているファイルを修正して、余計なバージョン用のイメージを作らないように設定したいのだが。ざっと、グーグルで検索してみたのだが、解らなかった。たぶん、/lib/modules の下に、initramfsを作成した際に使ったと思われる
ファイルが残っていたので、これの影響かな、と思われるが、確認できなかった。
とりあえず、古いバージョンのinitramfsを削除しても問題ないので、/boot
から削除して使っている。