背景

随着物联网(IOT)的发展,很多的智能设备进入了寻常人家,比如各类智能家电产品,比如智能洗衣机、智能冰箱、智能空调,这些智能产品为我们的生活提供了很多的便利和舒适的生活,并且解放了我们的双手。现在的我们只需在手机上下载产品的APP(格力+、海尔智家、美的美居),只需在移动端动动手指,设备可以快速地通过网络的方式被控制。那APP端的控制命令是怎样到设备的呢?经过了怎样的转换呢?

图 1 设备控制流程图

一般来说,APP端的控制信号会传递到自己的服务器,之后再通过服务器来进行命令转发;但是在前后端分离的大背景下,两者之间传递的都是Json格式的数据,那如果直接将Json格式的命令直接给电控端,就会导致命令不匹配,因为电控板只是支持二进制控制,那这里就涉及到控制命令的转化了。所以我们设备控制的流程图就如下:

图 2 设备控制流程图

如图2 所示,在转化过程中,使用到了一种脚本语言:lualua在智能设备控制中起到了举足轻重的左右,所有的控制都需要经过它转换,那什么是lua呢?

转换脚本—lua简介

维基百科:Lua是一个简洁、轻量、可扩展的脚本语言。Lua有着相对简单的C API而很容易嵌入应用中。很多应用程序使用Lua作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。

特点

Lua 特点展示

Lua 因为其快速、可扩展的优势,被广泛应用于多个方面,其中主要的两个方面是游戏开发和 Web 应用脚本。

实例

这是一条智能空调设备的控制命令:

{"control":{"mode":"auto","applianceId":"178*****56","wind_swing_ud":"off","small_temperature":0,"mac_value":"88,77,22,24,34,bb","sensor_mode":1,"Oxygenerator_cmd":1,"wind_swing_lr":"off","temperature":26,"wind_speed":101,"power":"off","position_value":"01"}}

以上的控制命令属于脚本值,我们是很方便看懂的,但对于设备来说它是不会的,因此需要用编写的脚本对这些脚本值进行处理,转换成电控能识别的属性值。

AA 16 AC BA 00 00 00 00 00 21 02 01 01 06 00 06 88 77 22 24 34 BB 1F

这是一条下发的命令,对于设备响应之后,同理会对当前的设备的状态进行上报,上报的状态也需要进过lua脚本进行解析,解析之后发送到APP端进行状态同步;及时告诉用户此时设备的运行状态。因此整个设备的控制是双向的:控制下发和状态上报。

图 4 控制下发和状态上报流程图

在物联网(IOT)背景下服务器怎样和电控板打交道的?相关推荐

  1. 基于IOT背景下,嵌入式电子相册的设计

    基于IOT背景下,嵌入式电子相册的设计 目录 基于IOT背景下,嵌入式电子相册的设计 一.设计目的 二.整体设计 三.软件设计 四.测试视频 五.总结 前言:随着物联网技术的不断发展,物联网技术在城市 ...

  2. 【物联网(IoT)开发】Arduino IDE的工具开发板菜单中找到我的开发板型号怎么办?

    Arduino IDE的工具>开发板菜单中找到我的开发板型号怎么办? 最近刚买的 WeMos D1 WiFi Arduino UNO 开发板ESP8266 连接电脑后,驱动也安装成功了,但是在A ...

  3. 当无触控板和鼠标的情况下,如何开启触控板

    背景:一次出行匆忙,忘记带鼠标,周围也无可用工具,主要是触控板当时也被我关闭了,下面讲述一下我是如何解决在没有鼠标的情况下开启触控板的. 首先我们开启电脑后, 存在两种思路去开启触控板 第一种方案是可 ...

  4. 扫地机器人水箱背景_智能扫地机器人电控水箱与普通水箱的区别。

    很多想要购买扫地机器人的用户不太注重水箱这一配件,但在实际使用中,水箱可是大有学问,今天就为大家讲解一下电控水箱与普通水箱的区别.普通水箱:渗水速度不可控制,容易泡坏木地板,充电与暂停状态下无法停止渗 ...

  5. 解决mac下鼠标滚轮和触控板方向相同的问题

    mac的触控板已经很好用了,但是在某些时候,还是要用到鼠标(特别是对于我这种游戏开发的ui仔,没有鼠标,拼ui简直是痛苦),但是mac下触控板的双指滚动方向和鼠标滚轮的方向是一致的,总有一个不舒服,我 ...

  6. Mac下如何独立设置触控板和鼠标滚轮的方向

    推荐网址 Mac下独立设置触控板和鼠标的滚动方向 - 简书 (jianshu.com)

  7. ubutun 滑动 触控板_Ubuntu下触控板手势调节软件xSwipe

    楼主进了一台Thinkpad T450s,触控板支持4点触控,安装了ubuntu14.04 LTS之后,触控板只剩下双指滑动了,略有不爽,各种google,百度. 真找到办法了. 首先得知了touch ...

  8. 对话罗伟:5G背景下 物联网领域最大挑战在于商业模式

    9月25日,一年一度的云栖大会在杭州云栖小镇如期举行.作为阿里巴巴的重要生态合作伙伴,有方科技连续第四年应邀参展,展会期间,有方科技副总裁罗伟与TechWeb进行深度交流,详解有方的重磅产品及其未来发 ...

  9. 基于物联网的轻量级REST服务器的设计与实现【译】

    基于物联网的轻量级REST服务器的设计与实现[译] 摘要 近年来,物联网技术和Web Service技术得到了迅速发展.越来越多的传感器被广泛应用于铁路.港口.航空航天.供暖等领域.利用物联网技术和W ...

最新文章

  1. IDEA 不能显示项目里的文件结构
  2. 设计模式:选择排序(select sorting)
  3. 卫星导航技术主要应用领域有哪些?
  4. 矩阵分析与多元统计 线性空间与线性变换2
  5. SQL进阶教程 | 史上最易懂SQL教程 5小时零基础成长SQL大师
  6. seo模拟点击软件_网站用软件刷排名好不好?
  7. 一台路由器实现电信ITV与宽带共享上网
  8. 基于携程游记的出行领域顺承事件图谱项目
  9. Linux中报库或者程序找不到的解决方法
  10. oracle删除实例步骤,命令行删除Oracle实例
  11. 机器学习--k均值聚类(K-means)
  12. nginx 日志正则分割
  13. C++ lock 加锁,解锁
  14. 加载远程图片_Cocos Creator工程JavaScript实现远程图片的加载
  15. ubuntu安装包常用下载地址
  16. 基于深度学习的人脸识别技术综述
  17. 2018计算机三级网络技术百度云,百度网盘2018旧版
  18. 计算机考试的知识要记忆背,2019年3月计算机等级考试这样复习才更有效率
  19. 关于中国教育出来的学生
  20. win10系统解决office16的VBE6EXT.OLB不能被加载的问题

热门文章

  1. 雷观(五):认准的事情,要做就做到极致
  2. 解决windows图标和程序真正图标不一致的问题。
  3. 用程序员的语言:5000工科男抢200女同学做女朋友,怎么完美解决
  4. 双向链表的一个简单的例子
  5. 企业如何才能打造出一个高端大气上档次的公司品牌(官网)网站?
  6. C语言:账号登陆问题
  7. 贝叶斯调参——bayes_opt
  8. 怎么在Excel2003版中查找重复值
  9. 感知系统性能评估分析解决方案
  10. 飞行员态势感知的机理研究