raspberry pi
のセンスハットを使用して、部屋の温度を監視し、データをplot.lyにストリーミングしようとしました。私はそれがすべて正常に動作している。次のステップでは、Picamera
をプロジェクトに追加して、一時的な温度になったらカメラの電源を入れ、5分ごとに画像を記録し始め、plot.lyにデータをストリーミングします。私は別々にスクリプトを作成し、bashスクリプトからバックグラウンドまで実行しましたが、問題はデータが混在して不正な温度を与えてしまうことです。私はサブプロセスを見ていましたが、実行中のスクリプトの1つを停止します。どのように私は同時に両方を実行することができますし、私はデータをライブストリーミングし、条件が満たされた場合、カメラは写真を撮るだろうので、お互いに影響しません?ここでラズベリーパイセンスハット
は、データ・ストリームのための私のコードです:
##### Main Program #####
sense = SenseHat()
sense.clear()
####Graph####
stream_id = 'nync7etjej'
stream = dict(token=stream_id,maxpoints=60)
trace1 = go.Scatter(
x =[],
y=[],
mode='lines+markers',
stream=stream)
data= go.Data([trace1])
layout =go.Layout(title='Room Temperature')
fig = go.Figure(data=data,layout=layout)
py.plot(fig,filename="Server Room Temperature_01")
s = py.Stream(stream_id)
s.open()
time.sleep(5)
while True:
temp_h= sense.get_temperature()
temp_h=round(temp_h,1)
x=datetime.now()
y=temp_h
s.write(dict(x=x,y=y))
time.sleep(300)
s.close()
tls.embed('Streaming Temp','12')
Picameraスクリプト:
##### Main Program #####
sense = SenseHat()
sense.clear()
with picamera.PiCamera() as camera:
while True:
temp_h= sense.get_temperature()
temp_h=round(temp_h,1)
if temp_h >45.2:
camera.start_preview()
time.sleep(2)
for filename in camera.capture_continuous('/var/www/image/img{counter}.jpg'):
camera.stop_preview()
time.sleep(5)
ありがとう@MarkSetchellは仕事をしているようだ。最終的に問題となるのは、「Hot」ファイルが削除されるとカメラを停止させることができないということです。私はos.path.exists( 'Hot')then camera.closeを持っていませんが、実際にループ内に止まっていると思うので動作しません。 – Jason