基于stm32的多功能时钟9——上位机控件设计

        嘿,小伙伴们,大家好!

        在上一章中,小编讲解了如何通过蓝牙实现数据的传送,达到下位机与上位机的通信。在这一章中,我将主要介绍上位机控件的设计。注意,这里我只讲解针对本制作的上位机的设计,如果仍对《蓝牙调试器》这块软件细节操作上不清楚的,可以自行摸索,同时也可参阅软件开发者XLazyDog的文章(这位可是大佬,参加过电赛和智能车比赛的,而且还获得国一)。


设计思路:

(1)数据采集,实时显示

温湿度:采用文本显示数据,能量槽显示所占比例

空气质量:采用文本显示显示数据

测量距离:采用文本显示数据,同时采用Y-T一维波形图显示曲线(曲线-时间)

(2)蓝牙控制,参数调整

温湿度上下限、空气质量上限、安全距离均采用可编辑文本设置参数。

采用开关控件完成取消报警和启动/停止电机的操作。

操作过程:

添加工程
专业调试界面

        首先,进入专业调试界面,点击下面的加号,工程名字输入多功能时钟(自定义),点击确定,即新建了一个工程。点击工程空白的地方,出现下拉菜单,点击通信设置,此时进入数据包结构设置。

        这里,我先补充一下通信协议的知识点。一般来说,通信协议的数据结构包括:起始字节、数据字节、校验字节和结束字节。采用起始字节和结束字节是为了发送方和接收方的通信上的同步,而采用校验字节是为了保证传输数据的准确性。

数据包说明

        在《蓝牙调试器》里,开发者也是特别的用心,有数据包结构的说明,点击该界面右上角的问号,即可显示。根据数据包说明,我们知道起始字节,也就是包头,为固定值0xA5,而校验字节就是所有数据字节之和的低8位,结束字节,也就是包尾,为固定值0x5A。我们写程序要严格按照此通信协议严格执行。

接收数据包

        数据包结构设置界面最下面有3个选择项,我们先选择接收数据包。我们需要实时显示温湿度、空气质量、测量距离、报警状态和电机状态。由于数据包数据类型是从上至下依次发送的,所以我们要注意数据的顺序。我们在字节值中添加温度、湿度、报警状态和电机状态。由于空气质量和距离可能会超过128(这里字节是有符号的,-127~128),所以选择短整形添加进去。

发送数据包

        我们再选择发送数据包,在字节值里依次添加温度上限、温度下限、湿度上限、湿度下限、取消报警和启停电机,在短整形里依次添加空气指标和安全距离。

通信模式

        最后,选择通信模式,在通信模式设置里选择"仅操作控件时发送",这里说一下,如果选择"定时发送",由于接受频率也很高,可能会出现通信堵塞的情况,当然"不发送,仅接收"肯定不能选。后面的设置默认即可。

添加控件

        此时,退出通信设置,进入编辑控件界面。为显示温度,我们可以做个文本显示数值,再做个能量槽显示比例(更直观)。点击加号,弹出添加控件框,选择文本,此时,弹出"选择要链接的数据"框,默认Receive(即接收),选择byte(字节),此时弹出刚才定义的变量数据框,选择温度即可。然后选择一个能量槽,选择温度,此时要设置能量槽上下限,下限输入0,上限输入100即可。此时关于显示温度的控件就设计完成了。湿度、空气质量、距离也一样。不过,我们可以利用"Y-T一维波形图"来实时显示距离的动态变化的趋势,绘制相关的曲线。同样的方法,链接好距离变量即可。由于我们需要设置一些阈值,这里可以通过可编辑文本来实现,这里不再阐述。报警状态和电机状态也可以通过文本实现,即0表示没有报警(或电机关闭),1表示有报警(或电机启动)(这里为了方便,统一用字节,没有用布尔类型)。取消报警和启停电机(这里是强制启动电机的)可以用开关来作为操作控件。

控件设计

        到此为止,只要适当地布局一下控件,上位机控件设计的工作就完成了。


        通过本章的学习,我相信,大家对于上位机控件设计这块应该是挺有兴趣的,因为这个不需要编写任何代码,即可设计出兼容我们项目的上位机界面来,相当得有趣。当然,我们仍然需要根据通信协议的规定,来完成下位机的代码开发,从而实现数据的监控。

        最后,还是要感谢这位简书网名为XLazyDog的开发者,水平很高,开发的软件,是目前我使用过的最好的一款,再这里,表达真心的感谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容