- Я работаю над приложением IoT, в которое отправляю данные с устройства IoT брокеру MQTT.
- Он работал на порту 1883 (незашифрованный) и решил переключиться на порт 8883 (зашифрованный).Я сгенерировал необходимые сертификаты.
- Хочу отметить, что данные отправляются через соединение GPRS.
Также я использую библиотеку paho-mqtt и устройствоэто мощный одноплатный компьютер.
Теперь, когда я запускаю тот же скрипт с TLS, я получаю следующую ошибку:
Traceback (most recent call last):
File "test-client.py", line 61, in <module>
main()
File "test-client.py", line 33, in main
client.connect("test.myiot.io", 8883, 1)
File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py",
line 839, in connect
return self.reconnect()
File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py",
line 994, in reconnect
sock.do_handshake()
File "/usr/lib/python2.7/ssl.py", line 788, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: ('_ssl.c:565: The handshake operation timed out',)
Вот некоторые вещи, которые я тестировал и наблюдал
- Я получаю вышеуказанную ошибку, когда запускаю ее на GPRS.
- Скрипт работает нормально, когда я использую Ethernet.Это заставило меня думать, что соединение GPRS может быть слишком медленным и, следовательно, время ожидания.Тем не менее, я запускаю настройку OpenVPN на устройстве, которое прекрасно работает на GPRS-соединении (если я не ошибаюсь, OpenVPN также использует аналогичное рукопожатие)
- Я пытался найти онлайн-документацию, чтобы увеличить время ожидания, но не смогне найти ни одного.
Устройство развернуто в удаленной области, где 2G является единственной опцией.Также безопасность это огромное дело с этим приложением.Как я могу решить эту проблему?
Любые предложения будут оценены.