本文是非常全面、细致的一篇,关于开发智能化数字仪表的案例,从硬件、APP应用、Web端开发三方入手,详细讲述了如何去开发一个智能设备。
项目所有源码、相关设计均公开,支持利用这个项目去开发数字示波器、激光测距仪、设备手持操作器、信号发生器、空气质量分析仪、水质检测仪等智能化手持式数字仪表设备。为了更好的让大家快上手仪表开发,几乎所有开发步骤都有图文版、视频版说明。
使用STM32G0 和STM32F7的硬件平台和机智云AIoT平台,搭载最新GUI的TouchGFX技术,开发数字仪表, 实现底层的测量感知,炫酷的显示,远程控制,云端连接等功能。用户可以通过手机连接到机智云云平台,并且可以随时随地获取设备的信息以及对设备进行控制。项目开源,且支持二次开发。
主要实现功能: 产品功能:
效果展示:
系统结构:
可支持二次开发: 软硬件设计资源全部公布(参考第5、6条,设计文件下载和相关源码) 可以根据自己的应用,接入不同传感器, 设计自己的炫酷界面,连接各种公有云 可基于此项目设计数字示波器、激光测距仪、设备手持操作器、信号发生器、空气质量分析仪、水质检测仪等智能化手持式数字仪表设备。
材料准备:
硬件: STM32F767 STM32G071数字仪表硬件开发套件
软件:
STM32CubeG0固件库 STM32CubeMX MDK 或者 IAR 机智云平台开发者账号
开发步骤:
片版开发步骤更清晰
文字说明版步骤可以了解更多详情
1、F7子板开发: 分别配有图文版、视频版的方式,介绍如何在F7板子上创建TouchGFX UI项目。
按照TouchGFX MVP架构来分层,通过根据原理图,STM32CubeMX配置G0通过USART2与F7子板通信外设,串口接收G0子板传感器数据,传感器读取任务StartsensorTask数据处理来实现GUI界面功能,再通过可视化UI界面和少量核心代码,实现手持设备(数字仪表)的屏幕保护界面、配网界面、温湿度显示及具体按钮的操作代码。
读取传感器数据STM32CubeMX配置I2C外设,STM32CubeMX配置G0通过USART2与F7子板通信外设。
2、STM32连接机智云物联网平台
进行云端开发前,有必要了解一下机智云物联网平台的模式,以及常见的功能、相关的专业术语,以便后续开发的时候能节省时间。
根据项目需求,此处是通过WiFi模块接入机智云物联网平台,让MCU获得实时数据传输的功能,所以这里要进行对MCU进行代码移植——通过STM32CubeMX移植机智云自动生成代码。为了让设备具备自动升级功能,也需要了解机智云OAT升级固件的方法。
首先介绍如何进行APP配网,然后再介绍在机智云平台定义产品的相关数据点(功能)后,在线生成APP代码包(基于机智云开源框架),通过AS再次开发和优化界面,最终实现我们想要的效果。
具体包括Web端使用方法、Web端网页开发及部署。介绍了如何实现网页版本仪表显示页面,具体实现内容如下两个页面:初始页面和设备页面。请注意,只有初始化成功后,才会进入设备页面,以及页面部署,使得能在个人电脑或者是通过外网访问初始页面和设备页面。由于此次设计代码比较多,将讲解核心代码以及相关的实现流程。其余代码可根据源码中的注释自行了解,亦可下载全部源码。
3、整机软件烧录测试文档 此处分门别类介绍固件少写,主要是为实现MCU具有远程控制功能、OTA升级功能服务。
4、演示效果
4.2 DIY数字仪表单机+机智云 Android APP配网和数据展示
4.3 DIY数字仪表单机+机智云 Web页面配网和数据展示
5、设计文件下载 F7 : http://weibo.ws/vSMAVWG0 Bootloader :http://weibo.ws/UFJjlfG0 App : http://weibo.ws/EsSxHAWIFI固件 : http://weibo.ws/CkSLHH机智云AndroidAPP : https://www.pgyer.com/gizwits 访问密码 2019机智云Web APP : https://club.gizwits.com/webapp/demo/index.html
Sensor_Design_Package : http://weibo.ws/vVrOHG POWER_Design_Package: http://weibo.ws/yLiMNf STM32F767ZG_Design_Package:http://weibo.ws/McnFqY STM32G071RB_Design_Package:http://weibo.ws/jlSyXP
6、相关源码 APP源码地址:https://github.com/xuhongv/AndroidGizWitsSTDiyMeter websocket源码地址:https://github.com/gizwits/gizwits-wechat-js-sdk
7、参考文档 Websocket API 指南:http://docs.gizwits.com/zh-cn/Cloud/WebsocketAPI.htmlWebsocket 网页控制设备: http://docs.gizwits.com/zh-cn/UserManual/UseWebsocket.htmlChart.js:https://www.chartjs.org/JavaScript教程:https://www.w3school.com.cn/js/index.asp
8、补充说明 如需要查看图文版内容、相关代码解析,访问下面的网址
https://club.gizwits.com/thread-165606-1-1.html
|