波形更新を全体リロードではなく、グラフのみ再描画できないかと思っています。
で、まずはデータ取り込み無しでどうやったらできるか調べてみました。更新開始を押すと正弦波波形を描画し始めます。
“Chart.jsによる波形描画テスト” の続きを読む趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
波形更新を全体リロードではなく、グラフのみ再描画できないかと思っています。
で、まずはデータ取り込み無しでどうやったらできるか調べてみました。更新開始を押すと正弦波波形を描画し始めます。
“Chart.jsによる波形描画テスト” の続きを読む昨日のWebsocketのテストの続きです。こうなったら WebサーバもPythonで書ききってしまいたいものです。しかし非同期動作が必要です。で、asyncio とセットで調べていたら、
https://docs.aiohttp.org/en/stable/
が見つかったので、早速試してみました。CPythonでの拡張のようなので、
“aiohttpを使ってWebsocket通信してみる” の続きを読むぐぐっていたら、pipでインストールできるwebsocketsモジュールの説明
https://websockets.readthedocs.io/en/stable/intro.html
が見つかりましたので、これを試してみました。
Basic example をすっ飛ばして、Syncronization example を試しています。
WebSocketのエコーテストを行うページを見つけたので、メモしておきます。
URL: https://www.websocket.org/echo.html
ブラウザフォームの中でテストする方法と、その下にローカルにHTMLを持ってきてテストするためのHTMLのコードがあります。
“WebSocketのEchoテスト” の続きを読むブラウザの拡張機能は使わない主義だったのですが、このTwitter投稿を見て方針転換しました。
いろんなプログラミング言語のことを調べるにあたって、最近は検索汚染が酷くて、調べたいことを検索しても中身のない/中身の薄いサイトばかりが出てくるようになっていました。なので、Python公式ページを検索するにも、site:python.org とか追加で入れないと検索に出てこない始末。広告であればせいぜい4つくらいまでしか出てこないのに、こいつら延々と出てくるんです。
なので、ブラウザの機能拡張は使わない主義を転換して、この機能拡張だけは入れることにしました。ブロックリストは正規表現で記述することにして、上記のツイートを正規表現化して以下に設定しました。(注:適宜更新します。自分のメモなので。)
/^https?:\/\/techacademy\.jp\//
/^https?:\/\/(www\.)?udemy\.com\//
/^https?:\/\/udemy\.benesse\.co\.jp\//
/^https?:\/\/dev\.classmethod\.jp\//
/^https?:\/\/www\.sejuku\.net\//
技術調べごとが楽になるといいなぁ。
こちらの記事でコメントを頂いた、huskyさん向けの記事になります。
この記事を作成した当時は Armbian Ubunut + OpenMediaVault は動いていたのですが、長期安定性は正直疑問があります。NASとして長期安定動作を狙う場合には、OpenMediaVaultを使うよりも素のSambaを使うほうが安定しています。
自宅にはNanoPi Neo2+NASキットが3台あるのですが、1台は素のSambaで数年間の長期運用ができています(しかも、18.04LTSから20.04LTSへのアップグレードも乗り越えました)。それより後でインストールしたOpenMediaVaultは持って1年という印象です。そして比較的最近(半年以内だったと思います)OpenMediaVaultを再インストールしたところhuskyさんの書かれている現象(インストールした後再起動すると起動してこない)に遭遇しましたので、このときは素のSambaをインストールしました。
ここでは、残っているメモから簡単(易しいという意味ではなく肝しか書いてないということです)なSambaの設定方法を紹介します。Armbian UbuntuをNanoPi Neo2+NASキットにインストールして、armbian-configからシステムをNASキット上のHDDに移動するのは完了しているものとします。(なお、システムをHDDに移動した後も、確か最初のブートローダ自体はmicroSDから読みますので、microSDは抜いてはいけません)
なお、システムをNASキットのHDDに移動しないままSambaで運用すると、先にMicroSDが死んたことがありますので、システムはHDDに移動しておいたほうがいいと思います。
電源周波数の変動を測ってみたという記事のコメント欄で
周波数観測サイトのWEB側のプログラムの解説記事を作っていただけないでしょうか??
という要望をいただきましたので掲載します。人に見せるために書いたコードではないのでいきあたりばったりなコードで汚いです。なお、Webプログラミングについては全くの素人です。なので、ツッコミどころ多数だと思いますが、ご容赦をw。
ソースをみるとわかるとおり、ごく簡単なロジックです。今回は折れ線グラフですが、chart.jsでは棒グラフやその他のグラフなどを簡単に出力することができますので、Raspberry Piなどを使って得たセンサーデータなどを手間をかけずにWebブラウザで見れるようにする叩き台にはなると思います。
(手間かけたくないんだったら、Ambientとかに投げちゃえばいいじゃん、という話はありますが)
世の中にはElixirというプログラミング言語があるらしい。そのうち触ってみたいとずーっと思っているのだけど、触れてない。
だから、参考になりそうな情報源だけメモしとく。
Elixir Schoolというのがあって、日本語訳がされている。
URLは https://elixirschool.com/ja/
Phenixというのは、ElixirのWebフレームワークということらしい。
その公式ドキュメントの日本語訳。
URLは https://zenn.dev/koga1020/books/phoenix-guide-ja-1-5
Nervesというのは組込みにElixirを使うためのフレームワークということらしい。
Elixir Schoolの中にNervesのページがある。
URLは https://elixirschool.com/ja/lessons/specifics/nerves/
公式ページはここなのだろうか?
URL https://www.nerves-project.org/platform
GitHubはここのようだ
URL https://github.com/nerves-project
Raspberry PiでLチカする記事
URL https://qiita.com/takasehideki/items/94820516ec95b85bae32
tar.gz で圧縮した大量のファイルに zip でパスワードをかけます。パスワードは同じものを使う前提ですので、コマンドラインで指定します。(history をクリアするなど要注意)
for i in `ls *.tar.gz`; do echo $i ; zip -e -P password ${i%.tar.gz}.zip $i ; done
これでカレントディレクトリにあるすべての *.tar.gz ファイルに同じファイル名で暗号化付きzipファイルを生成します。
内容は以下です。シェル変数の後方マッチ文字列削除をしてzipファイル名を生成しています。
for i in `ls *.tar.gz`
do
echo $i
zip -e -P password ${i%.tar.gz}.zip $i
done
似た作業として、すべてのディレクトリをそれぞれディレクトリ名でzip圧縮します。なおスペース(空白文字)が入ってるディレクトリ名があるとうまく行かない気がします。
for i in `ls -d *` ; do echo $i ; zip -r ${i}.zip $i ; done