专栏中心

EEPW首页 > 专栏 > 迅为-i.MX6ULL开发板-QT实战项目DHT11&网络编程实战练习(一)

迅为-i.MX6ULL开发板-QT实战项目DHT11&网络编程实战练习(一)

发布人:魔法城堡 时间:2021-07-02 来源:工程师 发布文章

文章目录1 项目前准备2 软件流程图3 Linux应用程序本项目为阶段性练习,内容简洁实用,目的在于让初学者能够巩固前面知识,学以致用,逐步提升C++和Qt水平,为学习下面的教程做铺垫。本章节使用的资料已经放到了开发板网盘资料中,路径为“11_Linux系统开发进阶\Qt开发_章节使用资料”。

1 项目前准备
工具及环境:
1.开发环境:Ubuntu16.04
2.工具:Qt creator
3.迅为电子i.MX6ULL终结者开发板
MX6ULL终结者开发板已板载了DHT11传感器,且提供的Linux镜像和设备树已配置好了dht11接口,dht11驱动程序使用高版本Linux内核自带的稳定驱动程序,根文件系统使用网盘资料里的Yocto镜像,使用手册有详细的系统移植和 Qt5移植步骤。开发板要保证iio接口正常,如图 1.1:
cd /sys/bus/iio/devices/iio:device1

多cat几次, cat in_temp_input ,出现00为结尾的数字为正常

2 软件流程图
本实验目的是练习Qt的使用。把dht11采集的温度湿度显示在触摸屏的Qt上,并通过TCP传输到PC机的Qt界面上。应用程序将采集到的数据利用UDP网络套接字传输给终结者的 Qt进程,终结者的Qt将数据转发给PC端的Qt显示界面。流程图如图 2.1:

3 Linux应用程序
功能描述:
1.获取温湿度数据。
2.将温湿度封装成消息通过UDP发送到i.MX6ULL服务器。
高版本Linux内核自带了dht11 的驱动,使用者不用再去关心它的时序问题,可以用标准IO读取sysfs的/sys/bus/iio/devices/iio:device1/下的温湿度端口,测试读取成功后将数据发送到Qt进程。
为了让读者更好地理解Qt的 UDP,所以此处没有用到操作系统进程间通信机制,直接使用UDP网络套接字,代码在readDHT11.c:





编译:arm-linux-gnueabihf-gcc -o read readDHT11.c

4 终结者Qt服务器
Qt服务器功能描述:
1.接收应用程序发来的数据并解析;
2.界面显示出:温湿度,PC客户端的连接状态,系统时间;
3.通过 TCP向 PC客户端发送数据包。

4.1 界面布局
温度显示:LCD Number
湿度显示:LCD Number
系统时间,连接状态提示: Label
关闭按钮:push Button
Mainwindow.ui :


在属性栏设置主窗口尺寸,宽度为1024,高度为600,添加两个LCD Number组件,设置最小宽度500,最小高度为290,然后垂直布局两个LCD Number,如:图 4.1.2

给LCD Number添加颜色,右击此组件,选择“改变样式表”,

在弹出的界面选择“添加颜色”,点击“color”,

在弹出的颜色选择框中选择想要添加的颜色,然后点击“OK”。

自动回到样式表编辑器,可以看到添加的color,点击”apply”,然后点击”OK”,发现 LCD Number的颜色已经改变,另外一个 LCD Number的操作方法不再赘述。

在主界面右上角添加两个 Label,一个用来显示时间,一个显示TCP连接状态,宽度500,高度130,垂直布局,如图 4.1.7:

添加退出按钮,设置最小高度80,最小宽度100,修改字体大小:

在按钮左侧添加 Label,最小宽度300,最小高度290,在按钮和Label间添加弹簧,然后水平布局,效果如图 4.1.9:.

点击主窗口,然后点击栅格布局,效果如图 4.1.10:

最后改变各控件的名称,方便在代码中调用。
到此,服务器端基本ui界面组装完成,读者可以在此基础上美化。

-迅为-i.MX6ULL开发板-QT实战项目DHT11&网络编程实战练习(二)

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: 开发板

相关推荐

Microchip PIC24FJ256DA210开发板在图形显示上的应用

利用PIC24F Curiosity开发板简化设计

视频 2018-01-18

Badge USB OCD 与 78F0513D 使用演示视频

视频 2009-05-20

SL811HS开发板原理图.rar

CY7C68013开发板原理图.rar

米尔出席openEuler Summit 2024,携全志T536和RK3562核心模组亮相

在米尔FPGA上实现Tiny YOLO V4,助力AIoT应用

ARM嵌入式系统开发板三星S3C44B0X的完整Protel电路图.rar

NEC MCU 78F0513D开发板使用教程

视频 2009-04-07

当6 TOPS不再是极限:米尔RK3576 + Hailo-8,让高帧率摄像头真正“实时”

12路1080P高清视频流,米尔RK3576开发板重塑视频处理极限

51单片机开发板

国产FPGA SoC芯选择,米尔安路飞龙核心板重磅发布

Jobs芯科EFR32xG24 Dev Kit开发板开箱视频

视频 2022-08-24

6TOPS算力驱动30亿参数LLM,米尔RK3576部署端侧多模态多轮对话

AN2131开发板原理图.rar

米尔出席2025安路科技FPGA技术沙龙

米尔-瑞萨RZ/G2L核心板开发板的系统启动时间优化应用笔记

莱迪思联手英伟达推出 Sensor Bridge 方案 加速边缘 AI 产品落地

拆解:树莓派5 8 GB AI 套件

更多 培训课堂
更多 焦点
更多 视频

技术专区