summaryrefslogtreecommitdiff
path: root/temp_robot.js
diff options
context:
space:
mode:
authorYann C <yann.clarisse@epita.fr>2024-04-18 17:44:18 +0300
committerYann C <yann.clarisse@epita.fr>2024-04-18 17:44:18 +0300
commit55045dfe27374ade8cdd55667197f42595917669 (patch)
treefaeb1dc1e95f0c6f0cbf6967237acbd956e53640 /temp_robot.js
parent0deb0d6e9e85a169571240de634d958183c56b56 (diff)
saved
Diffstat (limited to 'temp_robot.js')
-rw-r--r--temp_robot.js59
1 files changed, 59 insertions, 0 deletions
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');
+});*/
+