2015-12-30 52 views
0

我正在研究Raspberry pi并为我们的温室创建一个网站。我使用温度传感器来读取我们主温室不同位置的温度,并创建了几个网页,显示每隔1分钟显示这些温度的仪表。即时创建配置文件

当我向温室添加一个新的传感器时,我将同样的东西添加到数据库中。我正在使用GroceryCRUD,并使用默认值作为量表,但每个温度传感器都有一个唯一值和一个在pi上创建的唯一文件夹。

我正在使用Python脚本来读取数据并将其插入到mysql数据库中,然后Python脚本选择最后一个条目并将其显示到所有规格的php文件中。仪表页面根据传感器表中的内容创建仪表计数。这对于一些需要更好编码的东西来说都很有用。

该数据库有另一个表称为继电器,这是关系到传感器,所以我可以得到什么传感器到什么传感器。

我正在处理的下一件事是一个Python脚本(或者它可以是任何其他可以工作的语言),它读取这些传感器并根据读数打开和关闭连接到pi的继电器。

有没有办法根据传感器和继电器表中的内容即时创建配置文件?

我希望能够让配置文件中包含传感器代码和GPIO引脚号,但是如果我在传感器表中添加或删除传感器,它会在配置文件中添加或删除该信息。

下面是一个例子....

temp_sensor1 = '/sys/bus/w1/devices/28-000007299ce9/w1_slave' 
temp_sensor2 = '/sys/bus/w1/devices/28-0000072963c5/w1_slave' 
temp_sensor3 = '/sys/bus/w1/devices/28-000007299cg5/w1_slave' 

当我添加新的传感器,我们的温室,我需要把它挂到PI并获得与28-00000开始新的代码,并进入它到数据库中,以及需要什么中继器以及它们连接到的GPIO引脚并将其放入数据库。然后进入python脚本并添加新的temp_sensor和路径或删除一个。

我试图用它来创建上面的temp_sensor变量。

x=1 
tempsensor = 'temp_sensor' 

try: 
    cursor.execute(sql) 
    rows = cursor.fetchone() 

    for row in rows: 
    sensorcode = row 
    tempsensor2 = str(tempsensor) + str(x) 
    test = " = '/sys/bus/w1/devices/%s/w1_slave'" % sensorcode 
    test2 = str(tempsensor2) + str(test) 
    use(test2) 

    x = x + 1 

except: 
    print "Error: unable to fecth data" 

# disconnect from server 
    db.close() 

当我运行该脚本,我得到正确的值打印出来,如果我放在最后一个打印命令来查看test2的,但我需要是在脚本中的变量,现在还不是。

我想要一个脚本读取传感器表,然后用正确的temp_sensor变量创建/写入一个新的配置文件,以及基于3个传感器创建/写入新功能或有多少个传感器,所以我做不必总是回到代码中并进行这些更改。

我也可以使用脚本将这些值放在数据库表中,然后写入一个文件新的配置文件,但不知道这是否会工作,所以我问什么是使用乙醚做这件事的好方法perl,python,php和mysql。

+0

您可以在读取传感器之后或在读取传感器之间创建配置文件。 –

回答

1

我找到了答案,通过创建一个python脚本来查找我表格中的所有内容,然后使用f.write写入一个新文件。因此,每次我正在处理的数据库表都会更新,添加或删除时,我都会创建一个新的配置文件。

现在我需要一种方法来在表更改后自动完成它。我必须点击按钮或找到一种可以监控桌子的方式。那是下一个!