回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在开发一个I2C传感器系统,这些传感器连接在一起,并与树莓pi4B通信。使用下面的代码,我可以将测量结果保存在excel文件中。
我想将它们存储在我在笔记本电脑上本地创建的sql数据库中的一个表中。我应该在代码中更改什么</p>
<pre><code>import time
import datetime
import bme680
from as7262 import AS7262
from datetime import date
from openpyxl import load_workbook
as7262 = AS7262()
as7262.set_gain(1) # 1, 3.7, 16, 64
as7262.set_integration_time(10) #1 to 255 x 2.8ms exposure
#mode 0 - bank 1 only continuous, mode 1 - bank 2 only continuous, mode 2 - both banks continuous, mode 3 - both banks single read
as7262.set_measurement_mode(2) #2 all colours continuous
as7262.set_illumination_led_current(12.5) #12.5mA 25mA 50mA 100mA
as7262.set_illumination_led(0)
sensor_bme680 = bme680.BME680()
# Load the workbook and select the sheet
wb = load_workbook('/mypath/data.xlsx')
sheet = wb['data_log']
try:
while True:
values = as7262.get_calibrated_values() #get values from scan
spec = [float(i) for i in list(values)] #convert results from string to float
temperature = round(sensor_bme680.data.temperature, 2)
pressure = round (sensor_bme680.data.pressure, 2)
humidity = round(sensor_bme680.data.humidity, 2)
gas_resistance = round(sensor_bme680.data.gas_resistance, 2)
red_light = round(spec[0], 4)
orange_light = round(spec[1], 4)
yellow_light = round(spec[2], 4)
green_light = round(spec[3], 4)
blue_light = round(spec[4], 4)
violet_light = round(spec[5], 4)
today = date.today()
now = datetime.datetime.now().time()
# Inform the user!
print('Adding this data to the spreadsheet:')
print(today)
print(now)
print('{}*C {}hPa {}% {}res microM microM microM microM microM microM'.format(temperature, pressure, humidity, gas_resistance, red_light,orange_light,yellow_light,green_light,blue_light,violet_light))
# Append data to the spreadsheet
row = (today, now, temperature, pressure, humidity, gas_resistance, red_light,orange_light,yellow_light,green_light,blue_light,violet_light)
sheet.append(row)
#Save the workbook
wb.save('/home/pi/Documents/sensors/data.xlsx')
# Wait for 10 minutes seconds (600 seconds)
time.sleep(10)
finally:
# Make sure the workbook is saved!
wb.save('/mypath/data.xlsx')
print('Goodbye!')
</code></pre>