Мне нужно создать базу данных в следующем формате из скрипта Python, я уже создаю данные, но в неправильном формате, поэтому мне нужно изменить код и sql для работы с моей локальной веб-страницей хоста
Данные взяты из Raspberry PI и настройки 1-проводного датчика температуры
В настоящее время у меня 3 датчика, каждый с уникальным серийным номером, серийные номера показаны под базой данных, 3 датчика - POND,ФИЛЬТР, AMBIENT
var myData = "date Pond Filter Ambient\n\
2019-04-01 01:29:04 13.400 22.700 32.200\n\
2019-04-01 02:29:04 18.000 29.900 37.700\n\
2019-04-01 03:29:04 13.300 29.100 39.400\n\
2019-04-01 04:29:04 15.700 28.800 38.000\n\
2019-04-01 05:29:04 14.200 28.700 32.400\n\
2019-04-01 06:29:04 18.800 27.000 37.000\n\
2019-04-01 07:29:04 17.900 26.700 32.300\n\
2019-04-01 08:29:04 11.800 26.800 38.900\n\
2019-04-01 09:29:04 19.300 26.700 38.800\n\
2019-04-01 10:29:04 11.200 20.100 38.700\n\
2019-04-01 11:29:04 18.700 21.100 30.300\n\
2019-04-01 12:29:04 11.800 21.500 35.300\n\
2019-04-01 13:29:04 13.000 24.300 36.600\n\
2019-04-01 14:29:04 16.900 27.100 36.600\n\
2019-04-01 15:29:04 11.700 24.600 38.000\n";
Каждый датчик имеет уникальный идентификатор, и мне нужно дать ему имя, чтобы его было легче понять
28-0417c45ae5ff = Pond
28-0417c459f5ff = Filter
28-0517c48e7cff = Ambient
Текущий скрипт Python отправляет данные вбаза данных sql, но формат неправильный для моей новой веб-страницы, поэтому мне нужно изменить Python и sql для правильной регистрации данных
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import fnmatch
import time
import MySQLdb as mdb
import logging
logging.basicConfig(filename='/home/pi/Sensor_error.log',
level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(name)s %(message)s')
logger=logging.getLogger(__name__)
# Load the modules (not required if they are loaded at boot)
# os.system('modprobe w1-gpio')
# os.system('modprobe w1-therm')
# Function for storing readings into MySQL
def insertDB(IDs, temperature):
try:
con = mdb.connect('localhost',
'temp_insert',
'Insert',
'measurements');
cursor = con.curssql = "INSERT INTO temperature(temperature, sensor_id)\
VALUES ('%s', '%s')" % \
( temperature[i], IDs[i])
cursor.execute(sql)
sql = []
con.commit()
con.close()
except mdb.Error, e:
logger.error(e)
# Get readings from sensors and store them in MySQL
temperature = []
IDs = []
for filename in os.listdir("/sys/bus/w1/devices"):
if fnmatch.fnmatch(filename, '28-*'):
with open("/sys/bus/w1/devices/" + filename + "/w1_slave") as f_obj:
lines = f_obj.readlines()
if lines[0].find("YES"):
pok = lines[1].find('=')
temperature.append(float(lines[1][pok+1:pok+6])/1000)
IDs.append(filename)
else:
logger.error("Error reading sensor with ID: %s" % (filename))
if (len(temperature)>0):
insertDB(IDs, temperature)
Мне действительно нужен серийный номер датчика для перевода на егоЕсли возможно, назовите любую помощь, мне потребовались недели, чтобы добраться до этой стадии