いや、、苦労したけどなんとか。。。。。
でも、、、
・humidデータは0.0のままなのでこれは故障かも?(デバイスの写真)
・RaspberryPi側も+3.3Vを接続するときたまにRinuxが立ち上がらない?(回路の写真)
ので自分の半田不良か?そもそも安い製品のリスク?か。。。
まあ、たまたまできたときなので、一応メモを残しておきましょう。
<coding>
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ドライバをimport
import mysql.connector
import datetime
import wiringpi
import os
import struct
from time import sleep
wiringpi.wiringPiSetup() #setup wiringpi
i2c = wiringpi.I2C() #get I2C
dev = i2c.setup(0x40) #setup I2C device
i2c.write(dev,0x02) #HDC1000 CONFIGURATION POINTER
i2c.write(dev,0x10) #send 1byte
i2c.write(dev,0x00) #send 1byte
sleep((6350.0 + 6500.0 + 500.0)/1000000.0)
dataAry = struct.unpack(“BBBB”,os.read(dev,4))
os.close(dev)
temp3 = (dataAry[0] << 8) | (dataAry[1])
hudi3 = (dataAry[2] << 8) | (dataAry[3])
temp3 = ((temp3 / 65535.0) * 165 – 40)
hudi3 = ((hudi3 / 65535.0 ) * 100)
print “Humidity %.2f %%” % hudi3
print “Temperature %.2f C” % temp3
# ドライバをimport
# import mysql.connector
if __name__ == ‘__main__’:
# データベースに接続
connect = mysql.connector.connect(user=’*****i’, password=’******6′, host=’****.****.****.****’, database=’2016*********or’, charset=’utf8′)
cursor = connect.cursor()
today = datetime.datetime.today()
temp_fin=int(temp3)
hudi_fin=int(hudi3)
print “————“
print today.strftime(“%Y-%m-%d %H:%M:%S”)
print “Final_Humidity %.2f %%” % hudi_fin
print “Final_Temperature %.2f C” % temp_fin
print “————“
###############
cmd = ‘insert into t_sensor (time_stamp,temp,humid,water_need,memo) values (“{}”,”{}”,”{}”,”{}”,”{}”)’.format(today.strftime(“%Y-%m-%d %H:%M:%S”),temp_fin, hudi_fin,”Real_Data”,”Real_Data”)
print cmd
print “————“
cursor.execute(cmd)
cursor.execute(‘DELETE FROM t_sensor ORDER BY Num ASC LIMIT 1’)
# autocommitではないので、明示的にコミットする
connect.commit()
print “success!_20170129”
# データベースから切断
cursor.close()
connect.close()