単純に、センサモジュールから取得出来る値から℃を抽出して共用ファイルに保存するだけのデーモン。
本来、必用なプログラムが各々センサ値を読めば良いのですが、読み出しに時間が少しかかるため、温度取得専用のプログラムから共用ファイルに書き出しおくとスムーズなので今回はこのようにイチイチ書き出すようにしました。
<write_tempd.py>
#!/usr/bin/python
#coding:utf-8import file_mng as file
import time#温度計のセーブファイル
file_temp = '/sys/bus/w1/devices/28-000007248aac/w1_slave'
#センサモジュールの値から℃を抽出する
def load_temp():
data = file.load( file_temp )
try:
return str( float( data.split('t=')[1] ) / 1000 )
except:
return '-------'
#/dev/shm/tempに温度を保存する
def make_temp():
temp = load_temp()
file.save_temp( temp )
if __name__=='__main__':
while True:
make_temp()
time.sleep(0.5)
<全プログラム内部構造一覧>