vesperW · 2月14日

分享一个 Qt+STM32 上下位机嵌入式综合项目

在 GitHub 上看到一个开源的嵌入式综合项目,该项目基于 STM32F407 处理器,融入了 QT5.9.9 客户端,TCP、MQTT 通信,JSON 通信规则,云服务器 Linux 操作系统,MySQL 数据存储转发等技术。

开源地址:

https://github.com/DXT-parsif...
  • QT 客户端界面:

image.png

  • STM32 开放板:

Image

下位机

STM32F407 裸机开发:开发环境前提需要向 ESP8266WIFI 模块烧录带 MQTT 的 SDK 固件,控制部分有三个 led、fan(PWM 调节,定时器 TIM 控制)、beep,tem、hum(DHT11)在 OLED 显示屏(I2C)显示,并具有按键菜单,AT24C02(EEPROM)实现掉电保护。数据传输部分首先连接 WIFI,再订阅自己 ChipID 的主题,上传时下位机发送的主题和上位机订阅主题一致(调试使用),MQTT 服务器订阅下位机发送的主题信息,写入数据库;并且实现定时中断上传状态数据。下位机还需解析下传的 ChipID 主题的控制 JSON 数据。开发语言:C

上位机

QT 同样也要加入 mqtt 开发库,导入 pro 工程文件,控制部分直接下发 ChipID 主题(实现了用户绑定式多设备控制的功能)消息控制设备,同时和服务器 TCP 通信抓取数据,更新显示状态,实现动态曲线图展示实时数据,外加语音识别功能,实现远程控制设备。http 查询当地天气预报,可以切换城市,以及可扩展多媒体播放器,实现在线音乐播放(设计 JSON 解析)。开发语言:C++

服务器

分 TCP 服务端(同上位机通信)和 MQTT 服务端(同下位机通信)。MySQL 数据库搭建,开启远程访问许可,建立多用户绑定设备数据表,和设备外设数据表。

最后

由于上位机和下位机开发语言有所差异,涉及到的相关函数接口各异,具体分析。下位机 ESP8266 和 STM32 需要实现串口转发,调试 AT 使得能够连上 WIFI。上位机语音识别调取百度云 API,JSON 解析识别结果。

开源地址:

https://github.com/DXT-parsif...

END

来源:strongerHuang

推荐阅读

欢迎大家点赞留言,更多 Arm 技术文章动态请关注极术社区嵌入式客栈专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
2904
内容数
325
分享一些在嵌入式应用开发方面的浅见,广交朋友
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息