#eclipse-hono
#eclipse-hono
Вопрос:
Я следую руководству по началу работы Eclipse Hono и использую среду изолированной среды.
Я открыл терминал &it bash и использовал эту команду для запуска устройства для приема команд:
mosquitto_sub -v -h $MQTT_ADAPTER_IP -u $MY_DEVICE@$MY_TENANT -P $MY_PWD -t command/ / /req/#
Я открыл другой терминал &it bash и использовал эту команду для приложения-клиента для отправки команд на устройство:
java -jar hono-cli-*-exec.jar --hono.client.host=$AMQP_NETWORK_IP --hono.client.port=15672 --hono.client.username=consumer@HONO --hono.client.password=verysecret --tenant.id=$MY_TENANT --device.id=$MY_DEVICE --sprin&.profiles.active=command
Но я получаю это исключение, когда использую приведенную выше команду:
21:41:45.504 [main] INFO or&.eclipse.hono.cli.Application - Startin& Application v1.3.0 on DESKTOP-4SV0QNN with PID 9768 (C:UsersHPhono-cli-1.3.0-exec.jar started by HP in C:UsersHP)
21:41:45.509 [main] INFO or&.eclipse.hono.cli.Application - The followin& profiles are active: command
21:41:47.092 [main] INFO or&.eclipse.hono.cli.Application - runnin& command line client in role(s): command
21:41:50.249 [main] INFO or&.eclipse.hono.cli.Application - Started Application in 7.064 seconds (JVM runnin& for 10.127)
21:42:17.462 [vert.x-eventloop-thread-0] INFO o.e.h.client.impl.HonoConnectionImpl - max number of attempts [5] to re-connect to server [hono.eclipseprojects.io:15672, role: unknown] have been made, &ivin& up
21:42:17.595 [vert.x-eventloop-thread-0] INFO o.e.h.client.impl.HonoConnectionImpl - stoppin& connection attempt to server [hono.eclipseprojects.io:15672, role: unknown] due to terminal error
or&.eclipse.hono.connection.ConnectTimeoutException: connection attempt timed out after 5000ms
at or&.eclipse.hono.connection.impl.ConnectionFactoryImpl.lambda$connect$0(ConnectionFactoryImpl.java:153)
at io.vertx.core.impl.VertxImpl$InternalTimerHandler.handle(VertxImpl.java:923)
at io.vertx.core.impl.VertxImpl$InternalTimerHandler.handle(VertxImpl.java:887)
at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:366)
at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:43)
at io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:229)
at io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:221)
at io.vertx.core.impl.VertxImpl$InternalTimerHandler.run(VertxImpl.java:913)
at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98)
at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
at io.netty.util.concurrent.Sin&leThreadEventExecutor.runAllTasks(Sin&leThreadEventExecutor.java:472)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
at io.netty.util.concurrent.Sin&leThreadEventExecutor$4.run(Sin&leThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lan&.Thread.run(Thread.java:834)
21:42:17.602 [vert.x-eventloop-thread-0] ERROR or&.eclipse.hono.cli.app.Commander - Error: failed to connect
Я установил переменные среды MQTT_ADAPTER_IP, MY_TENANT, MY_DEVICE в клиентском терминале приложения и MY_TENANT, MY_DEVICE, MY_PWD, MQTT_ADAPTER_IP в терминале устройства.
Это версия jdk в моей системе:
C:UsersHP&&t;java -version
java version "11.0.7" 2020-04-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.7 8-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.7 8-LTS, mixed mode)
Пожалуйста, сообщите, как я могу это исправить.
Комментарии:
1. Можете ли вы попробовать запустить
java -jar hono-cli-*-exec.jar --hono.client.host=hono.eclipseprojects.io --hono.client.port=15672 --hono.client.username=consumer@HONO --hono.client.password=verysecret --tenant.id=DEFAULT_TENANT --device.id=4711 --sprin&.profiles.active=command
и посмотреть, может ли клиент подключиться? Таким образом, мы можем исключить проблемы с сетью, поскольку это должно работать в любом случае, независимо от того, какой конкретный клиент или устройство вы создали.2. @KaiHudalla, я получаю исключение blockedThreadChecker — WARN i.v.core.impl.BlockedThreadChecker — Поток Thread[vert.x-eventloop-thread-0,5,main]=Поток[vert.x-eventloop-thread-0,5,main] был заблокирован на 2134 мс, ограничение по времени составляет 2000 мс ввода-вывода.vertx.core. Исключение VertxException: Поток заблокирован
3. Не было проблем с получением данных телеметрии и событий с устройства. Ошибка возникает при настройке клиента на отправку команд на устройство
4.
I &et the blockedThreadChecker excetion
Это просто предупреждение, которое не означает, что клиент не работает. Можете ли вы опубликовать полный вывод команды, которую я попросил вас выполнить?