毕设-基于ZigBee的制药车间监管系统(二)

简介

接着第一个写!!!!!!!!

QT与协调器的通信方法

再没有云端的情况下,如何实现QT和协调器的通信。这就需要另外一个网络协议TCP/IP 协议,本次我们使用的主要是其中的一个C/S架构,就是主从模式,详细来说就是一个作为客户端发送数据另外一个作为服务器监听客户端发送的数据,理解不了的参考QT的基础学习笔记(三)

WiFi模块

本次使用的还是一个关于AT指令的WiFi模块,具体指令可以借鉴手册或者百度。

QT部分

由于本人比较喜爱QT这个软件,所以现在基本的上位机和显示就都是QT。

主函数代码

Start::Start(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Start)
{
    ui->setupUi(this);
    //设置基础界面
    time.start(1);
    connect(&time,&QTimer::timeout,[=](){setInterface();});

    //绑定按钮事件
    bindPushbutton();
    server.listen(QHostAddress::AnyIPv4,5250);
    connect(&server,&QTcpServer::newConnection,this,[=](){
        qDebug()<<"客户端连接成功";
        socket = server.nextPendingConnection();
        connect(socket,&QTcpSocket::readyRead,this,&Start::tcpRead);
    });
    setWindowFlags(Qt::FramelessWindowHint);
        this->setAutoFillBackground(true);
        QPalette palette;
        //palette.setColor(QPalette::Background, QColor(0,0,0));
        QPixmap pix_img;
        pix_img.load(":/Start/start.png");
        pix_img = pix_img.scaled(900, 1080,Qt::IgnoreAspectRatio);
        palette.setBrush(QPalette::Background, QBrush(pix_img));
        this->setPalette(palette);

}

void Start::tcpRead()
{
   //读取消息
       qDebug()<< "接收消息";
   QByteArray data = socket->readAll(); //将接收的数据放进一个数组
   }

界面代码

preset::preset(QList<drugBox *>  *box,QTcpSocket *socket2,QWidget *parent) :
    QWidget(parent),
    ui(new Ui::preset)
{
    ui->setupUi(this);
    setWindowFlags(Qt::FramelessWindowHint);
        this->setAutoFillBackground(true);
        QPalette palette;
        //palette.setColor(QPalette::Background, QColor(0,0,0));
        QPixmap pix_img;
        pix_img.load(":/Start/preset.png");
        pix_img = pix_img.scaled(1080, 2430,Qt::IgnoreAspectRatio);
        palette.setBrush(QPalette::Background, QBrush(pix_img));
        this->setPalette(palette);
    this->socket = socket2;
    addDrugBox = box->at(0);
    time1.start(1);
    connect(ui->ok,&QPushButton::clicked,this,&preset::btnOk1);
    //connect(ui->cancle,&QPushButton::clicked,[=](){this->;});
    connect(&time1,&QTimer::timeout,[=](){
    ui->tempnum_1->setText(QString::number(addDrugBox->temp));

    ui->huminum_1->setText(QString::number(addDrugBox->hum));

    ui->pretem_1->setText(QString::number(addDrugBox->Prehumi));

    ui->prehumi_1->setText(QString::number(addDrugBox->Pretemp));

    });
}

这部分不理解 请参考QT基础笔记三部曲:
QT的基础学习笔记(一)
QT的基础学习笔记(二)
QT的基础学习笔记(三)

有问题评论或私信 讨论群985432073

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘉鑫的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值