
편집하다:
TLS 옵션을 ON으로 하여 Mosquitto 클라이언트를 시작하는 Python 스크립트를 작성했습니다. sudo 없이 명령줄에서 실행하면 모두 잘 작동했습니다. 이제 일부 패키지를 다시 설치한 후 문제가 발생했습니다.
하지만 시스템 부팅 시 시작하려면 스크립트가 필요했기 때문에 데몬으로 실행할 SYSTEMD 서비스를 만들었습니다. 서비스 상태 보고서를 토대로 cert
또는 key
파일을 사용할 수 없어 데몬이 오류와 함께 존재한다고 추론합니다. 파일은 .py 스크립트와 동일한 디렉터리에 있습니다. 문제가 무엇인지 아시나요?
pi@raspberrypi:~/FONA_PROJECT $ sudo systemctl status fonagps.service
● fonagps.service - Vechicle Tracking System
Loaded: loaded (/lib/systemd/system/fonagps.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2018-03-19 22:17:59 UTC; 3s ago
Process: 1526 ExecStart=/usr/bin/python /home/pi/FONA_PROJECT/iot_sub.py (code=exited, status=1/FAILURE)
Main PID: 1526 (code=exited, status=1/FAILURE)
Mar 19 22:17:59 raspberrypi systemd[1]: Started Vechicle Tracking System.
Mar 19 22:17:59 raspberrypi python[1526]: Traceback (most recent call last):
Mar 19 22:17:59 raspberrypi python[1526]: File "/home/pi/FONA_PROJECT/iot_sub.py", line 129, in <module>
Mar 19 22:17:59 raspberrypi python[1526]: client.tls_set(ca_certs=ca_certs, certfile=certfile, keyfile=keyfile, cert_reqs=ssl.CERT_REQUIRED, tls_version=ssl.PROTOCOL_TLSv1_2, ciphers=None)
Mar 19 22:17:59 raspberrypi python[1526]: File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 694, in tls_set
Mar 19 22:17:59 raspberrypi python[1526]: context.load_cert_chain(certfile, keyfile)
Mar 19 22:17:59 raspberrypi python[1526]: IOError: [Errno 2] No such file or directory
Mar 19 22:17:59 raspberrypi systemd[1]: fonagps.service: Main process exited, code=exited, status=1/FAILURE
Mar 19 22:17:59 raspberrypi systemd[1]: fonagps.service: Unit entered failed state.
Mar 19 22:17:59 raspberrypi systemd[1]: fonagps.service: Failed with result 'exit-code'.