温度に対してシリアルインタフェースをポーリングするサーモスタットがあります。このインターフェイスは一度に30秒以上頻繁にポーリングできません。互いに独立して実行されているtempにアクセスする必要があるいくつかのPythonスクリプトがあります(例:ピラミッド、セロリタスク)。これらのスクリプトのどれもセンサーの過負荷を避けるほど賢くありません。したがって、実装オプションは次のようになります。
システムスクリプトでポーリングでき、必要な最適な温度を提供できますが、背後で実際のセンサーを頻繁にポーリングしないローカルネットワーク静的サービスがあります(これは少し過剰であると思われますが、望ましい機能があります)。
メモリ内のデータベースに温度を保存し、スクリプトが30秒ごとに保存された温度を更新するようにします。 (これは整数を得るためのヘビー級オプションでもあります。)
すべてのロジックを処理して終了するワンタイムスクリプトを作成します(最後のセンサーポーリングが発生したときに発生した状況を保存するには外部ファイルが必要です。#2よりもあまり良くなく、不要な書き込みによってrpi SDカードが消耗する可能性があります)
#1に代わる組み込みの軽量Linux機能はありますか(例:cron付きdmesg)。
答え1
/var/runで共有するいくつかの値を含むファイルをいつでも作成できます。この戦略は複数のサービス/デーモンで使用されます。起動時に/var/runにサブディレクトリを作成できます。ルート以外のユーザーにサブディレクトリを表示する必要がある場合は、/var/run/temporary を作成することもできます。
メモリに保存する代わりにを使用する方法がありますが、重複してredis
います。
別のオプションは共有メモリを使用してCプログラムを開発することですが、この要件は単純すぎるようです。