前提・実現したいこと
python3でwebhooksを経由してグーグルスプレッドシートに温度、湿度を記録したいです。
コードを実行した際、エラーもでずグーグルスプレッドシートにも書き込めず終了してしまいます。
使用機器はRaspberry Pi3 model B 温度センサーはSHT31-DISを使用しています。
発生している問題・エラーメッセージ
コードをターミナルで実行した際エラーもでず終了してしまいます。
該当のソースコード
python3
1import json 2import requests 3import smbus 4import time 5 6def post(t,h): 7 8 headers = { 9 'Content-Type': 'application/json', 10 } 11 12 payload = '{"value1":"t,","value2":"h"}' 13 14 response = requests.post('https://maker.ifttt.com/trigger/(イベント名)/with/key/(KEY)', data=json.dumps(payload), headers=headers) 15 16i2c = smbus.SMBus(1) 17addr=0x44 18 19def sign16(x): 20 return ( -(x & 0b1000000000000000) | 21 (x & 0b0111111111111111) ) 22 23i2c.write_byte_data(addr,0x23,0x34) 24time.sleep(0.5) 25 26def shtsenser(): 27 while 1: 28 i2c.write_byte_data(addr,0xe0,0x0) 29 data = i2c.read_i2c_block_data(addr,0x0,6) 30 rawT = ((data[0]) << 8) | (data[1]) 31 rawR = ((data[3]) << 8) | (data[4]) 32 # print (hex(data[0]));print(hex(data[1]));print(hex(rawT));print(bin(rawT)) 33 raw_sT = sign16(int(hex(rawT),16)) 34 temp = -45 + raw_sT * 175 / 65535 35 return (str(temp) +"C") 36 print (str(temp) +"c") 37 # print (hex(data[3]));print(hex(data[4]));print(hex(rawR));print(bin(rawR)) 38 RH = 100 * rawR / 65535 39 return (str(RH) +"%") 40 time.sleep(1) 41 print ("---") 42 43 if __name__ == '__main__': 44 t, h = shtsenser 45 post(t,h) 46
試したこと
補足情報(FW/ツールのバージョンなど)
あなたの回答
tips
プレビュー