1.树莓派程序开机自启失败
你是否也遇到过这种情况:当你写好一个Python程序,使用IDLE运行没有错误,使用命令行运行也每问题,然后设置好开机重启之后(我的上一篇博客有讲怎么设置开机自启),信心满满地重启,却发现程序根本没有自动运行。被折磨了好久之后,我终于解决了这个问题。
2.解决思路
我的程序本来能够开机自启,因为项目需求使用mqtt服务器,添加程序之后就不能正常开机自启,所以我怀疑是连接mqtt服务器那段程序的问题(可能是这段连接mqtt程序需要先连接网络,但是树莓派运行程序是在联网之前),所以我就使用了万能的try exception命令
try:
这一段是我怀疑有问题的程序
except Exception as e:
print ("error: ", e)
果不其然,加了之后就能正常开机自启动,但是问题又来了,程序虽能开机自启,但是不能连接mqtt服务器,我需要确保连接mqtt服务器之后正常运行,这时候我就想到了加一个死循环
while True:
try:
这一段是连接mqtt服务器的程序
break
except Exception as e:
print ("error: ", e)
continue
break是跳出当前循环,continue是返回循环处,这样问题就加以解决了。