スマホでQRバーコード作成

二次元バーコードを生成する qrencode はtermuxにもサポートされています。

    apt install libqrencode 

二次元バーコードを日常的に自作することができれば、平文では書きにくい場所への個人情報の記載などの用途に活用できます。さらにスマホで簡単に作成できるとなると、URLやアドレスの伝達にも便利だと思います。

 

#!/bin/bash
# 出力形式をANSIPNGか選択
json_data=\
`termux-dialog  radio -t "出力形式を選択してください" -v "ANSI,PNG"`
code=`echo ${json_data} | jq -r .code`
if [ ${code} -eq -2 ]; then exit; fi
ext=`echo ${json_data} | jq .index`

# 変換する文字列を入力します
json_data=`\
  termux-dialog text -m -t "QRコードに変換したい文字列を入力して下さい" -i "!!! input text !!!"`
code=`echo ${json_data} | jq -r .code`
if [ ${code} -eq -2 ]; then exit; fi
text=`echo ${json_data} | jq -r .text`
temp=`mktemp ./XXXX`
printf "%s\n" ${text} > ${temp}

case ${ext} in
 0) cat ${temp} | qrencode -t ANSI ; read pause;;
 1) cat ${temp} | qrencode -t png -s 5 -o ~/storage/pictures/QRCODE_`date +'%m%d%H%M'`.png;;
 *) termux-notification -t "QRコード作成ツール" --icon error ;;
esac

rm ${temp}

実行すると、テキスト入力を促すインプットボックスがポップアップします。

f:id:S_E_Hyphen:20201230144648j:plain


ここに例えばURLなどを書き込んでやれば、その文字列に対応する二次元バーコードが作成されます。機種依存性がありますが、日本語などの多バイト文字も使用可能です。また複数行にわたる場合も対応しています。

f:id:S_E_Hyphen:20201230144706j:plain



 

焼きおにぎり

長いこと敬遠してきたのですが、意を決して挑戦してみました。

f:id:S_E_Hyphen:20201226100922j:plain

熱いうちにタレを塗ると割れたり崩れたりすると聞いたことが有ったので、表面温度が30度を下回るまで待ちました。刷毛で返し醤油を塗り付けてからグリルします。予熱3分、加熱3分、余熱3分のコースです。見た目も美味しそうな焼きおにぎりが完成しました。少し手間ではありますが、十分お弁当のラインナップの一角を担ってくれる逸材となりました。

但し、使った後の刷毛は部屋干しでは乾燥しないようなので、天日干しすることにしました。

termux-notificationでエラー内容の確認

スマホにインストールした mariaDBhoge というデータベースの fuga というテーブルの idフィールドとitemフィールドに(1,"リンゴ")というレコードを追加しようと思っただけなのですが、上手くゆきません。そこで termux-notification でエラーの内容を確認してみました。termux-notification は Termux:API をインストールすると使用できるようになります。

 

#!/bin/bash
error=~/error.txt

mysql hoge << _SQL_ 2> ${error}
insert into fuga(id,item) value(1,"リンゴ");
_SQL_

if [ -s ${error} ]
then
 cat ${error}  |\
  termux-notification \
   -t "!!! 错误发生了 !!!" --icon error
fi
rm ${error}

if 文の内容は、もし~/error.txt がゼロバイトでなかったら、その内容を cat で termux-notification の標準入力に流し込みます。そして"!!! 错误发生了 !!!"というタイトルのもとステータスバーに表示するというものです。最後にエラー内容確認のために作成した~/error.txt というファイルはきちんと消去して後始末です。

 

f:id:S_E_Hyphen:20201220112551j:plain

なんと、「hoge というデータベースが存在しないよ」というエラーでした。

人参の常備菜

最近ニンジンを塩昆布で煮る常備菜を多用しているのですが、冷蔵庫の掃除も兼ねて改めて実施してみました。 

具材 備考
にんじん 135グラム  
こんにゃく 135グラム 約半枚
グリーンピース 30グラム 冷凍食品
塩昆布 15グラム  

 

以上の具材を約100CCの水(ヒタヒタの状態)で煮詰めます。要するに固形物300グラムに対して塩昆布5%の量ということになります。

f:id:S_E_Hyphen:20201219165531j:plain

 

概ね20分程度かかりますが切って煮るだけなので、とても簡単です。

f:id:S_E_Hyphen:20201219165628j:plain

 

データベースをスマホに移殖する

termux および mariaDB をインストールしたスマホで、サーバー内のデータベースの最新テーブルを、自動的に取得するためのスクリプトです。

スマホ(ローカル)のローカルIP:127.0.0.1

サーバー(リモート)のIPアドレス:nnn.nnn.nnn.nnn

データベース名:ddddd(dddddは vocabulary と keyword という2つのテーブルを持っています。)

ユーザー名:サーバーのユーザー名、DBのユーザー名ともに uuuu

 

1)まずデーモンの二重起動を防ぐために、もしmysqldが走っていれば kill します。そして、mysqld&でバックグラウンドでデーモンを起動しなおします。デーモン起動とmysqlの起動が近い場合、しばしばエラーが発生しました。sleep文を挟んだり、デーモン起動と同期をとったりした方が良いかもしれません。

 

2)次に、ssh でサーバーに接続しmysqldumpを実行します。id_rsa.server という秘密鍵ファイルを用いてログインしています。

 

3)スマホの一時ファイルディレクトリ .../tmp へ、 scp を使用してダンプファイル *.sql をコピーします。

そして、mariaDB に対して *.sql を標準入力することによりテーブルを更新します。もしエラーが有ればエラーファイルに書き出されます。

 

4)エラーファイルが存在すれば termux:API の termux-notification に処理が移り、警告音とポップアップが表示されます。

 

5)最後に要らなくなったファイルを消去して、デーモンを kill して終了します。

#!/bin/bash
local_host="127.0.0.1"
remote_host="nnn.nnn.nnn.nnn"
DB="ddddd"
USER="uuuu"
error="/data/data/com.termux/files/home/error.txt"

# デーモンの初期化
kill `pgrep mysqld`
mysqld&

# データベース本体のダンプ
ssh ${remote_host} -l ${USER} -i ~/.ssh/id_rsa.server \
 "mysqldump ${DB} vocabulary > /home/user/work/DBback/vocabulary.sql;\
mysqldump ${DB} keyword > /home/user/work/DBback/keyword.sql"

# データベースのコピー
tmpdir="/data/data/com.termux/files/usr/tmp"
scp -i ~/.ssh/id_rsa.server \
 ${USER}@${remote_host}:/home/user/work/DBback/keyword.sql ${tmpdir}
scp -i ~/.ssh/id_rsa.server \
  ${USER}@${remote_host}:/home/user/work/DBback/vocabulary.sql ${tmpdir}

mysql -h ${local_host} -u ${USER} ${DB} < ${tmpdir}/keyword.sql 2> ${error}
mysql -h ${local_host} -u ${USER} ${DB} < ${tmpdir}/vocabulary.sql 2> ${error}

# エラー処理 if [ -s ${error} ] then cat ${error} |\ termux-notification \ -t "cn_copy.sh" --icon error exit fi # 終了処理 rm ${error}
rm ${tmpdir}/keyword.sql rm ${tmpdir}/vocabulary.sql kill `pgrep mysqld`

 

f:id:S_E_Hyphen:20201213160309j:plain

 

スマホでデータベースを持ち運べるようになりました。

 

めっちゃ赤い

 2020年11月上旬以降の大阪府下における新型コロナ患者の増加に伴い、同年12月3日に大阪府知事より「医療非常事態宣言」が発出されました。

 大阪府独自の「大阪モデル」では

(1)市中の感染拡大状況

(2)新規陽性患者の拡大状況

(3)病床のひっ迫状況

の3つの観点から判断を行っています。例えば2020年5月7日に公表された休業要請緩和基準では(1)感染経路不明者1日10人未満、(2)PCR検査の陽性率が7%未満、(3)”重症病床”使用率が60%未満、になれば要請を解除して「緑信号」を灯すとされました。

 

 この大阪モデルに従い、5月7日当初黄色にライトアップされていた通天閣は5月14日に緑信号が点灯したのですが、その後の感染者数漸増により7月12日以降再び黄信号に移行し、その状態が4ヶ月以上継続していたところです。そして重症病床使用率が70%を超える見込みが確実となったことから、この度の非常事態宣言が発出されることとなりました。初めての「赤い通天閣」の出現に、大阪の街は薄気味悪い違和感が漂っています。

f:id:S_E_Hyphen:20201205165926j:plain

 

なお、2020年12月4日時点の(1)感染経路不明者数は216.7人、(2)陽性率は9.3%となっています(いずれも7日間平均)。