首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
const
main
chat
jsp
fetch
php8
flutter
bash
client
md5
web
actionscrip
dll
cSharp
char
regex
javascript
callback
sum
stream
window
vba
join
select
scala
heatmap
plugins
import
int
instance
testing
metadata
subset
controller
shell
less
keyword
dockerfile
range
default
case
rsa
timezone
triggers
config
timestamp
header
uri
jar
php7
solr
export
express
audio
cPlusPlus
string
process
expression
cmd
merge
future
perl
settings
nodejs
js
erlang
foreach
include
random
require
io
search
cpython
python2
copy
ip
datetime
substring
python
当前位置:
开发笔记
>
编程语言
> 正文
迅为i.MX6ULL开发板QT实战项目DHT11网络编程实战练习(一)
作者:x1996y | 来源:互联网 | 2023-09-16 18:40
迅为-i.MX6ULL开发板-QT实战项目DHT11&网络编程实战练习(一)发布时间:2021-7-209:49发布者:落风
迅为-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&网络编程实战练习(二)
编程
linux
ubuntu
文件
io
input
udp
服务器
编译
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
int
C语言快速入门指南:掌握C指针与基础语法
C语言是计算机科学和编程领域的基石,许多初学者在学习过程中会感到困惑。本文将详细介绍C语言的基本概念、关键语法和实用示例,帮助你快速上手C语言。 ...
[详细]
蜡笔小新 2024-11-15 19:21:59
int
嵌入式Linux工程师笔试题精选
本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ...
[详细]
蜡笔小新 2024-11-15 10:42:13
int
C++ 中的 malloc 函数详解
malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ...
[详细]
蜡笔小新 2024-11-14 13:38:03
int
MATLAB字典学习工具箱SPAMS:稀疏与字典学习的详细介绍、配置及应用实例
SPAMS(Sparse Modeling Software)是一个强大的开源优化工具箱,专为解决多种稀疏估计问题而设计。该工具箱基于MATLAB,提供了丰富的算法和函数,适用于字典学习、信号处理和机器学习等领域。本文将详细介绍SPAMS的配置方法、核心功能及其在实际应用中的典型案例,帮助用户更好地理解和使用这一工具箱。 ...
[详细]
蜡笔小新 2024-11-09 16:17:27
char
Ave V8 JavaScript 引擎:持续优化与创新
V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ...
[详细]
蜡笔小新 2024-11-09 15:56:40
int
在Ubuntu系统中配置Python环境变量的方法与技巧
在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ...
[详细]
蜡笔小新 2024-11-05 21:42:25
int
C语言中如何使用beep函数及音调控制
本文介绍了如何在Linux和Windows环境中使用C语言中的beep函数来生成不同频率的声音,并提供了详细的代码示例和解释。 ...
[详细]
蜡笔小新 2024-11-15 16:15:36
stream
centos 7.0 lnmp成功安装过程(很乱)
下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ...
[详细]
蜡笔小新 2024-11-15 14:20:54
select
Ubuntu 22.04 安装搜狗输入法详细指南及常见问题解决方案
本文将详细介绍如何在 Ubuntu 22.04 上安装搜狗输入法,并提供常见问题的解决方法。包括下载安装包、更新源、安装依赖项等步骤。 ...
[详细]
蜡笔小新 2024-11-15 10:11:27
int
PHP 5.5.31 和 PHP 5.6.17 安全更新发布
PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ...
[详细]
蜡笔小新 2024-11-14 17:40:40
int
兆芯X86 CPU架构的演进与现状(国产CPU系列)
本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ...
[详细]
蜡笔小新 2024-11-14 15:04:34
instance
PHP 对象生命周期与内存管理
本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ...
[详细]
蜡笔小新 2024-11-12 13:35:26
stream
基于Linux开源VOIP系统LinPhone[四]
****************************************************************************************** ...
[详细]
蜡笔小新 2024-11-12 11:00:11
int
在Linux系统中避免安装MySQL的简易指南
在Linux系统中避免安装MySQL的简易指南 ...
[详细]
蜡笔小新 2024-11-11 13:22:28
char
在Linux系统上编译安装MySQL 5.5源码详细指南
本文详细介绍了在Linux系统上编译安装MySQL 5.5源码的步骤。首先,通过Yum安装必要的依赖软件包,如GCC、GCC-C++等,确保编译环境的完备。接着,下载并解压MySQL 5.5的源码包,配置编译选项,进行编译和安装。最后,完成安装后,进行基本的配置和启动测试,确保MySQL服务正常运行。 ...
[详细]
蜡笔小新 2024-11-08 19:06:26
x1996y
这个家伙很懒,什么也没留下!
Tags | 热门标签
const
main
chat
jsp
fetch
php8
flutter
bash
client
md5
web
actionscrip
dll
cSharp
char
regex
javascript
callback
sum
stream
window
vba
join
select
scala
heatmap
plugins
import
int
instance
RankList | 热门文章
1
iPhone X 使用技巧精华篇,未来已来
2
CCPC 2015 部分题解
3
mage.constants.Zone类的使用及代码示例
4
关于Event.ADDED_TO_STAGE
5
php前端脚本语言有哪些(php是什么语言脚本)
6
转《彻底搞定C指针》
7
matlab的组件是什么?
8
django MemoryError No exception message supplied
9
linux 基础知识整理 – swap 交换区创建
10
若两个函数在一点处有相同的函数值和各阶导数,则这两个函数在该点附近非常接近
11
800万中文词,腾讯AI Lab开源大规模NLP数据集
12
团队协作工具
13
com.netflix.hystrix.HystrixCollapserProperties.Setter()方法的使用及代码示例
14
“选择算法”
15
STM32F429 基于STLINK Utility SWO printf打印输出配置笔记
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有