使用配置文件控制raspberry gpio

时间:2014-10-14 09:35:51

标签: python linux raspberry-pi

我想使用配置文件控制我的覆盆子pi的GPIO引脚,我的意思是使用以下文件:

Pin 1 : 1
Pin 2 : 0
Pin 3 : 1
...

然后我会有一个python脚本可以从文件读取并有类似的东西(使用wiringPi库):

variable= read from the config file in line x 
gpio -g write 14(BCM pin number that corresponds to line x in the config file),variable

*Text representation of the code, not real code, obviously, so please don't tell me 
 the syntax is wrong or something like that...

此文件将由scp发送到远程服务器,在远程服务器中必须将其解析为显示在html页面中。

我怎么能实现这个目标?什么是最好的方法? grep和cat的文件?有人能举例说明你会怎么做吗?

1 个答案:

答案 0 :(得分:1)

在配置文件中使用python词典并将其导入主脚本并访问它。

#config.py
pins = {1: 1, 2: 0, 3: 1}

并在您的主脚本中:

#main.py
import config
...
gpio.write(config.pins[pin_num], 'sample write')

请注意,没有名为gpio.write的方法,我只是为了说明而做了。

如果你不断更改引脚配置,那么最好将配置保存在json文件中,如:

#config.json
{
    "1": 1,
    "2": 0,
    "3": 1
}

现在只需更改主脚本:

#main.py
import json
config_file = 'config.json'
with open(config_file) as f:
    pins = json.loads(f.read())
...
gpio.write(config.pins[pin_num], 'sample write')
...
...
# if you want change pins, just change values in pins dictionary
pins['1'] = 0
# now write it to json file
with open(config_file) as f:
    f.write(json.dumps(pins))

如果对引脚的更改频繁,那么编写一个可以为您完成此操作的方法,使代码更好。