前提
Pythonとテキサツインスツルメンツ社さんのINA260を用いて電流、電圧、電力を測定したいと考えています。
実現したいこと
指定した時間に測定を開始し、日毎にファイルを作るプログラミングを作成したいと考えています。
発生している問題・エラーメッセージ
File "/home/pi/sokutei.py", line 28 if REC_START_HOUR< == _now.hour < REC_END_HOUR: SyntaxError: invalid syntax
REC_START_HOUR と REC_END_HOUR はそれぞれ = で12、18としています。構文のエラーだと思うのですが、どのように改善すればよいかわかりません。12時から18時に測定を開始し、それ以外の時間には測定していないという旨のメッセージを出したいです。
該当のソースコード
Python
1import csv 2from datetime import datetime 3import signal 4import time 5import board 6import adafruit_ina260 7 8REC_START_HOUR = 12 9REC_END_HOUR = 18 10 11 12def task(arg1, arg2): 13 14 # 電流・電圧・電力の取得 15 cur = ina260.current 16 vol = ina260.voltage 17 po = ina260.power 18 19 # 日時の取得 20 _now = datetime.now() 21 today = _now.strftime("%Y-%m-%d") 22 nowtime = _now.strftime("%H:%M:%S") 23 file_end = _now.strftime("%Y%m%d") 24 25 print ('日付 %s 時刻 %s 電流 %.2f mA 電圧 %.2f V 電力 %.2f mW' % (today,nowtime,cur,vol,po)) 26 27 if REC_START_HOUR<= _now.hour < REC_END_HOUR: 28 with open('/home/pi/sokutei' % (file_end),'a') as f: 29 writer = csv.writer(f) 30 writer.writerow([today,nowtime,cur,vol,po]) 31 else: 32 print('記録時間外') 33 34i2c = board.I2C() 35ina260 = adafruit_ina260.INA260(i2c) 36 37signal.signal(signal.SIGALRM, task) 38signal.setitimer(signal.ITIMER_REAL, 0.1, 1) 39 40while True: 41 time.sleep(1)
試したこと
インターネットで私と似たようなことをしている方を探し、その方が、どのように設定をしていたかを調べたのですが、うまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
Pythonのバージョンは3.9.2です。また、使用するラズパイはzeroです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。