From 55045dfe27374ade8cdd55667197f42595917669 Mon Sep 17 00:00:00 2001 From: Yann C Date: Thu, 18 Apr 2024 17:44:18 +0300 Subject: saved --- temp_robot.js | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 temp_robot.js (limited to 'temp_robot.js') diff --git a/temp_robot.js b/temp_robot.js new file mode 100644 index 0000000..b47ace2 --- /dev/null +++ b/temp_robot.js @@ -0,0 +1,59 @@ +const client = mqtt.connect("ws://marcellus.cc:9001"); + +function wait(ms) +{ + return new Promise((resolve, reject) => { + let isObstacle = false; + + const timer = setTimeout(() => { + if(!isObstacle){ + resolve(0); + } // Le délai s'est écoulé sans détecter d'obstacle + }, ms); + + // Supposons que `client` est un objet qui écoute les messages + client.on('message', (topic, message) => { + if (topic === 'move' && parseInt(message.toString()) < 150) { + isObstacle = true; + clearTimeout(timer); + resolve(1); // Un obstacle a été détecté + } + }); + }); +} + +function getTime(dist) +{ + let res = (dist / 200)*1000 + //console.log('time is '+res) + return res +} + +async function moveTo(dist,angle) +{ + console.log('dist is '+ dist) + ang = angle * 180 /Math.PI + console.log('ang is :' + ang.toString()) + var str = 'T'+(Math.floor(ang)).toString() + client.publish('move',str) + client.publish('move','D200') + const time = getTime(dist) + let tmp = await wait(time); + if (tmp == 0){ + client.publish('move', 'STOP'); + } + stop() + +} + +client.on('connect', () => { + console.log('Connecté au courtier MQTT'); + client.subscribe('move') +}); +// client.publish('move','ULT1') + + +/* client.on('close', function () { + console.log('Déconnecté du courtier MQTT'); +});*/ + -- cgit v1.2.3