关闭视频

开源案例 | 双STM32和机智云,一起打造“优美”的数字仪表

发表于:2021年06月21日 15:29更新于:2024年05月03日 16:39

本文是非常全面、细致的一篇,关于开发智能化数字仪表的案例,从硬件、APP应用、Web端开发三方入手,详细讲述了如何去开发一个智能设备。

 

项目所有源码、相关设计均公开,支持利用这个项目去开发数字示波器、激光测距仪、设备手持操作器、信号发生器、空气质量分析仪、水质检测仪等智能化手持式数字仪表设备。为了更好的让大家快上手仪表开发,几乎所有开发步骤都有图文版、视频版说明(视频链接)。

 

使用STM32G0 和STM32F7的硬件平台和机智云AIoT平台,搭载最新GUI的TouchGFX技术,开发数字仪表, 实现底层的测量感知,炫酷的显示,远程控制,云端连接等功能。用户可以通过手机连接到机智云云平台,并且可以随时随地获取设备的信息以及对设备进行控制。项目开源,且支持二次开发。

 

主要实现功能

 

产品功能:

♦ 在MCU设备端,美观漂亮的温度和湿度数据的UI展示

♦ 在机智云云端,实现MCU设备端连接机智云物联网平台,及数据采集并展示

♦ 在Android⼿手机端,实现通过机智云读取MCU设备端温度和湿度数据并展示

 

效果展示:

 

 

系统结构:

♦ STM32F767+STM32G071双MCU设计,易于扩展

STM32G071读取传感器数据和机智云物联网平台的连接

STM32F767负责UI界面的展示

 

可支持二次开发:

软硬件设计资源全部公布(参考第5、6条,设计文件下载和相关源码)

可以根据自己的应用,接入不同传感器, 设计自己的炫酷界面,连接各种公有云

可基于此项目设计数字示波器、激光测距仪、设备手持操作器、信号发生器、空气质量分析仪、水质检测仪等智能化手持式数字仪表设备。

 



材料准备


 

硬件:

STM32F767

STM32G071数字仪表硬件开发套件

 

软件:

STM32CubeG0固件库

STM32CubeMX

MDK 或者 IAR

机智云平台开发者账号



开发步骤
 


 

片版开发步骤更清晰,文字说明版步骤可以了解更多详情,代码详解版请访问网址

 

1、F7子板开发

 

♦ 在F7子板上从零开始创建TouchGFX UI项目

分别配有图文版、视频版的方式,介绍如何在F7板子上创建TouchGFX UI项目。

 

 

♦ 数字仪表GUI应用开发

按照TouchGFX MVP架构来分层,通过根据原理图,STM32CubeMX配置G0通过USART2与F7子板通信外设,串口接收G0子板传感器数据,传感器读取任务StartsensorTask数据处理来实现GUI界面功能,再通过可视化UI界面和少量核心代码,实现手持设备(数字仪表)的屏幕保护界面、配网界面、温湿度显示及具体按钮的操作代码。

 

♦ G0子板读取传感器与F7通信

读取传感器数据STM32CubeMX配置I2C外设,STM32CubeMX配置G0通过USART2与F7子板通信外设。

 

 

2、STM32连接机智云物联网平台

 

♦ 云端开发:讲述机智云云端开发

进行云端开发前,有必要了解一下机智云物联网平台的模式,以及常见的功能、相关的专业术语,以便后续开发的时候能节省时间。

 

♦ MCU端开发 :包含MCU通过WIFI模块与机智云通信、通过机智云OTA升级MCU固件

根据项目需求,此处是通过WiFi模块接入机智云物联网平台,让MCU获得实时数据传输的功能,所以这里要进行对MCU进行代码移植——通过STM32CubeMX移植机智云自动生成代码。为了让设备具备自动升级功能,也需要了解机智云OAT升级固件的方法。

 

♦ 手机端开发:包含Android端APP使用方法、Android端APP应用开发

首先介绍如何进行APP配网,然后再介绍在机智云平台定义产品的相关数据点(功能)后,在线生成APP代码包(基于机智云开源框架),通过AS再次开发和优化界面,最终实现我们想要的效果。

 

 

♦ Web端页面开发:

具体包括Web端使用方法、Web端网页开发及部署。介绍了如何实现网页版本仪表显示页面,具体实现内容如下两个页面:初始页面和设备页面。请注意,只有初始化成功后,才会进入设备页面,以及页面部署,使得能在个人电脑或者是通过外网访问初始页面和设备页面。由于此次设计代码比较多,将讲解核心代码以及相关的实现流程。其余代码可根据源码中的注释自行了解,亦可下载全部源码。

 

 

 

3、整机软件烧录测试文档

 

♦ F7部分

♦ G0/机智云部分

此处分门别类介绍固件少写,主要是为实现MCU具有远程控制功能、OTA升级功能服务。

 

 

4、演示效果

 

♦ DIY数字仪表单机

 

 


♦ DIY数字仪表单机+机智云 Android APP配网和数据展示

 


 

♦ DIY数字仪表单机+机智云 Web页面配网和数据展示

 

 

 

5、设计文件下载

 

♦ 软件设计文件

F7 

G0 Bootloader  

G0 App 

WIFI固件

机智云Android APP ,访问密码 2019

机智云Web APP 
 

♦ 硬件设计文档

Sensor_Design_Package

POWER_Design_Package

STM32F767ZG_Design_Package

STM32G071RB_Design_Package

 

6、相关源码

APP源码地址

websocket源码地址

 

7、参考文档

Websocket API 指南

Websocket 网页控制设备

Chart.js

JavaScript教程

 

8、补充说明

如需要查看图文版内容、相关代码解析,访问网址