天猫精灵智能设备对接(8) 开发者网关地址

洋洋洒洒六七千字已经搭进去了,终于把服务器篇写的差不多了,当然小狂不是专业的写手,有些东西写的凑合看吧,只是说明过程,并不修饰言辞,看的舒服就点个赞,不舒服就当学东西了吧。这篇文章我们将完成天猫精灵服务器与我们服务器的对接,进行真机测试,返回我们当前的设备,用以调试。并且能拿到当前的天猫精灵解析的数据,把这篇做完如果要是有相应的硬件知识的话,就可以控制自己的智能设备了。这篇文章的结构将会按照创建一个天猫精灵的智能设备的需求去写。希望大家看的畅快淋漓。

这篇文章主要参考了这两篇文章https://bbs.hassbian.com/forum.p ... B%E7%B2%BE%E7%81%B5和https://bbs.hassbian.com/thread-1900-1-1.html。

对于不熟悉PHP开发的亲们来说,小狂提供一个PHP语法和函数的查询网站,挺好用的http://php.net/manual/zh/function.md5.php。


我们在天猫精灵的一项设置里需要填写开发者网管地址,那个是天猫精灵在得到第三方硬件平台认证后,post协议的地址,由此我们就根据POST的协议,拿到控制信息以及返回响应信息。我们在/var/www/html中建一个gate.php文件,用于解析POST过来的协议,先放一个天猫精灵的协议地址,http://doc-bot.tmall.com/docs/do ... Id=107454&docType=1,然后小狂会一点一点解析gate.php中的内容。


在文件的开头,每次获得执行这段文本前就会生成一个独一无二的uuid,这个就是协议文本中的


用于天猫平台跟踪返回指令用的,在最后也会告诉你这个,然后出错通过提供messageID进行天猫精灵服务端的判别



图中1标号是用来获取POST过来的数据,这个是PHP获取http POST获取到的数据的一种方式,当然还有其他方式,大概有3种吧,感兴趣的可以去查一下。图的2标号是把获得到的数据进行json解码放到obj中,json是http传送的一种格式。3标号是获取本次请求的messageID值,会回传到天猫服务器的。


这一段代码用来回复天猫服务器我们的设备都有哪些,我们可以参考一下天猫精灵的协议说明,这一段代码是天猫服务器POST后要响应的数据。


所有表格中要求返回的数据都必须返回,有一个不对,都会导致天猫精灵控制的时候找不到对应的设备。所以一定要好好填。图中1标号中说明经协议是设备发现协议,2中的东西基本都固定了,%s那个会在后边利用sprintf来实现messeid的复制,3标号中的乱码是因为我用的是中文,不用管,直接用了别人的设备信息,所以设备信息没有改,协议中有说明不再解释,主要说说5,在图上5可以看出设备支持全部信息查询,温度查询、湿度查询和开关状态查询,这个是固定的,由协议指定,可以是操作类中的属性也可以是查询类中的属性,这个不能乱填,决定了天猫精灵语义识别后返回的信息,填写的时候一定要慎重。再放一个灯具的设备返回信息。


下图所示为设备控制协议的详细内容和解析,只截出打开指令协议的详细内容,其他的协议内容于此类似



图中标号1说明天猫云服务器发送的是控制指令,标号3返回正确的响应,标号4返回错误的响应,这些参数都是有device_control解析处理后传回来,标号2用来解析控制指令,device_control在aligenies_request.php中就是对发送过来的设备名,设备动作,查看天猫POST过来的数据包是否正确,如果正确给出正确的响应,如果不正确给出错误的响应,不再列举具体的解析协议,只给出处理的过程。

1是返回错误指令的设备名等信息,标号2把正确控制信息进行json格式化,标号3是把这些信息POST发送给另外一个php文件用于保存给硬件设备进行获取,标号4返回正确指令的设备名等信息,这些信息用于格式化输出POST响应数据。

下图为设备响应指令的详细协议以及协议的解析和响应




协议的解析和设备控制协议的解析采用的思想差不多,只不过查询和控制这两个过程是正好相反的。过程控制是主动存储数据,然后又硬件设备读取,查询是硬件设备返回数据存储到服务器上在查询的时候读取。就这样,具体的代码看aligenies_request.php中的内容吧,这里会调用存储读取的具体PHP,这个URL存储在homeassistant_conf.php中,这个可以改成各位URL,密码我自己测试没有用到,所以没写,有需要的可以写上密码,然后比较安全

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/49384.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot项目接入天猫精灵

springboot项目接入天猫精灵 最近工作需要使用到天猫精灵的语音功能,大体是通过呼叫对应的“调用词”实现携带参数,然后调用我项目中的接口,以实现对应的业务。所以在此简单的记录下使用过程 实际上:天猫精灵的官方文档记录的也很…

天猫精灵智能家居对接,及天猫iot官网配置图文讲解(一)

天猫智能家居对接 1-1、介绍 这篇文章主要是介绍,如何使用java对接天猫精灵智能家居提供的api。这么做的好处就是能让用户通过天猫精灵发送命令到我们的服务器,然后操控设备执行一系列的命令,当然这些功能呢都是天猫精灵官方制定的协议&…

java对接天猫精灵语音助手实现对公司其下的智能设备进行控制(附上源码)

java对接天猫精灵语音助手实现对公司其下的智能设备进行控制 前言当初刚来广州 公司上一任java已经离职半年 ,项目已经跑不动了,才招人的,所以我获得的是一个连跑都跑不起来的项目源码并且对项目一无所知,一年前网上并没有对接天…

天猫精灵智能设备对接(7) OAuth2.0

在开始之前先放两篇参考,一篇英文http://bshaffer.github.io/oauth2-server-php-docs/cookbook/,一篇中文https://www.cnblogs.com/endv/p/7868549.html,中文博客里的内容基本上是把英文官方文档翻译一遍。到这里如果你不知道OAuth2.0是啥可以…

天猫精灵对接2(OAuth 搭建)

根据 接入方式及流程 中的说明,可知,搭建过程中,我们需要自己整一个 OAuth 的授权平台,具体说明可以参考蟋蟀大哥的文章 ASP.NET WebApi OWIN 实现 OAuth 2.0 ,我的实际代码也是基于文章给出的源码修改的。 第一步 认…

天猫精灵对接智能设备

why to do:   我之前一直很喜欢智能家居,可惜的是现在市场上成品的智能家居实在是太贵了,屌丝的码农是在背不起每月高额的房贷和装修费用的基础上,再买成品的智能设备(像某米那样一个智能开关,竟然卖那么…

从零玩转系列之SpringBoot3-核心原理

一、简介 1.前置知识 ● Java17 ● Spring、SpringMVC、MyBatis ● Maven、IDEA 2.环境要求 环境&工具版本(or later)SpringBoot3.1.xIDEA2023.xJava17Maven3.5Tomcat10.0Servlet5.0GraalVM Community22.3Native Build Tools0.9.19 二、SpringBoot3-核心原理 1.事件和监听器…

SpringBoot3【⑤ 核心原理】

1. 事件和监听器 1. 生命周期监听 场景:监听应用的生命周期 1. 监听器-SpringApplicationRunListener 自定义SpringApplicationRunListener来监听事件; 1.1. 编写SpringApplicationRunListener 这个接口的实现类 1.2. 在 META-INF/spring.factories …

开发必备,开源 or 免费的 AI 编程助手

AI 大模型的火热,让开发圈近来如虎添翼,各种各样基于 AI 技术的开发者工具和新范式不断涌现,尤其是 Github 和 OpenAI 共同推出的 Copilot X ,更是一骑绝尘。本文推荐一些开源 or 免费的 AI 编程工具,不妨试着用起来。…

超过5000人的2年研究表明,这一活动破坏你的身心健康

Tips 原文作者:Minda Zetlin 原文出处:A 2-Year Study of More Than 5,000 People Shows This 1 Activity Destroys Your Emotional and Physical Health 阅读时,把文中的 Fackbook 换成微信。 国外主要用 Facebook; 国内主要是微…

申请阿里云服务器并搭建公网可支持数据上传下载的HTTP服务器

1. 前言 拥有一台自己的云服务器可以做很多事情。阿里云服务器毫无疑问是国内最好的。 阿里云服务器可以用于各种互联网应用的搭建和运行,提供稳定、高性能的服务。 阿里云服务器的用途,包括但不限于以下几个方面: 网站托管:可以将…

谷歌眼镜秀出时尚风采:对面的女孩看过来

摘要:在近日举办的纽约时尚周上,让身材火辣的模特带上谷歌的眼镜,行走在T台之上。主打时尚牌,进一步加固谷歌眼镜在大众消费阶层的印象,尤其是女性消费者。谷歌眼镜创始人Sebastian Thrun指出:谷歌眼镜特别…

学生台灯什么牌子好对眼睛好?专业护眼灯的学生台灯分享

据报告统计,2022年我国儿童青少年总体近视率为52.7%,其中6岁儿童为14.3%,小学生为35.6%,初中生为71.1%,高中生为80.5%,这些数据让人不寒而栗! 专家表示,导致儿童青少年近视的因素&am…

【UGP VR眼镜排行榜】2018VR眼镜眼镜哪个好?什么VR眼镜值得买?综合推荐十大热品

科技的发展,高科技产品层出不穷,VR眼镜的出现使人们足不出户也能享受到高品质的观影感受。VR(Virtual Reality)即虚拟现实,简称VR.虚拟现实头戴显示器设备,简称VR头显VR眼镜.现在,VR眼镜已不是什么稀奇的东…

《谷歌眼镜》新书作者:眼镜需要成为AR的载体吗?

近10年前,谷歌推出了首款AR眼镜Google Glass,尽管这款产品并没有如预期般取得成功,但它为后续AR硬件技术的发展奠定了基础。我们知道,从微软HoloLens开始,AR头显/眼镜产品更侧重于B端应用,面向C端发售的很少…

Karl Guttag:现有Micro LED/LCoS+光波导AR眼镜对比解析

轻量化是未来AR眼镜的发展趋势,为了缩减尺寸,AR眼镜厂商尝试了多种方案,长期来看Micro LED光机在小型化上更有优势,但现阶段LCoS光机的图像表现更好。在CES 2023期间,DigiLens、Lumus、Vuzix、OPPO、Avegant也展出了不…

偏光太阳镜测试图片软件,[专题]真假偏光太阳镜简单、实用辨别方法!

偏光太阳镜主要是通过镜片的平衡排列的结晶体原理,只让与晶体平衡的光波通过,而向其它角度震动的光波会一律被阻挡的方法(如同百叶窗的原理)制作而成。 正是利用这种原理,偏光太阳镜便可以有效地排除和滤除光束中的偏振光,使光线能…

智能眼镜的两种显示方式

to管理员:哪一个是广告,全是广告!难不成网友的链接都不能给了?!你们的评判标识是什么? 就现有的技术而言,受限于通讯及周边模块、电源的限制,眼镜只适合于作为显示器使用。 眼镜显示…

谷歌眼镜

谷歌眼镜(Google Project Glass)是由谷歌公司于2012年4月发布的一款“拓展现实”眼镜,它具有和智能手机一样的功能,可以通过声音控制拍照,视频通话和辨明方向以及上网冲浪、处理文字信息和电子邮件等。 查看精彩图册 目录 产品简介 发布信息…

微信小程序开发制作 | 小程序开发者工具功能介绍

小程序开发者工具是微信官方提供的用于开发和调试小程序的工具。它支持 Windows 和 Mac 两种操作系统,并提供了许多实用的功能,使得小程序开发者能够快速地开发和调试小程序。 下面是小程序开发者工具的主要功能介绍: 1.编辑器:…