专栏首页嵌入式大杂烩基于合泰单片机的高校公寓远程能源监控系统

基于合泰单片机的高校公寓远程能源监控系统

1、前言

合泰半导体隶属中国台湾盛群半导体集团,合泰杯单片机应用设计竞赛的比赛形式为:作品自由发挥,要在几个月之内完成,且必须使用合泰单片机。比赛分为三个环节:初赛、复赛、决赛,每一环节都会刷掉一部分队伍。

2、作品分享

2.1 作品简介

这是我们团队2017年合泰杯省一等奖作品。本作品以合泰HT32F1656为终端主控,采集公寓当前用电用水数据,并将采集到的数据通过终端无线WIFI发送至云端服务器,通过电脑Web端或手机APP远程查看数据,并可通过电脑Web端或手机APP随时随地远程控制公寓开关水电。通过测试结果证明本作品很好的解决了上述公寓用水用电的诸多诟病,实现了智能的公寓生活。并且,设备终端也配备有显示屏,可实时显示一些用水用电等数据。

2.2 作品模块构成图及系统框图

2.2.1 系统框图

本系统主要由电源模块存储模块继电器控制模块无线WiFi模块显示控制模块环境温度采集模块电能信息采集模块用水采集模块组成,系统控制芯片为HT32F1656。该系统方框图如下图所示:

2.2.2 模块构成图

3、人机交互过程图及云端监测

3.1 人机交互过程图

电脑Web端、手机APP端是基于中移动ONENET云平台搭建的,基于ONENET提供的接入协议和平台功能,用户终端与电脑Web端、手机APP、云服务器共同构建了一套完整的能源测控系统。用户终端即时的将数据推送至云平台,云平台根据推送的数据进行云端和手机APP端同步更新。电脑Web端、手机APP端通过发送指令控制终端。如图所示:

3.2 云端监测过程图

4、程序流程图

4.1 主流程图

4.2 与云端通信流程图

5、作品图片

5.1 设备终端实物图

5.2 Onenet云端监测图

在WEB端显示采集的用水用电情况,及断水断电开关进行控制如下图所示:

5.3 设备终端UI界面

我们的设备终端屏幕使用的是串口屏,关于串口屏在往期笔记中已经有分享:基于STM32的智能天气预报系统

5.3.1 UI界面方案一:

5.3.2 UI界面方案二:

5.3.3 自拍图

最后放个自恋的自拍图,哈哈~

6、代码获取

https://github.com/zhengnianli/EnergyMonitor

该代码工程是在keil下创建的,但是要安装合泰单片机相关插件(可能会存在兼容性问题),可在我的微信公众号后台回复关键词:能源监控,即可获取该作品代码及keil插件。若安装插件打不开,可使用source insight代码阅读器进行阅读,关于source insight的介绍可查看往期分享:这么好用的代码阅读器你装了吗?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C语言、嵌入式位操作精华技巧大汇总

    对于ST的芯片的使用,大家平时在学习、工作中大多使用库函数的方式来开发吧?我之前也是用库函数来进行配置,最近发现直接配置寄存器有时候好像更容易些,而且可读性也不...

    正念君
  • 【C语言笔记】指针变量的运算

    指针变量也是可以进行运算的,如指针变量对其自身加上某个整数或减去某个整数,这在内存上体现为:相对这个指针向后偏移多少个单位或向前偏移了多少个单位,这里的单位与指...

    正念君
  • 替代串口打印,嵌入式中另一种打印调试的方法

    在我们的嵌入式开发中,常常把printf重定向到MCU的串口外设,再配合上位机界面软件,通过打印调试信息的方式来调试我们的嵌入式软件。

    正念君
  • [小记]Centos7网络配置DNS配置解决、yum出错解决。

    Eller
  • 安恒信息独家中标中国移动2016年度Web漏洞扫描产品集采

    中国移动2016年度Web漏洞扫描产品集采已于日前结束。此次集采由杭州安恒信息独家中标。作为唯一的中标单位,安恒信息将为中国移动通信集团公司、各省有限公司提供全...

    安恒信息
  • 智慧建筑直采系统引领建筑行业全新采购模式发展

    当前国内疫情已逐渐得到较好控制,新增病例占比持续下降。在各地区一边严抓防疫防控、一边稳固经济发展助推企业复工复产的共同努力下,我国开始进入复工高峰期。各地区亦纷...

    全球共德
  • 一小时快速掌握zabbix配置的高效学习法

    有人说zabbix难点在配置,面对很多的配置项,不知道所以然了,其实我觉得这是没掌握好zabbix的学习方法,要掌握了zabbix的学习思路,可以在一个小时内快...

    迅达集团
  • 简单的做一个颜色进制转换

    以蓝色为例,#0000FF应该被表示成rgb(0,0,255)。 我们将函数命名为getRGB() (可以将字符串视为数组,这个数组的元素为字符) functi...

    okaychen
  • 前端基础-CSS细线表格

    cwl_java
  • 【译】runit 快速入门

    这篇教程将通过一个简单的示例来讲解如何创建新的runit服务。如果你想了解更多信息,可以查看runit的官方文档。

    用户2936342

扫码关注云+社区

领取腾讯云代金券