got code from other branch

This commit is contained in:
ishak jmilou.ishak
2024-12-17 15:26:19 +01:00
parent 4da91f22ca
commit b1d5e8548c

View File

@@ -1,7 +1,6 @@
#include <iostream> #include <iostream>
#include <cmath> #include <cmath>
#include <thread> #include <thread>
#include "KobukiDriver/graph.h"
#include "MQTT/MqttClient.h" #include "MQTT/MqttClient.h"
#include "KobukiDriver/CKobuki.h" #include "KobukiDriver/CKobuki.h"
@@ -10,7 +9,7 @@ CKobuki robot;
std::string readMQTT(); std::string readMQTT();
void parseMQTT(std::string message); void parseMQTT(std::string message);
//ip, clientID, username, password //ip, clientID, username, password
MqttClient client("mqtt://145.92.224.21:1884", "KobukiRPI", "rpi", "rpiwachtwoordofzo"); // create a client object MqttClient client("ws://145.92.224.21/ws/", "KobukiRPI", "rpi", "rpiwachtwoordofzo"); // create a client object
std::string message = "stop"; std::string message = "stop";
std::string serializeKobukiData(const TKobukiData &data); std::string serializeKobukiData(const TKobukiData &data);
void sendKobukiData(TKobukiData &data); void sendKobukiData(TKobukiData &data);
@@ -18,24 +17,27 @@ void sendKobukiData(TKobukiData &data);
void setup() void setup()
{ {
unsigned char *null_ptr(0); unsigned char *null_ptr(0);
robot.startCommunication("/dev/ttyUSB0", true, null_ptr); // robot.startCommunication("/dev/ttyUSB0", true, null_ptr);
//connect mqtt server and sub to commands //connect mqtt server and sub to commands
client.connect(); client.connect();
client.subscribe("home/commands"); client.subscribe("home/commands");
} }
int main() int main()
{ {
// Unset the http_proxy environment variable
setup(); setup();
std::thread safety([&]() { robot.robotSafety(&message); }); std::thread safety([&]() { robot.robotSafety(&message); });
std::thread sendMqtt([&]() { sendKobukiData(robot.parser.data); }); std::thread sendMqtt([&]() { sendKobukiData(robot.parser.data); });
while(true){ while(true){
parseMQTT(readMQTT()); parseMQTT(readMQTT());
} }
sendMqtt.join(); sendMqtt.join();
safety.join(); safety.join();
return 0;
} }
std::string readMQTT() std::string readMQTT()
@@ -270,6 +272,7 @@ std::string serializeKobukiData(const TKobukiData &data) {
void sendKobukiData(TKobukiData &data) { void sendKobukiData(TKobukiData &data) {
while (true) { while (true) {
client.publishMessage("kobuki/data", serializeKobukiData(data)); client.publishMessage("kobuki/data", serializeKobukiData(data));
std::cout << "Sent data" << std::endl;
std::this_thread::sleep_for(std::chrono::milliseconds(1000)); std::this_thread::sleep_for(std::chrono::milliseconds(1000));
} }
} }