Código de ejemplo
Código de ejemplo para comunicación MQTT (Protocolo mensajería).
import mqtt from 'mqtt';
//Despues de obtener credenciales MQTT
if (response.ok) {
setMqttCreds(data);
showToast('Credenciales MQTT recibidas. Conectando...', 'success');
connectToBroker(data);
setView('user_mode');
}
const connectToBroker = (creds) => {
setConnectStatus('Connecting');
addLog('Conectando a ${creds.host}...');
const options = {
clientId: creds.clientId,
username: creds.username,
password: creds.password,
clean: true,
reconnectPeriod: 2000,
connectTimeout: 10000,
};
const mqttClient = mqtt.connect(creds.host, options);
mqttClient.on('connect', () => {
setConnectStatus('Connected');
addLog('¡Conexión Exitosa!', 'success');
mqttClient.subscribe('#');
});
mqttClient.('error', (err) => {
setConnectStatus('Error');
addLog('Error de conexión: $(err.message)', 'error'),
});
mqttClient.on('message', (topic, message) => {
addLog('RECIBIDO [${topic}]: ${message.toString()}');
});
setClient(mqttClient);
};
const sendUserPayload = (payLoad, kind, amountOverride) => {
const topic = '/ecr-req/${formData.appId}/${mqttCreds.clientId}';
client.publish(topic, payload);
addLog('ENVIADO a ${topic}: ${payload}', 'success');
};
//Cleanup al cerrar/desmontar
useEffect(() => {
return () => {
if (client) {
client.end();
}
};
}, [client]);
Updated about 1 month ago
