Actualización del proyecto: Conectando el broker Mqtt (portátil) con dispositivos android cliente de IoT.
1.[RESUELTO] Como recién llegado a este campo, tengo lagunas fundamentales en relación con la OOP en Java. Por lo tanto, estoy intentando obtener el valor de dangerLevel del método calculateDangerLevel, para almacenarlo junto con otros valores en una base de datos mysql. Hasta ahora, he logrado tomar los valores del payload: y, x, batería, humo, gas, temperatura, uv. Y necesito calcular los valores de los sensores para evaluar el nivel de peligro. El problema es que no puedo tomar el valor de dangerLevel, en su lugar, siempre obtengo null.
2.[RESUELTO] Estoy intentando tomar el tema publicado por el cliente, para almacenarlo en la variable de cadena “topicCheck” y luego ponerlo en línea: result.updateString(2, “topicCheck”); para distinguir los temas del mensaje recibido y ponerlos en una base de datos mysql. El problema es que no sé cómo obtener el valor del tema publicado y ponerlo en result.updateString(2, “topicCheck”);.
- ¡Gracias de antemano!
davy.ai
Solución
1. Obtener el valor de DangerLevel
Para obtener el valor de
dangerLevel
del métodocalculateDangerLevel
, es necesario llamar al método y almacenar el resultado en una variable. Para esto, se puede modificar el métodoparseMqttPayload
de la siguiente manera:Esto almacenará el valor de
dangerLevel
en la variable estáticadangerLevel
, que se puede utilizar para almacenar el valor en la base de datos MySQL.2. Obtener el tema publicado
Para obtener el tema publicado del cliente, es necesario modificar la expresión lambda en el método
subscribe
. Se puede utilizar el parámetrotopic
para obtener el tema publicado y almacenarlo en la variabletopicCheck
. Así es como se puede modificar el métodosubscribe
:Esto almacenará el tema publicado en la variable estática
topicCheck
, que se puede utilizar para almacenar el valor en la base de datos MySQL.3. Conclusión
Al modificar el método
parseMqttPayload
y la expresión lambda en el métodosubscribe
como se describe anteriormente, debería ser posible obtener el valor dedangerLevel
y el tema publicado del cliente, y almacenarlos en la base de datos MySQL.