EATON 92-02123-00用单片机实现的项目人机界面相对简单
EATON 92-02123-00用单片机实现的项目人机界面相对简单
EATON 92-02123-00用单片机实现的项目人机界面相对简单
人机界面简介
人机界面是指人和机器在信息交换和功能上接触或互相影响的领域或称界面所说人机结合面,信息交换,功能接触或互相影响,指人和机器的硬接触和软触,此结合面不仅包括点线面的直接接触,还包括远距离的信息传递与控制的作用空间。人机结合面是人机系统中的中心一环节,主要由安全工程学的分支学科安全人机工程学去研究和提出解决的依据,并过安全工程设备工程学,安全管理工程学以及安全系统工程学去研究具体的解决方法手段措施安全人机学。它实现信息的内部形式与人类可以接受形式之间的转换。凡参与人机信息交流的领域都存在着人机界面。大量运用在工业与商业上,简单的区分为“输入”(Input)与“输出”(Output)两种,输入指的是由人来进行机械或设备的操作,如把手、开关、门、指令(命令)的下达或保养维护等,而输出指的是由机械或设备发出来的通知,如故障、警告、操作说明提示等,好的人机接口会帮助使用者更简单、更正确、更迅速的操作机械,也能使机械发挥最大的效能并延长使用寿命,而市面上所指的人机接口则多界狭义的指在软件人性化的操作接口上。
人机界面的使用方法
明确监控任务要求,选择适合的HMI产品;
在PC机上用画面组态软件编辑“工程文件”;
测试并保存已编辑好的“工程文件”;
PC机连接HMI硬件,下载“工程文件”到HMI中;
连接HMI和工业控制器(如PLC、仪表等),实现人机交互。
人机界面的编程简介
用单片机实现的项目人机界面相对简单。若为LED显示,应根据LED的位数选取简单、明燎、用户一看便知的提示符;显示的数据位数应充分考虑用户提出的技术要求。
分析编程的难点和技术解决方案
即使1个熟练的编程人员,编程过程中会遇到一些困难。为了能比较顺利地完成程序设计,应根据程序所完成的功能和程序流程对整个程序的框架分析一下,并根据自己掌握的技能定位整个程序的难点,然后找到最佳的算法。例如对于稍微大一点的项目,键盘扫描和显示部分的程序编制应该是单片机编程的难点。
(1)无论是键盘扫描还是显示过程都和硬件部分息息相关
送片选信号选取键盘就必须搞清单片机芯片是高电平选通还是低电平选通;选通键盘后,还需要读回键盘的状态。对读回的键盘状态还要进行防抖处理;若键盘抖动,放弃读回的数据,重新读键盘状态;若确定为键盘按下,才能对按键值进行处理;处理后的键值送显示或作为其它使用。由此可知以上的每一过程都和硬件电路打交道。
(2)键盘扫描和显示牵涉到的算法比较复杂
因为扫描键盘的过程就是遍历每个按键,识别抖动,识别按键是否松开等过程;除此之外还要延迟合适的时间,以便再次读取键值。显示过程也要遍历每个数码管或液晶字符;其中查表过程,送显示过程都要用到比较复杂的循环遍历算法。
(3)数字键和功能键的区分
是数字键就送显示,是功能键就转相应的功能子程序,把两者结合起来就构成比较复杂的散转程序。MCS51单片机有现成的散转子程序可供参阅,PIC可以参照MCS51的散转子程序套用。
以上3点都是单片机编程的难点部分,在编程之前都应该找出来仔细分析。通过分析,将所有可能成为难点之处都一一找出并找出相应的算法,在以后的程序编写过程中也相应地比较顺利。
写程序
在上面的准备工作完成后,就可以着手编写程序。因为有了明确的程序流程,有了充足的资料,可能遇到的难点基本上找到了解决方法;这样,事先准备得比较充分,即使在以后的程序编写过程中遇到困难,也较易解决。这样就可以节省很多时间,以便静下心来认真按照方案和流程编写程序。另外,一般写完1个功能程序就进行调试,通过后再编写另外1个功能代码,这样可以防止全部代码编写完毕后再调试可能带来的相互影响,从而可以搞清楚到底是哪部分程序有问题。
程序调试
程序的调试过程是1个比较复杂的过程,有些需要高度的技巧和一定的方法。一般的编程软件都提供单步、单步越过、断点、运行到光标处等基本方法,一般掌握这几种基本方法就可以解决绝大部分问题。经过长时间的调试实践之后自然就可以掌握一定的调试技巧,即熟能生巧。
人机界面简单编程实例 1、原理
ActiveX控件的妙处在于,控件与应用程序总是能融洽地交互。AcTIveX控件提供了三种与应用程序交互的基本机制:属性(Property)、方法(Method)和事件(Event)。用户由此三部分来控制控件并开发程序。属性是描述控件的当前状态,并影响控件的显示和行为,属性值存储在控件的变量中。方法为定义在控件内的函数(FuncTIon),方法的使用与控件所提供的功能有关,通常会影响控件本身或其行为,大多数方法的作用也会受到控件当时属性的影响。事件是在某些特定情况时,控件所产生的通知事件,事件被传递给控件应用程序以执行程序中与此事件连接的函数(Event handler)。
频率原则
即按照管理对象的对话交互频率高低设计人机界面的层次顺序和对话窗口莱单的显示位置等,提高监控和访问对话频率。
6、重要性原则
即按照管理对象在控制系统中的重要性和全局性水平,设计人机界面的主次菜单和对话窗口的位置和突显性,从而有助于管理人员把握好控制系统的主次,实施好控制决策的顺序,实现最优调度和管理。
7、面向对象原则
即按照操作人员的身份特征和工作性质,设计与之相适应和友好的人机界面。根据其工作需要,宜以弹出式窗口显示提示、引导和帮助信息,从而提高用户的交互水平和效率。
人机交互界面,无论是面向现场控制器还是面向上位监控管理,两者是有密切内在联系的,他们监控和管理的现场设各对象是相同的,因此许多现场设备参数在他们之间是共享和相互传递的。人机界面的标准化设计应是未来的发展方向,因为它确实体现了易憧、简单、实用的基木原则,充分表达了以人为本的设计理念。各种工控组态软件和编程工具为制作精美的人机交互界面提供了强大的支持手段,系统越大越复杂越能体现其优越性。
XV-102-B0-35TQR-10-PLC
XV-152-D0-84TVR-10
XV-152-D6-57TVRC-10
XV-440-10TVB-1-1AI
CV-102-B0-35TQR-10-PLC
XV-102-B2-35TQR-10
XV-102-B4-35TQRF-10
XV-102-57TVRC-10
XV-102-B6-35TQR-1AL-PLC
XV-102-D6-57TVR-10
XV-102-F0-35TQRB-10
XV-102-B5-35MQR-10-PLC
XV-102-B2-35TQR-10-PLC
XV-102-A3-57TVRB-1E4
XV-102-D4-70TWRG-10
XV-102-A4-35MQR-10
XV-102-B4-35TQRG-10
XV-102-D4-57TVRG-10
XV-102-A0-35TQRB-1E4
XV-102-A5-35MQR-10
XV-102-H457TVRL-10
XV-152-D4-84TVRG-10
XV-103-70Z-XZ00-AS01
XV-102-B0-35TQRF-1AG
XVS-440-12MPI-1-10
XVS-460-57MPI-1-10
XVS-430-10MPI-1-10
XVS-460-15MPI-1-10
XVS-640-15MPI-1-10
XVS-460-10MPI-1-10
XP-503-15-A10-A00-1V
XP-702-F0-15TXIK-10
XP-702-E0-10TSIJ-10
XP-702-F0-84TSIK-10
XP-702-F0-10TSIK-10
XP-702-C0-15TXI-10
XP-503-21-A10-A00-1V
XP-702-E0-12TXIJ-10
XP-503-15-A10-A00-1B
XP-702-E0-15TXIJ-10
XP-503-10-A10-A00-1V
XVH-342-57SKS-1-10
51单片机 ESP8266模块 APP控制继电器,物联网DIY入门新手指南
题目
大家好,超子能力有限,技术不高,有什么错误的地方,欢迎批评指正。超子之前写过一篇STM32单片机配合ESP8266的WiFi模块接入阿里云生活物联网平台的DIY实验,有小伙伴问我51单片机能不能实现,答案是能。那么今天超子就给大家介绍下51单片机的实现方法。
程序设计中,我们使用的软件是Keil集成开发环境,C语言编写。如果大家想要程序源码的话,可以私信我,超子不是专业的程序员,水平不高,大家不嫌弃就行。
一说到51单片机的型号那就太多了,因为我们要使用MQTT协议对接阿里云生活物联网平台,所以对RAM空间要求比较多,一些常见的型号比如89C51,89C52,因为RAM空间太少不能用,所以我们本次DIY程序设计使用的单片机型号是STC12LE5A60S2。
ESP8266模块是通过串口AT指令控制的那种,网上有很多,价格也比较便宜,非常适合我们做DIY。
虽然我们前面使用STM32单片机做了第一个DIY设计,但是考虑到有些小伙伴,没有看过,所以超子还是说的详细一点,把每一个步骤再重新走一遍。
图1
首先进入我们自己的阿里云生活物联网平台,然后创建项目,我们就创建一个51单片机DIY项目吧,以后所有51单片机相关的DIY设计,我们都加入到这个项目内。
图2
项目建立完毕后,可以在项目列表中,看到51单片机DIY项目,旁边的第一个DIY设计项目,是上次STM32单片机DIY设计时建立的。然后我们点击51单片机DIY项目,进入项目管理界面。
图3
接下来,我们需要创建新产品。
图4
产品名称就叫51单片机插座,大家也可以起自己喜欢的名字。然后所属品类选择电工照明下的插座。节点类型选择设备,不接入网关,因为ESP8266可以连接WiFi路由器,直接具备接云的能力,所以是直连设备,不需要网关。连网方式一定要注意,虽然ESP8266是WiFi模块,但是不能选择WiFi连网,因为我们使用的是通用的,AT指令控制的ESP8266,没有在阿里云生活物联网平台认证,不兼容阿里云生活物联网平台APP的配网协议,如果我们选择WiFi方式的话,配网过不去,程序设计就无法进行了。所以我们取个巧,使用蜂窝连接方式,跳过阿里云生活物联网平台APP的配网,我们可以用ESP8266模块自己的APP配网或是直接把WiFi的SSID以及密码写在程序里。然后数据格式选择JSON,不适用ID2认证,最后点击完成就行了。
图5
产品建立完成后,我们要先进行第1步的功能定义的设置,我们选择的是电工照明分类下的插座,所以阿里云生活物联网平台自动帮我们添加了电源开关的功能属性。所以这一步我们不需要做什么额外的设置,直接点击下一步:设备调试。
图6
我们新建设备的时候,为了跳过配网协议,所以故意选择了蜂窝的连接方式,所以我们随便选一个通过认证的模组就行,选哪个型号都不会影响我们的DIY设计。
图7
选好模组后,我们点击新增测试设备,每个产品下可以添加最多50个免费的测试设备,我们做DIY程序设计,50个足够我们用了。
图8
新增测试设备时,我们要输入设备名称,就叫D001吧,超子喜欢用这种编号命名设备,大家可以根据喜好自己设置设备名称,然后点击确定就行。
图9
然后会弹出激活凭证,也就是三元组信息,这个是登录阿里云生活物联网平台的认证信息,稍后我们修改51单片机C语言程序时要用到这些重要信息。然后我们点击下一步:人机交互。
图10
和使用STM32单片机做DIY设计时一样,我们使用阿里云生活物联网平台的公版APP,也就是云智能APP。我们打开上图中红圈所示的开关。
图11
然后我们点击未设置,选择一个界面。
图12
自己喜欢哪个,选一个就行,然后点击确认。
图13
然后页面下方,我们要配置APP功能,同STM32单片机DIY时一样,我们主要设置多语言管理,填写品牌名称,设备名称,产品编号等等,大家根据喜好自己填一个就。最下方我们看到了天猫精灵,插座是天猫精灵支持的品类,所以可以直接绑定天猫精灵的账号,用天猫精灵控制开关,非常方便。然后我们点击下一步:批量投产。
图14
我们勾选上充分了解的对勾,然后点击开发完成,到此我们整个项目的配置就算完成了,就下来我们要修改51单片机的程序了。
图15
首先看esp8266.c源文件,wifi_mode变量用于设置使用哪种方式进行配网,大家根据注释自行选择就行,如果选择0的话,SSID和密码要在esp8266.h头文件中设置。
图16
然后我们需要修改mqtt.h头文件中的6个字符串,最麻烦的就是第3个,也就是MQTT协议中CONNECT报文中的包含的密码信息。我们一个一个来,讲一下怎么修改。
我们先看第6个需要修改的字符串,服务器的域名,格式如下所示:
*.iot-as-mqtt.cn-shanghai.aliyuncs.com
我们把*号替换成我们自己设备的ProductKey,这个ProductKey就是我们新建设备时弹出的3元组信息,图9所示,以我新建的设备作为例子,我们修改一下,最终结果如下:
a1jWDQfzbVB.iot-as-mqtt.cn-shanghai.aliyuncs.com
然后看第4和第5个字符串, 都是Topic主题,第4个set是用来接收控制开关命令推送的Topic,我们需要订阅它,第5个post是用来往服务器上传数据的,这次的实验post不是关键点。那么这两个Topic再那找呢?看下图。
图17
测试设备点击红圈圈中的查看。
图18
然后在Topic列表下,可以看到post和set,根据自己设备的实际内容,修改程序中第4和第5个字符串即可。
接下来看第1个字符串,也就是MQTT协议中CONNECT报文中包含的客户端ID信息,格式如下:
*|securemode=3,signmethod=hmacsha1|
其中*号是设备名称,以我的设备为例,修改一下,结果如下:
D001|securemode=3,signmethod=hmacsha1|
然后再看第2个字符串,也就是MQTT协议中CONNECT报文中包含的用户名信息,格式如下:
*
其中*号是设备名称 ,#号是ProductKey,都是图9中的三元组信息,就以我的设备为例,修改一下,结果如下:
D001&a1jWDQfzbVB
最后再看最麻烦的第3个字符串,也就是MQTT协议中CONNECT报文中包含的密码信息,需要经过一步加密,我们先要构建待加密的明文字符串,格式如下:
clientId*deviceName*productKey#
其中*号是设备名称 ,#号是ProductKey,以我的设备为例,修改一下,结果如下:
clientIdD001deviceNameD001productKey a1jWDQfzbVB
加密用的秘钥是图9中,三元组信息里的DeviceSecret,我们网上找一个加密算法的网站。
图19
我们复制待加密的字符串和密钥的时候,一定要多检查,不要多空格,不要多回车,错一点加密后的结果都不会正确的,所以大家一定要小心。加密后的结果就是第3个字符串的内容,到此6个需要修改的字符串我们都修改完毕了,重新编译程序,下载到开发板就行了。然后我们再回到阿里云生活物联网平台。
图20
我们进入第3步,人机交互设置页面,我们点击红圈所示的内容,然后弹出页面,需要我们填写设备名称,以我的为例,填上D001,然后就可以生成我们需要的,添加设备的二维码,因为文章中不能出现二维码,所以超子就不展示了。到此我们本次51单片机的DIY程序设计,基本就完成了。
大家如果有什么想做的,或者有什么想法,都可以评论区留言告诉超子哦~~~
想要程序的小伙伴,可以举手哦~~~
相关问答
实现机械、人、屏幕三者交互?麻烦懂 人机 交互PLC 单片机 等赐教?plc可选西门子的,其他的也行,支持公开通信协议就行。组态软件,比如组态王等。剩下的就是搭建应用系统了,也就是业务逻辑控制关系这些。plc可选西门子的,其...
在座的老铁 还有谁知道,机床工业 人机界面 触摸屏价格多少,...[回答]根据功能的不同,工业平板触摸屏显示器习惯上被分为文本显示器、触摸屏人机界面和平板电脑大类。文本显示器一般采用单片机控制,图形化显示功能较弱,...
单片机 STM32有什么推荐的裸机编程架构么,或者推荐的思路也行,谢谢?有两种架构可以选:1)基于事件驱动;2)基于数据驱动。事件-适合人机界面和交互。数据-做好struct,代码围着struct转圈。裸跑尤其注意:减少中断,不要有delay...
老司机们!求教:南宁如何选择贝雷片,贝雷片效果好吗??[回答]男孩学一IT女孩,学一些会计,幼师,和修片不知你是想买个人机界面和单片机配套,还是想用单片机自己设计人机界面单片机系统一般很便宜,可以自己驱动...
英语翻译 单片机 技术作为自动控制技术的核心之一,被广泛应用...[最佳回答]Asasingle-chipmicrocomputerautomaticcontroltechnologyinoneofthecore,arewidelyusedini...
单片机 接收到的数据如何通过上位机软件连接数据库?看不懂这个问题是什么意思?简单聊聊单片机和电脑的通信形式吧。一、单片机和电脑通过串口连接基本上所有的单片机都有串行通信接口,电脑上也配备有标准串行...
老司机们 你们谁明白!!3C电子hmi 人机界面 一级经销商,hmi人...[回答]按钮和直观的HMI人机界面,Matrix120在客户易用性方面处于市场领先地位。HMI:HumanMachineInterface的缩写,“人机接口”,也叫人机界面。人机界...
河北工业大学人工智能与数据科学学院怎么样?设有哪些专业? 申...[回答]~接下来我为大家简单介绍一下我们河北工业大学的人工智能与数据科学学院开设的专业以及研究情况专业设置:计算机科学与技术-本科、软件工程-本科、...
什么是嵌入式系统?嵌入式系统是指由硬件和软件组成并且能够移植到硬件设备的操作系统。而相比较于普通的PC操作系统,嵌入式操作系统不能存储大容量的内存和程序。所以嵌入式操作系...
麻烦老表们!可以推荐一下:plc工控板 单片机 工控板?国产plc工...[回答]友好的人机界面。工控行业的...工控行业的产品和技术非常特殊,属于中间产品,是为其他各行业提供可靠、嵌入式、智能化的工业计算机。PLC(可编程逻...