对于你的情况,结构上采用下面的结构的python脚本的功能:
def read_data():
data_reading_voodo
return message_to_be_sent
def send_message(msg):
perform_message_sending_voodo
log_message_sending_voodoo_success_or_failure
return None
if __name__ == "__main__":
msg = read_data()
send_message(msg)
结构就是这样,python脚本应该运行后退出。
下创建一个shell sript喜欢如下(假设bash和Python,但根据您的使用情况修改)
#!/bin/bash
python -m /path/to/your/voodo/script && sudo shutdown -h 6
的sudo shudown -h 6
关闭脚本运行6分钟后的树莓派。这个选项可以帮助您在启动后有一段时间,如果您想要停止运行重新启动循环,请将其删除。
使shell脚本可执行:chmod 755 run_py_script_then_set_shutdown
看到man chmod
的细节
现在创建一个cronjob在启动时运行run_py_script_then_set_shutdown
。
crontab -e
然后将下面的行添加到您的crontab
@reboot /path/to/your/shell/script
保存,重启PI,就大功告成了。 每次启动时,python脚本都应该运行并退出。然后,在python脚本退出6分钟后,rpi将关闭。
你可以(应该)为你的目的调整6分钟。
你会很高兴向我们展示你到目前为止所尝试过的吗?为什么它不起作用。为了让别人解决问题而不先尝试自己,来到这里并不是很好。例如,如果你想关闭你的RPi,为什么不尝试'os.system('shutdown -hP now')'或者类似的东西? – Torxed
您应该针对特定的编程问题提出具体问题。由于Stack Overflow隐藏了你的密切原因:*“有些问题要求我们推荐或查找书籍,工具,软件库,教程或其他非本地资源,因为它们倾向于吸引自以为是的答案和垃圾邮件,因此不适合Stack Overflow。而是要描述问题以及到目前为止解决问题所做的工作。“* – jww