迅为-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

多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&网络编程实战练习(二)

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

  1. 北京迅为IMX6ULL开发板 DHT11网络编程实战练习

    转自:[北京迅为i.mx6ull终结者开发板使用手册]第六十三章 QT 实战项目 硬件平台:IMX6ULL开发板   63.1 DHT11&网络编程实战练习 本项目为阶段性练习,内容简洁实用, ...

  2. 迅为i.MX6ULL 开发板开机进度条修改文档

    转自:迅为IMX6ULL开发板使用手册第七十一章 硬件平台:迅为i.MX6ULL 开发板 本章节介绍的是iTOP-iMX6ULL-修改开机进度条的显示和修改步骤,使用的资料已经放到了开发板网盘资料中路 ...

  3. 迅为iTOP-i.MX6ULL 开发板-Mqtt 移植教程

    本文转自迅为IMX6ULL开发板教程第第八十八章,关注公众号:迅为电子,回复 :终结者,免费获取产品资料   移植环境 Ubuntu:迅为提供的 ubuntu16.04 编译器:gcc-linaro- ...

  4. 讯为开发板移植linux,迅为I.MX6ULL开发板移植Linux5.4内核教程

    4412上移植最新5.4内核的流程非常的简单,因为4412被Linux官方支持,那么我们来看一下怎么把官方5.4内核移植到我们的I.MX6ULL终结者开发板上. 平台:i.MX6ULL开发板 前言 本 ...

  5. 迅为i.MX6ULL开发板资料下载,让Linux学习更轻松

    迅为电子的 i.MX6ULL 核心板分为工业级和商业级两种.提供的接口是邮票孔方式. 开发板资料下载链接: 链接:https://pan.baidu.com/s/174ob7bzIaf_ls8_O4Q ...

  6. 树莓派Pico W无线WiFi开发板使用方法及MicroPython网络编程实践

    树莓派Pico W开发板是树莓派基金会于2022年6月底推出的一款无线WiFi开发板,它支持C/C++和MicroPython编程.本文介绍树莓派Pico W无线WiFi开发板的使用方法及MicroP ...

  7. 【技术分享】迅为i.MX6ULL开发板-Uboot-Logo修改方法

    硬件平台:iMX6ULL开发板 本文介绍的在 uboot 下 logo 显示和修改步骤. 使用的资料已经放到了开发板网盘资料中,路径为"11_Linux 系统开发进阶\72_章节使用资料&q ...

  8. 迅为I.MX6ULL开发板镜像烧写

    .1 l mfgtool 烧写镜像 烧写镜像 开发板出厂前默认已经烧写了镜像,如果用户需要重新烧写镜像,可以参考本章. NXP 官方提供了 Windows 的上位机烧写工具 mfgtool,迅为电子在 ...

  9. 迅为i.MX6ULL开发板-Qt5.7Mplayer 移植文档

    硬件平台:迅为iMX6ULL开发板 84.1 交叉编译 Libmad-0.15.1b 本章节使用的资料已经放到了开发板网盘资料中,路径为:"11_Linux 系统开发进阶\84_章节使用资 ...

最新文章

  1. Eclipse——UML类图插件
  2. android中sp的意义_两分钟理解Android中SP与DP的区别
  3. spring体系结构_了解Spring Web应用程序体系结构:经典方法
  4. 【我的物联网成长记13】物联网卡能否携号转网?
  5. 9种对抗电脑辐射的方法
  6. php 连接 sqlserver
  7. 全网首发:java[50077:153519] Cocoa AWT: Not running on AppKit thread 0 when expected. libawt_lwawt.dylib
  8. Reg Organizer(电脑注册表清理大师)官方中文版V8.70 | win10注册表清理工具下载
  9. 小程序毕设作品之微信小程序点餐系统毕业设计(4)开题报告
  10. 了解Go编译处理(一)—— go tool
  11. zcu102_14_Zynq在Standalone下使用uGUI
  12. POJ 3047 Bovine Birthday 日期定周求 泽勒公式
  13. 签字后被开除_我的易到经历以及老易到员工是如何被乐视派驻高管从易到开除的...
  14. dejavu中如何添加html文件,DejaVu术语库的建立与导入.pdf
  15. 【事件图谱】事件抽取与事件关系抽取
  16. vue2的动画,混入Mixin,插件,指令,渲染函数,响应式,MVVM
  17. 在Unity中实现简单的动画转场
  18. APS计划排产软件助家纺企业进行成本控制
  19. C语言小黄鸭-->函数()
  20. 【数学】SSL_1335 蛋糕切割

热门文章

  1. AllenBradley罗克韦尔CIP通信协议介绍 C# AllenBradley(CIP)读写操作PLC数据 C#罗克韦尔(CIP)PLC通信
  2. Boost PFC参数计算——PFC电感
  3. 提取EXCEL中事故里程
  4. (原)解决精伦iDR200 SDK在.NET开发环境中提示尝试读取或写入受保护的内存错误...
  5. Java实现基本数据结构——数组
  6. 重建同义词+oracle,[ORACLE]Oracle 同义词(synonym)
  7. 最新office2016安装mathtype出现错误提示的解决办法
  8. 前端程序员常用构建工具
  9. 大数据为何“赌”不对猪周期?
  10. 找出1000以内的所有完数