3月ぐらいから、小さめの衣装ケースに発泡スチロールを入れ、5Vヒーターで温度調整しながら、試してみようかと思い準備中。念のため、ヒーターには70度ぐらいの温度ヒューズを直列に入れるといいらしい。コードはこれから考える予定。ハードは、センサ部分の残してほぼできてきた。
Myu
2026年2月7日土曜日
苗床温度調整をesp32で
2026年2月3日火曜日
(備忘録)sqliteでのデータのコピー
GUIのsqlite3ブラウザでデータコピーする方法を忘れないようにメモしておこうと思います。
・B Browser for SQLiteを使う場合
1) コピー先を開く
2) コピー元を Attach(別名を付ける)
「データベースに接続」(「開く」ではないので注意!)で →ソースの データベースを追加
Alias(別名)に src と入力
※ この段階で「src」という別DBとして認識される
3) SQL 実行(INSERT のみ)
「SQL実行」タブで以下を実行
INSERT INTO shishutunyu1 (date, sishutu, shunyu, zandaka, himoku, biko)
SELECT date, sishutu, shunyu, zandaka, himoku, biko
FROM src.shishutunyu1
WHERE date BETWEEN '2025-01-01' AND '2026-02-03';
4)変更を書き込み
2026年2月1日日曜日
Qtによる家計簿アプリ公開
こちらにあります。(マニュアル・ヘルプ等はまだつくっていませんが。)
1 銀行からのCSVインポート機能(極力汎用性もたせて、現段階では3~4つぐらいのところには対応させました) 2 スマホで入力したデータの転記機能
など追加しました。
2のためには、 raspiのbottleとandroid studioが必要です。参考までにコードは以下のとおり。
bottle
android
2026年1月30日金曜日
android自作アプリがWIFIで内部サーバに接続できない問題
外部からは、モバイル回線だと接続できるけれど、家でWIFIだと内部サーバに接続できないという問題があり、いろいろ解決まで時間がかかった。ちなみに、Chromeなどでは問題なく接続できるので、自作アプリに問題あるのは予想できた。
ChatGPTでも解決できず、googleAIに質問したところ、解決。android:networkSecurityConfig="@xml/network_security_config"が厳格すぎたせいだった。自作アプリには、かなりセキュリティ対策を厳密にしているらしい。もともと、androidはgoogle製なので、的確な回答ができたのだと思う。
WIFIかどうかをアプリ内で判別し、URLを切り替えたり、ポート制限もしているので、合わせて、network_security_configでLocalIpの設定を入れたらOkだった。
2026年1月27日火曜日
スマホから支払記録のセキュリティ改善
買い物などしたとき、少し時間あるときはスマホで支出内容をraspiにネット経由で記録して、あとでPCで自作家計簿を開くと確認ボタンですぐ反映できるようにしている。転記したら一時置き場所のraspiのデータは削除します。これまでは、一時的データなのでとくに認証とかしてなかったのですが。少し工夫してみました。
C#版とQt版としばらく併用していて、先々Qt版に切り替える予定ですが、いずれもデータ取り込みについては、同じraspiサーバ(bottle)を使っているので、大幅に作り変えたくないと考えました。家計簿ソフトはさわらず、bottleのみ改善しました。
いったん外部から接続できなくして、認証ページをつくり、指定した時間、認証ページが使っているアドレスからのアクセスのみ受け付けるような仕組みを組み込みました。これによって、一定時間のみスマホからデータ入力ができるようになりました。入力が終わって、指定時間がすぎれば、自動的にまた接続できなくなるので、それほど手間なくできそうです。
2026年1月26日月曜日
raspiにbind9
LAN内のラズパイ、ルータ、プリンタ、アクセスポイントなど、ホスト名でアクセスできるように 内部DNSにしてみた。以前行ったbind9の設定の仕方を思い出しながら、うまくいかなかったところは、chatGPTの助けも借りながら、なんとか完了。
・ルータは静的ルーティング設定で、自分のドメインのものはすべて、ルータに行くように設定。LAN側サーバアドレスをラズパイにして、ラズパイにbind9を入れます。
・ufwで、tcp,udpでローカル内からの53番ポートのアクセスを許可します。
2026年1月25日日曜日
raspiでcloudflareのリバースプロキシを使うためにufwいれてみた
curl https://ifconfig.meで、グローバルIp確認、それを次にいれる
sudo ufw allow from <自分のIP> to any port 443 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcpで、LAN限定にしたいなら
sudo ufw delete allow sshで、最初の設定削除
cloudflareのリバースプロキシを使うのが目的なので、そちらにのみ許可する設定です
# IPv4
curl https://www.cloudflare.com/ips-v4
# IPv6
curl https://www.cloudflare.com/ips-v6 でIp確認
これをみて
sudo ufw allow from 173.245.48.0/20 to any port 443 proto tcpを続ける
sudo ufw allow from 2400:cb00::/32 to any port 443 proto tcpも同様
ここまでの確認は sudo ufw status numbered この時表示なる番号をもとに、削除もできる
注意:Cloudflare IPは変わることがある→ cron スクリプトで自動更新
cloudflare側は 「SSL/TLS」メニュー> Origin Certificate を入れている場合 → Full (strict)
・「Edge Certificates」タブ>Always Use HTTPS:オンにすると自動で HTTPS にリダイレクト
・ Cloudflare → SSL/TLS → Origin Server>「Create Certificate」で Origin Certificate を作成>サーバに設置、この証明書があれば Let’s Encrypt は不要になる
sudo a2ensite default-ssl
sudo systemctl reload apache2
sudo mkdir -p /etc/ssl/cloudflare
sudo chmod 700 /etc/ssl/cloudflare
origin_cert.pemとorigin_key.pemとして保存
sudo chmod 600 /etc/ssl/cloudflare/*
sudo nano /etc/apache2/sites-available/default-ssl.conf
SSLEngine on
SSLCertificateFile /etc/ssl/cloudflare/origin_cert.pem
SSLCertificateKeyFile /etc/ssl/cloudflare/origin_key.pem
# 推奨の TLS 設定
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!aNULL:!MD5


