これまで、cloudflareのプロキシーは利用していたが、グローバルIpアドレスをルータのものをDNSに設定していたので、Ipアドレスが変更になった途端、外部からアクセスできなくなった。自分では、自動更新の設定なっていたつもりだったけど、よく調べたら、なってなかったようで、結局は、トンネルを作らないとだめだったよう。cloudflareとraspiの間で独自プロトコルでトンネルを作り、常時接続状態にする仕組みのよう。早速、AIに聞きながらraspiにツールをいれ、設定変更。これで、Ipアドレス変更を気にしなくてもよくなり、だいぶ管理は楽になる。
Myu
2026年2月27日金曜日
2026年2月26日木曜日
bottleのformで文字化け
bottleのformのPostで全角文字が文字化けしてしまい、原因がつかめず苦労しました。結局は、対症療法的ですが、以下のようにして解決。
def schedule_edit_post(): schedules = load_schedule()
new_schedules = []
for i, s in enumerate(schedules):
start = request.forms.get(f"start{i}")
end = request.forms.get(f"end{i}")
#title = request.forms.get(f"title{i}")
title = request.forms.get(f"title{i}").encode('latin1').decode('utf-8')
いったん、latin1だったものをutf-8にデコードするという、二段構えで解決。bottleのバージョンが古くなってきたから?
2026年2月22日日曜日
raspiでPCのタイマー起動2
複数の予約できるようにアップデートしてみた。
・複数にすることで、複雑度が増して解決が難しかった。そこで、タイマーにしても、タッチセンサーにしても、統一したflagを使うことにして、単純化したらうまくいった。flagがon->offになる場合は、pingでPCをチェックしoffならそのまま、onならoffにするためのHigh信号triggerとし、flagがoff->onになる場合は、pingによりPCチェックをして、onならそのまま、offならonにするためのHigh信号triggerとする。
・offにするためのHigh信号triggerは、長めの1秒にしてやる必要があった。
raspiでPCのタイマー起動
PCをraspiからタイマー起動、Offできるようにしてみた。
すでに、22番号Pinをタッチセンサで起動させるようにしていたので、それとの絡みで少し複雑になってしまった。raspiからWeb画面で日時を設定できるようにしてみた。複数セットできると便利かもしれない。
2026年2月8日日曜日
esp32温度センサ動作で苦労する
カメラも動作させているためか、FNK0060なるESP32 は、BMP280ライブラリの中の名称のダブりなどでうまくビルドできず、苦労した。google AIからかなりハードよりのコードを出してもらいなんとか解決。 また、I2Cは、2つが限度らしく、リレー動作がひとつあまってしまう。結局、DS18B20(苗床には土にさせるし、3個以上も追加できるのでこちらのほうがいい)、SSRも使用することに。
