Qt 的网络模块和串口模块来实现 WiFi 传输和数据显示

这篇具有很好参考价值的文章主要介绍了Qt 的网络模块和串口模块来实现 WiFi 传输和数据显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在头文件中引入相关库:

#include <QMainWindow>
#include <QTcpSocket>
#include <QSerialPort>

然后,在主窗口类中定义相关变量:

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_connectButton_clicked();
    void on_sendButton_clicked();
    void readData();

private:
    Ui::MainWindow *ui;
    QTcpSocket *tcpSocket;
    QSerialPort *serialPort;
};


其中,tcpSocket 为 TCP 套接字,serialPort 为串口对象。

在构造函数中初始化 tcpSocketserialPort

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    tcpSocket = new QTcpSocket(this);
    serialPort = new QSerialPort(this);
}

在点击“连接”按钮时,我们需要连接 WiFi,并建立 TCP 连接。这里我们需要先输入 WiFi 的名称和密码,然后使用 QProcess 执行 netsh 命令来连接 WiFi。如果连接成功,我们再建立 TCP 连接。

void MainWindow::on_connectButton_clicked()
{
    QString ssid = ui->ssidLineEdit->text();
    QString password = ui->passwordLineEdit->text();

    QProcess process;
    QString cmd = "netsh wlan connect ssid=\"" + ssid + "\" name=\"" + ssid + "\" keyMaterial=\"" + password + "\"";
    process.start(cmd);
    process.waitForFinished();

    tcpSocket->connectToHost("192.168.1.100", 8888);

    connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(readData()));
}

这里假设 WiFi 的 IP 地址为 192.168.1.100,端口为 8888。我们还需要在 readData 函数中处理接收到的数据:

void MainWindow::readData()
{
    QByteArray data = tcpSocket->readAll();
    ui->textEdit->append(data);
}

当我们点击“发送”按钮时,我们将需要发送的数据通过串口发送出去:

void MainWindow::on_sendButton_clicked()
{
    QString data = ui->sendLineEdit->text();
    serialPort->write(data.toUtf8());
}

需要注意的是,我们需要先打开串口并设置波特率、数据位、校验位、停止位等参数:

serialPort->setPortName("COM1");
serialPort->setBaudRate(QSerialPort::Baud9600);
serialPort->setDataBits(QSerialPort::Data8);
serialPort->setParity(QSerialPort::NoParity);
serialPort->setStopBits(QSerialPort::OneStop);
serialPort->open(QIODevice::ReadWrite);

最后,我们还需要在析构函数中关闭 TCP 连接和串口:

MainWindow::~MainWindow()
{
    tcpSocket->close();
    serialPort->close();
    delete ui;
}

这样,我们就完成了 WiFi 传输并显示数据的功能。文章来源地址https://www.toymoban.com/news/detail-764003.html

到了这里,关于Qt 的网络模块和串口模块来实现 WiFi 传输和数据显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【wifi模块选型指导】数据传输WiFi模块的选型参考_USB/UART接口WiFi模块

    数据传输WiFi模块有USB接口和UART接口两大类,为满足行业客户的不同应用需求,SKYLAB研发推出了多款2.4GHz单频,2.4/5GHz双频的USB接口WiFi模块和UART接口WiFi模块,数据传输能力,传输距离各有不同。怎么选才是最适合的呢?看这里SKYLAB君讲给你听。 WiFi模块 从通讯接口来看, 串

    2024年02月16日
    浏览(58)
  • QT下TCP协议实现数据网络传输

    QT开发框架以其跨平台的优势,在全世界IT界如雷贯耳。其封装了功能齐全的各种类,大大的提高了开发者的效率。本篇内容将介绍如何使用QT 6.4.1框架开发服务器和客户端程序,让两端能够首发消息,服务端往客户端发送文件(客户端往服务器发送类似,没有实现)。  说明

    2023年04月08日
    浏览(47)
  • HC06蓝牙2.0模块连接不稳定 和 STM32串口不传输数据(串口接收中断)的一些问题

    最近,在一个项目中使用到蓝牙,但是调试过程出现了很多问题。 刚开始使用的是HC06蓝牙,刚开始使用较为正常,可以实现蓝牙模块和电脑设备直接连接,而且数据接收正常。 在接下来的设计中,考虑到适配问题,就设计了配套的蓝牙接收模块,同样是HC06贴片模块。但问题

    2024年02月14日
    浏览(52)
  • QT串口接收数据并进行波形显示(含源码)

    ** 使用QT在串口调试助手基础上实现波形显示(含源码) 评论比较多留言需要源码的,逐个发邮箱比较麻烦也不能及时回复,现将源码上传至链接(无需积分下载)https://download.csdn.net/download/m0_51294753/87743394,下载不下来可以私信我留邮箱。 一、前言 背景:使用ADS1255对模拟信

    2024年02月01日
    浏览(41)
  • 【ROS】基于WIFI网络实现图像消息跨机实时传输

    研究机器人目标检测算法的时候,常常需要把推理图像实时展示出来,以供观摩。而ROS1提供的跨机通信方法,要么是配置单Master,要么是配置多Master;一方面配置麻烦,另一方面传输效率低下,特别是在无线网络环境下,那叫一个鸡肋,仿佛我只需要喝一杯水,他却把整个太

    2024年02月10日
    浏览(40)
  • QT串口调试助手开发教程:上位机接收数据解析数据帧+多通道波形显示+数据保存

    在该设计中主要需要解决的问题就是接收单片机采集到的数据并在上位机将数字实时的通过波形显示出来,然后上位机要有保存下数据文件的功能,便于后续的软件读取数据做进一步的分析处理。有些人吃相难看,无底线,无道德,鉴于串口上位机会被广泛使用,撰写该教程

    2024年02月07日
    浏览(46)
  • 基于天问51-Core自制开发WIFI模块连接MQTT&巴法云平台-微信小程序显示温度数据

    目 录 一、摘要 二、项目准备材料 三、硬件总体设计 四、软件代码设计 五、整体测试联调 六、效果展示 一、摘要 本项目基于天问51-Core最小系统开发,自行设计PCB电路,主要包括DHT11、ESP8266、OLED三个主要外设模块。此项目实现的三大功能:1、基本功能:单片机将DHT11获取

    2024年02月06日
    浏览(54)
  • STM32--ESP8266物联网WIFI模块(贝壳物联)--温湿度数据上传服务器显示

    本文适用于STM32F103C8T6等MCU,其他MCU可以移植,完整资源见文末链接 一、简介 随着移动物联网的发展,各场景下对于物联控制、数据上传、远程控制的诉求也越来越多,基于此乐鑫科技推出了便宜好用性价比极高的wifi物联模块——ESP8266,话不多少我们先来看看这个神奇的模

    2024年02月08日
    浏览(58)
  • 【解决方案】视频传输方案怎样选择适用的WiFi模块

    工作环境中,我们接触的最多的是有线传输,但是这个会因为转换接口、传输距离等原因受到一些限制,而无线传输不会,不需要布线,不限制接口,传输距离也由于有线传输,这也是物联网广泛使用无线通信技术的原因。 WiFi模块选型要点: 1、通信接口:USB、WAN/LAN、UART、

    2024年02月16日
    浏览(35)
  • 【沧海拾昧】WiFi串口通信ESP8266模块基本介绍(附野火WiFi透传实例)

    #C0104 沧海茫茫千钟粟,且拾吾昧一微尘 ——《沧海拾昧集》@CuPhoenix 【阅前敬告】 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 【如有问题必是本集记录有谬,切勿深究】     WiFi串口通讯模块是嵌入式初学者需要接触到的一种常用模块,可以用

    2024年02月02日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包