白旗製作所

vivaldiのマウスジェスチャ設定(2017/10/04版)

Vivaldiは同期機能が無く、タブやブクマ、スピードダイヤル、
マウスジェスチャ設定等の複数PC間の同期ができません。

一応設定をそのまま他PCに移行する方法があるのですが、
フォルダの丸ごとコピーとなり、容量もかなり大きくなってしまいます。

今回は手動で最低限移行できるよう、マウスジェスチャーの設定を
メモしておきます。

ウインドウを閉じる
↓→
新しいタブ

新しいバックグラウンドタブ
↑→
タブを複製
→↑
タブを閉じる

前のタブ(表示順)
←→
次のタブ(表示順)
→←
閉じたタブを開きなおす
↓↑
新しいタブでリンクを開く(リンク上)

バックグラウンドのタブでリンクを開く(リンク上)
↑→
ページを再読み込み
↑↓
ページ最上部へスクロール
↑←
ページ最下部にスクロール
↓←
履歴を戻る

履歴を進む







スポンサーサイト
  1. 2017/10/04(水) 22:10:18|
  2. Vivaldi
  3. | トラックバック:0
  4. | コメント:0

Raspberry Pi + RaXino電力計の可視化画面

この記事の続きで、電力計を分電盤に取り付け、電力可視化部分を作りました。

分電盤を開けて,計測したい箇所の電線にCTを取り付けます.
(今回はCTを取り付けたりテスターで測るだけで盤改造するわけではないため,
 電気工事士の資格は必要無いと思いますが,
 取り付けの際は活線の横を触れることになるので感電に注意し,
 できれば電気工事士レベルの知識を持った人が行ってください.)

製作開始時に見落としていたのですが,うちの引込線は単相3線式100V/200Vでしたので,
赤/黒の電圧側電線2つを両方測って加算しないと家全体の電力が取れません.仕方なく,黒/赤両方にCTを付けます.
残りのCTは電気を多く食うリビングエアコン,給湯器,冷蔵庫,浴室乾燥機につけておきます.

取り付けた様子
DSC_0705.jpg

Raspberry PiとRaXino基板はプラ箱にネジ止めして納めてぶら下げておき,USBで電源を引っ張ってきます.
これである程度固定されましたのでよしとします.

次に可視化部分ですが,なぜかRaspberry Piにmatplotlibどころかpandasすら入らなかったので
生データをGoogle Chart APIでグラフにするスクリプトを突貫で用意しました.

Google Chart APIの使い方は以前記事にした通りで、
ここに取得した電力計のCSVデータを突っ込めば⬇の様にキレイなグラフになります。

Charts of home power consumption

自分がどれだけ電気を使っているか見えるのはなかなかおもしろいです.
あとは,データを家のPCに移して,現在1秒サンプルのデータを1分くらいにリサンプルして,
家の電力消費傾向を分析出来るようにしようかと思っています.
  1. 2017/09/28(木) 23:58:31|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

Google Chart APIによるデータのグラフ描画

Raspberry Piを使用してロギングしたデータを手軽に直接可視化する方法として
Google Chart APIを使用するという方法があります.

基本的な使い方は以下のページに事例が載っています.
Using Google charts in Python CGI scripts

ここでは上記のページのスクリプトの解説と,複数グラフを書く場合の例を記載します.
前提としてPython(2系)CGIスクリプトの動くWebサーバ上の動作とします.
(Webサーバ環境構築方法は以下を参考ください.
Raspberrpy PiのWebサーバ(Apache)追加

2013.07.01;23
2013.07.02;67
2013.07.03;45
2013.07.04;17
2013.07.05;56
のようなセミコロン区切りのデータを描画する例です.


複数の系列がある場合にグラフを縦に並べるには,以下のようにします.
(Draw Multiple Chartsを参考にします.)


これで別のスクリプトで取得したCSVデータ等を全て並べてグラフ化することができます.
Google Chart APIはRaspberry Piに限らず使用できますし,Webサーバが立っている環境でササッと
可視化するにはなかなかよい方法だと思います.
  1. 2017/09/24(日) 23:43:09|
  2. Raspberry Pi
  3. | トラックバック:0
  4. | コメント:0

Linux(Raspberry Pi)でプログラムを走らせたままにしておく(screen, service)

Raspberry Piを使用していル際に,データ受信スクリプト等を走らせたまま
別作業を行なう方法として,screenコマンド,serviceの使い方を記載します.
他にも方法があると思いますが,以下の2つが確実性があり使いやすかったです.

①screenコマンド
 screenコマンドでは,単独のセッションを立ち上げて
 その中でスクリプトを走らせ別のセッションに移ることができます.
 ぱぱっとスクリプトを裏で動かしておきたいときに便利です.

 主に以下の5つのコマンドを知っておけばOKです.
 (a)新規セッションを作成する
 $ screen

 (b)セッションを離れる
 Ctrl+aを押した後dを押す

 (c)セッション一覧を確認
 $ screen -ls
 数字がセッションのID

 (d)セッションに再参加する
 $ screen -r XXXXX
 XXXXXは(c)で調べたセッションID

 (e)セッションを削除
 $ rm -rf /var/run/screen/S-UU/XXXXX.pts-*.raspberrypi
 UUはユーザー名,XXXXXはセッションID,*はよくわかりません.
 S-UU以下は(c)で調べれば名前がわかります.

②service
 スクリプトをOSのサービスとして登録しておけます.
 バックグラウンドで動かすことができるのはもちろん,
 電源投入次に自動で実行させることができます.

 (a).serviceファイルを作成
  サービス内容を記述するファイルを作成します.場所は/etc/systemd/systemに置いておきます.
  例として,シリアル通信でデータ受信するpythonスクリプトを登録します.
  $ sudo nano test.service
[Unit]
Description=SerialDataReciever
After=syslog.target
[Service]
Type=simple
WorkingDirectory=/home/pi/public_html/data
ExecStart=/usr/bin/python /home/pi/python/serialrcv.py
TimeoutStopSec=5
StandardOutput=null
[Install]
WantedBy = multi-user.target
 (b)サービスの開始
  $ sudo systemctl start test

 (c)サービスの停止
  $ sudo systemctl stop test

 (d)サービスの自動起動への登録
  $ sudo systemctl enable test

 (e)サービスの自動起動解除
  $ sudo systemctl disable test
  1. 2017/09/24(日) 21:50:05|
  2. Raspberry Pi
  3. | トラックバック:0
  4. | コメント:0

Raspberrpy PiのWebサーバ(Apache)化

Raspberry PiをWebサーバとして使用するため,Apacheをインストールする手順を記載します.
Apache公式のHow-To / チュートリアルも参考にしてください.
ここでは以下を行います.
・Apache2の導入
・Webサーバのポート番号の変更
・cgiの設定

①ダウンロードとインストール
 $ sudo apt-get install apache2

②動作確認
 /var/www/html/test.htmlに以下を記載


test

This page is test page.

  http://localhost/html/test.htmlにアクセスして動作確認

③ユーザーディレクトリの有効化
 デフォルトだと/var以下にhtmlファイルなどを置く必要があるので,
 ユーザーのディレクトリ(/home/pi/public_html)以下に置けるようにする.
 $ cd /home/pi
 $ sudo a2enmod userdir
 $ mkdir ~/public_html
 $ sudo cp /var/www/html/test.html ~/public_html
 $ sudo service apache2 restart
 で
 http://localhost/~pi/test.htmlにアクセスして動作確認
 
④ポートの変更
 $ sudo nano /etc/apache2/sites-available/default
 $ sudo nano /etc/apache2/ports.conf
 で双方ポートを任意の値に変更する.
 
⑤cgiの設定
 (a)cgiを有効にする
 $ sudo ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load
 (b)cgiの設定を変更する
 $ sudo nano /etc/apache2/sites-enabled/000-default
 でInclude conf-available/serve-cgi-bin.confのコメントを外し,以下を変更する
(変更前)
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

(変更後)
ScriptAlias /cgi-bin/ /home/pi/public_html/cgi-bin

~~~
AddHandler mod_python .py
AddHandler cgi-script .cgi .py .pl

 /etc/apache2/mods-enabled/mime.conf 219行目
 で,AddHandlerのコメントを外し,.pyを追加
 #AddHandler cgi-script .cgi
 →AddHandler cgi-script .cgi .py
 (d)test.pyでテスト
 /home/pi/public_html/cgi-bin/test.pyに以下を記述
#!/usr/bin/python --
f=open('/home/pi/test.csv','a')
print "Content-type: text/html"
print
print ""
print ""
print "test"
print " "
print " This is a test page with python script."
print " "
 http://localhost/~pi/cgi-bin/test.pyにアクセス

 (e)アクセス権設定
 apacheのユーザ(www-data)は通常のユーザとは異なるため,直接ファイル操作等ができない.
 そのため操作するデータが格納されたディレクトリの所有者を以下のように変更しておく.
 $ sudo chown www-data:www-data /home/pi/public_html
 データの入ってるフォルダの所有権をwww-data(apacheの起動ユーザ)に移す
  1. 2017/09/24(日) 21:35:07|
  2. Raspberry Pi
  3. | トラックバック:0
  4. | コメント:0
次のページ