• 大小: 88KB
    文件类型: .gz
    金币: 1
    下载: 0 次
    发布日期: 2021-05-21
  • 语言: 其他
  • 标签: QT  ARM  AGV  

资源简介

基于QT的客户端,实现对自动导引车的远程监控,有三个线程,主线程实现图像显示,socket线程实现通信,control线程实现对小车的控制。

资源截图

代码片段和文件信息

#include “controlthread.h“
#include “command.h“

#define SERVER_IP           “192.168.1.101“
//10“
#define SERVER_PORT         1989

ControlThread::ControlThread(Qobject *parent)// : Qobject(parent)
{
    isConnected         = false;
}

ControlThread::~ControlThread()
{
    delete controlClient;
}

void ControlThread::connect_on()
{
    char command[5] = {START_BYTE_0 START_BYTE_1 MOTO_STOP 0x0 0x0};

    isConnected = true;
    sendMassage(command 5);
    qDebug(“controlClient connect_on\n“);
}

void ControlThread::connect_off()
{
    isConnected = false;
    qDebug(“controlClient connect_off“);
}

void ControlThread::run()
{
    int     ret = 0;

    controlClient = new QTcpSocket();

    connect(controlClient SIGNAL(connected()) this SLOT(connect_on()));
    connect(controlClient SIGNAL(disconnected()) this SLOT(connect_off()));

   // controlClient->connectToHost(SERVER_IP SERVER_PORT);
    ret = controlClient->waitForConnected(5000);            // block 5 seconds waiting for connected
    qDebug(“controlClient State: %d\n“ controlClient->state());
    exec();
}

int ControlThread::sendMassage(char *data int length)
{
    int ret;

    if (!isConnected) {
        return -1;
    }

    ret = controlClient->write(data length);

    return 0;
}

评论

共有 条评论