Ошибка запуска coral.cloudiot.core apperas внезапно - PullRequest
0 голосов
/ 10 марта 2020

Я использую класс coral.cloudiot.core ( инструкция по установке ). Это высокоуровневый API для paho-mqtt .

Ниже приведена упрощенная версия моего кода:

with CloudIot("./cloud_config.ini", config_section='DEFAULT') as cloud:
    while True:

        """if a defined if clause evalutes to True, 
        the following method is executed."""

        cloud.publish_message(message)
  • Порт 443 используется для связь с концентратором gcloud iot.
  • Я пробовал qos = 0 и 1
  • systemctl используется для запуска кода.
  • Скрипты отправляют до 48 сообщений в минуту .
  • Порт ntp заблокирован брандмауэром (htpdate используется с crontab 5 * * * *)

Через некоторое время появляется следующее сообщение об ошибке.

Mar 08 03:17:33 mocha-orange systemd[1]: Started ANN Client Detection.
Mar 09 07:18:30 mocha-orange start_service_client[3957]: Exception in thread Thread-1:
Mar 09 07:18:30 mocha-orange start_service_client[3957]: Traceback (most recent call last):
Mar 09 07:18:30 mocha-orange start_service_client[3957]:   File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
Mar 09 07:18:30 mocha-orange start_service_client[3957]:     self.run()
Mar 09 07:18:30 mocha-orange start_service_client[3957]:   File "/usr/lib/python3.7/threading.py", line 865, in run
Mar 09 07:18:30 mocha-orange start_service_client[3957]:     self._target(*self._args, **self._kwargs)
Mar 09 07:18:30 mocha-orange start_service_client[3957]:   File "/usr/lib/python3/dist-packages/coral/cloudiot/core.py", line 196, in _token_update_loop
Mar 09 07:18:30 mocha-orange start_service_client[3957]:     username='unused', password=self._create_jwt())
Mar 09 07:18:30 mocha-orange start_service_client[3957]:   File "/usr/lib/python3/dist-packages/coral/cloudiot/core.py", line 225, in _create_jwt
Mar 09 07:18:30 mocha-orange start_service_client[3957]:     return self._jwt_inst.encode(token, self._private_key, algorithm=self._algorithm)
Mar 09 07:18:30 mocha-orange start_service_client[3957]:   File "/usr/lib/python3/dist-packages/jwt/api_jwt.py", line 65, in encode
Mar 09 07:18:30 mocha-orange start_service_client[3957]:     json_payload, key, algorithm, headers, json_encoder
Mar 09 07:18:30 mocha-orange start_service_client[3957]:   File "/usr/lib/python3/dist-packages/jwt/api_jws.py", line 114, in encode
Mar 09 07:18:30 mocha-orange start_service_client[3957]:     signature = alg_obj.sign(signing_input, key)
Mar 09 07:18:30 mocha-orange start_service_client[3957]:   File "/usr/lib/python3/dist-packages/coral/cloudiot/ecc608.py", line 132, in sign
Mar 09 07:18:30 mocha-orange start_service_client[3957]:     return ecc608_hw_sign(msg)
Mar 09 07:18:30 mocha-orange start_service_client[3957]:   File "/usr/lib/python3/dist-packages/coral/cloudiot/ecc608.py", line 81, in ecc608_hw_sign
Mar 09 07:18:30 mocha-orange start_service_client[3957]:     assert status == 0
Mar 09 07:18:30 mocha-orange start_service_client[3957]: AssertionError

Я не понимаю, как решить эту проблему. Я ценю любой намек.

...