url

时间:2018-12-14 11:40:09

标签: python raspberry-pi python-requests influxdb

我有一个包含BLE传感器和树莓派的系统。在raspi中,我的python(v2.7)脚本从BLE获取数据,如果没有则创建influxDB并将数据追加到它。 influxDB在树莓派上。我在rc.local上为python脚本添加了启动命令。这是第一次,一切都很好。 6〜10小时(将大量数据保存在db上)后,当我重新启动raspberry时,它无法启动脚本,因为它在系统启动时未到达数据库。错误是:

error initializing influxDB output interface HTTPConnectionPool(host='10.1.0.66', port=8086): Max retries exceeded with url: /query?q=SHOW+DATABASES&db=db_omrons (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x75e60670>: Failed to establish a new connection: [Errno 111] Connection refused',))Exit

但是,当我连接SSH并在此错误之后在命令行上手动启动脚本时,它将完美启动。我不确切地知道原因,但是我的猜测是关于influxDB的启动时间不足以引导我的python脚本控件。我的尝试是(未成功):

  • 在启动python脚本之前在rc.local处添加sleep命令
  • 更改urlopen函数参数(在/usr/lib/python2.7/dist-packages/urllib3/connectionpooly.py中)retries = retries到retries = False和retries = 1 return self.urlopen( method, redirect_location, body, headers, retries=retries , redirect=redirect, assert_same_host=assert_same_host, timeout=timeout, pool_timeout=pool_timeout, release_conn=release_conn, **response_kw)
  • 将主机名“ localhost”更改为直接访问树莓派IP地址“ 10.1.0.66”(您会看到错误)
  • 在启动时等待网络连接(无关紧要,只是尝试)

成功但不可用的解决方法是:

  • 通过清除完全删除indluxDB并重新安装

0 个答案:

没有答案