我想使用配置文件控制我的覆盆子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的文件?有人能举例说明你会怎么做吗?
答案 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))
如果对引脚的更改频繁,那么编写一个可以为您完成此操作的方法,使代码更好。