スキップしてメイン コンテンツに移動

投稿

デジタルサイネージを作りたいので、そのためのメモ

ラズパイでデジタルサイネージを作りたい。 ネット検索すると大まかには次の2パターンが多く見つかった。 静止画を表示する ・・・ デジタルフォトフレームを作る 動画を表示する ・・・ vlc で再生 ラズパイは負荷が大きくなると発熱が増えるし電力も必要になるため、 省エネな感じで株価や天気、ニュースなどを表示したい。 思いついたのは次のような方法。 スクリーンセイバーでRSSを表示 ブラウザでRSSを表示 テキストを出力するインタフェースを準備する スクリーンセイバーを使う場合は Xscreensaver にRSSやテキストを表示するオプションがあったので テキストが表示できるスクリーンセイバーを作ればいい。 C言語使って作る必要があるみたい。 ブラウザでRSSを表示する場合は、 CGIでRSSを拾ってきて表示する。 インタフェースを自前で準備するなら、 GUIツールキット(Xt、GTK+、Qt、Tk等)で作る。 ダッシュボードを構築する方法もある。 これが一番現実的。   smashing https://github.com/Smashing/smashing   SINATRA http://sinatrarb.com/intro-ja.html Rubyの軽量フレームワークを用いて構築できるようなので機会があれば試してみる。 === 追記 eog でスライドショーが流せるらしいので、 デジタルフォトフレームとして必要な情報を画像にして表示できる模様。 [参考] Raspberry Pi 3で17.3インチのデジタルフォトフレームを作った! https://lab.sonicmoov.com/development/raspberry-pi-3-digital-photo-frame/ ラズパイと高精細IGZO液晶で作る高機能フォトフレーム https://xn--p8jqu4215bemxd.com/archives/6894 デジタルサイネージとRaspberry Pi https://raspida.com/digital-signage Raspberry Piでデジタルサイネージを作る https://qiita.com/nanbuwks/ite...

Webページの Basic認証

Webサイトの特定のアドレスへのアクセスにパスワードを設定したい。 そこでBasic認証の設定を行う。 Webサーバは、Apache と nginx の場合を記す。 Apache の場合 httpd.conf の 設定を AllowOverride All にしておく。 AllowOverride http://httpd.apache.org/docs/trunk/ja/mod/core.html#allowoverride この設定で .htaccess ファイルが有効になる。 その上で次の2つのファイルを作ると そのディレクトリにアクセスするにはユーザ名とパスワードが必要になる。 ===.htaccess ====== AuthUserfile /絶対パス/.htpasswd AuthName "Please enter your ID and password" AuthType Basic require valid-user =============== === .htpasswd ====== ユーザ名 : パスワードのハッシュ =============== [参考] .htaccess による認証用 パスワード暗号化ツール http://www.luft.co.jp/cgi/htpasswd.php ベーシック認証用 .htacess 作成ツール https://www.softel.co.jp/labs/tools/basic-auth/ nginxの場合 nginxの設定ファイルに次を書き込む。 書き込むのはBasic認証をさせたいlocationディレクティブの中に書く。 ===== auth_basic "メッセージ"; auth_basic_user_file /絶対パス/.htpasswd; ===== ここで設定したアドレスにパスワードのファイルをおく。 === .htpasswd ====== ユーザ名 : パスワードのハッシュ =============== [参考] Nginx で Basic 認証 https://qiita.com/kotarella1110/items/be76...

Webサイトのリダイレクトをブラウザで行う

Webサイトのリダイレクトは次のような方法で行うことが出来る。 Webサーバの設定 Javascript HTML metaタグ サーバの設定ができるのであればこちらの方法でリダイレクトをすればよい。 この場合すべてのアクセスをリダイレクト出来る。 しかし、設定が行えない状況であればその他の方法を選ぶ必要がある。 JavascriptやHTMLタグを利用する場合は、 クライアント側の処理なのでサイト運営者側でコントロール出来ないため 必ずリダイレクトされるとは限らない。 以下に挙げる例は、https://www.google.com/ にリダイレクトする例である。 Javascriptを利用する場合 次の文を書き込む。 location.href = “https://www.google.com/”; タグを利用する場合 次の文をヘッダに書き込むと5秒後にリダイレクトする。 <meta http-equiv="refresh" content="5;URL='https://www.google.com/'” /> これらを含めたソースは以下のようなものになる。 ===== <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>転送</title> <meta http-equiv="refresh" content="5;url='https://www.google.com/'" /> <script> setTimeout("location.href='https://www.google.com/'",1000*5); </script> </head> <body> 本文 </body> </html> =====

POSIX ユーティリティ

ふと、POSIX のコマンドを調べてくなったので、 とりあえずリストを書いておく。 正式にはサイトを確認のこと。 POSIX ユーティリティ admin alias ar asa at awk basename batch bc bg c99 cal cat cd cflow chgrp chmod chown cksum cmp comm command compress cp crontab csplit ctags cut cxref date dd delta df diff dirname du echo ed env ex expand expr false fc fg file find fold fort77 fuser gencat get getconf getopts grep hash head iconv id ipcrm ipcs jobs join kill lex link ln locale localedef logger logname lp ls m4 mailx make man mesg mkdir mkfifo more mv newgrp nice nl nm nohup od paste patch pathchk pax pr printf prs ps pwd qalter qdel qhold qmove qmsg qrerun qrls qselect qsig qstat qsub read renice rm rmdel rmdir sact sccs sed sh sleep sort split strings strip stty tabs tail talk tee test time touch tput tr true tsort tty type ulimit umask unalias uname uncompress unexpand unget uniq unlink uucp uude...

vim でスペースやタブ等を可視化する

vim で編集していたらタブや改行、スペース等が見えればいいなと思ったので、見えるようにしてみた。 .vimrc に次を書き加えると表示される。 set list set listchars = tab :»-,trail:-, eol :↲,extends:»,precedes:«,nbsp:% これでだいたい表示されるが、全角スペースは表示されないので、 次も書き加えると表示される。 if has("syntax")     syntax on     " PODバグ対策     syn sync fromstart     function! ActivateInvisibleIndicator()         " 下の行の" "は全角スペース         syntax match InvisibleJISX0208Space " " display containedin=ALL         highlight InvisibleJISX0208Space term=underline ctermbg=Blue guibg=darkgray gui=underline     endfunction     augroup invisible         autocmd! invisible         autocmd BufNew,BufRead * call ActivateInvisibleIndicator()     augroup END endif [参考] Vimのタブ・空白・改行文字等をlistcharsで色変更 https:/...

IPアドレスの固定 on CentOS 7

CentOS7 で IPアドレスの固定を行う。 DHCP により自動的に割り当てられているIPアドレスを固定する。 設定は下記ディレクトリに保存されている。 /etc/sysconfig/network-scripts/ 個々のファイルを修正してもいいがコマンドラインより設定する方法を次に示す。 次のコマンドで現在の設定を確認する。 # nmcli device show この結果をもとに固定するIPの設定を調べる。 ネットワークインターフェース enp0s3 割り当てるIPアドレス 192.168.1.10/24 ゲートウェイ 192.168.1.1 DNSサーバ 192.168.1.1 # nmcli c m enp0s3 ipv4.method manual # nmcli c m enp0s3 ipv4.addresses 192.168.1.10/24 # nmcli c m enp0s3 ipv4.gateway 192.168.1.1 # nmcli c m enp0s3 ipv4.dns 192.168.1.1 [関連] Ubuntu IPアドレスを固定にする https://atsreport.blogspot.com/2017/11/ubuntu-ip.html [参考] CentOS7のnmcliコマンドについて https://qiita.com/ytooyama/items/847250f17fa7715f3037

Let's Encrypt 自動更新 で怒られた

ここで Let's Encrypt を導入したことを書きました。 Webサーバ に Let's Encrypt を導入し https で接続できるようにした https://atsreport.blogspot.com/2019/04/web-lets-encrypt-https.html サーバ更新したので設定をいじっていてLet's Encryptの更新コマンドを実行した。 すると、パーミッションを直せと怒られた。 # certbot-auto renew certbot-auto has insecure permissions! To learn how to fix them, visit https://community.letsencrypt.org/t/certbot-auto-deployment-best-practices/91979/ 詳細はリンク先をみてもらうとして、大雑把に言うと  root 以外に触れないようにしろ! ということだった。 具体的には、インストール先 /usr/local/bin/certbot-auto を推奨しており、 certbot-auto の所有者をrootにして、root以外から書き込めないようにとのこと。 # chown root /path/to/certbot-auto # chmod 0755 /path/to/certbot-auto とりあえず、所有者とパーミッションだけ直しておいた。 Certbot-auto deployment best practices https://community.letsencrypt.org/t/certbot-auto-deployment-best-practices/91979