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

发布时间:2021-7-2 09:49    发布者:落风
文章目录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
1.png
多cat几次, cat in_temp_input ,出现00为结尾的数字为正常
2.png
2 软件流程图
本实验目的是练习Qt的使用。把dht11采集的温度湿度显示在触摸屏的Qt上,并通过TCP传输到PC机的Qt界面上。应用程序将采集到的数据利用UDP网络套接字传输给终结者的 Qt进程,终结者的Qt将数据转发给PC端的Qt显示界面。流程图如图 2.1:
3.png
3 Linux应用程序
功能描述:
1.获取温湿度数据。
2.将温湿度封装成消息通过UDP发送到i.MX6ULL服务器。
高版本Linux内核自带了dht11 的驱动,使用者不用再去关心它的时序问题,可以用标准IO读取sysfs的/sys/bus/iio/devices/iio:device1/下的温湿度端口,测试读取成功后将数据发送到Qt进程。
为了让读者更好地理解Qt的 UDP,所以此处没有用到操作系统进程间通信机制,直接使用UDP网络套接字,代码在readDHT11.c:

3.jpg
4.jpg
5.jpg
6.jpg
编译: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 :

7.jpg
在属性栏设置主窗口尺寸,宽度为1024,高度为600,添加两个LCD Number组件,设置最小宽度500,最小高度为290,然后垂直布局两个LCD Number,如:图 4.1.2
8.png
给LCD Number添加颜色,右击此组件,选择“改变样式表”,
9.png
在弹出的界面选择“添加颜色”,点击“color”,
10.png
在弹出的颜色选择框中选择想要添加的颜色,然后点击“OK”。
11.png
自动回到样式表编辑器,可以看到添加的color,点击”apply”,然后点击”OK”,发现 LCD Number的颜色已经改变,另外一个 LCD Number的操作方法不再赘述。
12.png
在主界面右上角添加两个 Label,一个用来显示时间,一个显示TCP连接状态,宽度500,高度130,垂直布局,如图 4.1.7:
13.png
添加退出按钮,设置最小高度80,最小宽度100,修改字体大小:
14.png
在按钮左侧添加 Label,最小宽度300,最小高度290,在按钮和Label间添加弹簧,然后水平布局,效果如图 4.1.9:.
15.png
点击主窗口,然后点击栅格布局,效果如图 4.1.10:
16.png
最后改变各控件的名称,方便在代码中调用。
到此,服务器端基本ui界面组装完成,读者可以在此基础上美化。

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



本文地址:https://www.eechina.com/thread-769840-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • Dev Tool Bits——使用MPLAB® Discover浏览资源
  • Dev Tool Bits——使用条件软件断点宏来节省时间和空间
  • Dev Tool Bits——使用DVRT协议查看项目中的数据
  • Dev Tool Bits——使用MPLAB® Data Visualizer进行功率监视
  • 贸泽电子(Mouser)专区
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表