USB GPS 장치가 연결이 끊어졌다가 다시 연결되어도 계속 데이터를 전송하도록 하는 몇 가지 요령이 있습니다. 이러한 장치는 매우 취약하므로 데이터 전송을 계속하려면 재부팅이 필요합니다.
내 비결은 매분 실행되는 크론 작업을 갖고(빠른 복구를 원함) 계속 묻는 스크립트를 호출하는 것입니다.글로벌 포지셔닝 시스템매분마다 구성된 모든 장치를 계속 모니터링합니다.
그래서 이 줄을 추가했습니다./etc/crontab
:
* * * * * username /usr/bin/python /usr/local/bin/keepalive.py
그리고 내용/usr/local/bin/keepalive.py
:
import socket
from syslog import syslog, openlog
CMD = '?WATCH={"class":"WATCH","json":true}'
def main():
openlog(__file__)
syslog('connecting to gpsd socket')
try:
sock = socket.create_connection(('localhost', 2947))
except socket.error as e:
syslog('connection failure: {0}'.format(e))
else:
syslog('CMD: ' + CMD)
sock.sendall(CMD)
syslog('success')
finally:
if sock:
sock.close()
if __name__ == '__main__':
main()
나는 또한이 줄을 추가했습니다/etc/udev/rules.d/custom.rules
:
ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", SYMLINK+="flaky%n"
여러 장치를 동시에 연결할 수 있기 때문입니다.
거기에 몇 가지가 있습니까?우데브/글로벌 포지셔닝 시스템이 해킹을 피하기 위해 내가 할 수 있는 일이 있나요?