Création de la vue du debugger MQTT
- Lien sur la page d'accueil - Configration du routeur - Création des composants - affichage du formulaire de publication - affichage de la console de souscription - Création de la vue de la page
This commit is contained in:
parent
338d638257
commit
8367f5ac5e
@ -13,6 +13,7 @@ import HelloWorld from './components/HelloWorld.vue'
|
|||||||
<nav>
|
<nav>
|
||||||
<RouterLink to="/">Home</RouterLink>
|
<RouterLink to="/">Home</RouterLink>
|
||||||
<RouterLink to="/about">About</RouterLink>
|
<RouterLink to="/about">About</RouterLink>
|
||||||
|
<RouterLink to="/mqtt-debugger">MQTT Debugger</RouterLink>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
29
src/components/MQTTDebugConsole.vue
Normal file
29
src/components/MQTTDebugConsole.vue
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<h1>Console MQTT</h1>
|
||||||
|
<div v-for="(message, index) in messages" :key="index">{{ message }}</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import mqtt from 'mqtt';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
messages: [] // Initialiser un tableau pour stocker les messages MQTT
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
const client = mqtt.connect('ws://localhost:9001');
|
||||||
|
client.on('connect', () => {
|
||||||
|
console.log("on connect");
|
||||||
|
client.subscribe('#'); // S'abonner à tous les topics MQTT
|
||||||
|
});
|
||||||
|
client.on('message', (topic, message) => {
|
||||||
|
console.log("on message");
|
||||||
|
this.messages.push(`Topic: ${topic}, Message: ${message}`); // Ajouter le message à la liste des messages
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
33
src/components/MQTTDebugPublish.vue
Normal file
33
src/components/MQTTDebugPublish.vue
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<h1>Publier sur MQTT</h1>
|
||||||
|
<select v-model="selectedTopic">
|
||||||
|
<option v-for="topic in topics" :key="topic">{{ topic }}</option>
|
||||||
|
</select>
|
||||||
|
<input type="text" v-model="message" placeholder="Saisissez votre message">
|
||||||
|
<button @click="publishMessage">Publier sur MQTT</button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import mqtt from 'mqtt';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
message: '', // Initialiser la variable message
|
||||||
|
selectedTopic: 'topic1',
|
||||||
|
topics: ['topic1', 'topic2', 'topic3', 'topic4', 'topic5', 'topic6', 'topic7', 'topic8', 'topic9', 'topic10'], // Liste des topics
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
publishMessage() {
|
||||||
|
const client = mqtt.connect('ws://localhost:9001');
|
||||||
|
client.on('connect', () => {
|
||||||
|
client.publish(this.selectedTopic, this.message);
|
||||||
|
client.end();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -16,6 +16,11 @@ const router = createRouter({
|
|||||||
// this generates a separate chunk (About.[hash].js) for this route
|
// this generates a separate chunk (About.[hash].js) for this route
|
||||||
// which is lazy-loaded when the route is visited.
|
// which is lazy-loaded when the route is visited.
|
||||||
component: () => import('../views/AboutView.vue')
|
component: () => import('../views/AboutView.vue')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/mqtt-debugger',
|
||||||
|
name: 'Debugger MQTT',
|
||||||
|
component: () => import('../views/MQTTDebugView.vue')
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
21
src/views/MQTTDebugView.vue
Normal file
21
src/views/MQTTDebugView.vue
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<!-- Zone pour publier sur MQTT -->
|
||||||
|
<PublishMQTTComponent />
|
||||||
|
|
||||||
|
<!-- Zone pour afficher la console MQTT -->
|
||||||
|
<MQTTConsoleComponent />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import PublishMQTTComponent from '../components/MQTTDebugPublish.vue'; // Importer le composant pour publier sur MQTT
|
||||||
|
import MQTTConsoleComponent from '../components/MQTTDebugConsole.vue'; // Importer le composant pour la console MQTT
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
PublishMQTTComponent, // Composant pour publier sur MQTT
|
||||||
|
MQTTConsoleComponent // Composant pour la console MQTT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
Loading…
Reference in New Issue
Block a user