微信硬件平台设备直连全讲解(5)服务器和设备的交互之设备授权

本文主要是介绍微信硬件平台设备直连全讲解(5)服务器和设备的交互之设备授权,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        各位好,真抱歉呐,前段时间公司事情比较忙一直没时间更新文章,博客都快长草了呢,这两天会尽快写完。之前讲到微信端和我们服务器的交互http://blog.csdn.net/u011791526/article/details/51683625   从这一篇文章开始讲解我们服务器和设备的交互,但是本文主要讲的不是交互而是交互前的准备工作——设备的授权和登录。

        先不着急敲代码,微信还不知道我们设备的信息呢,这里我们要先到微信公众平台里申请一个产品,具体步骤是登陆微信公众平台——>添加功能插件——>设备功能

(找不到设备功能的,只能去用测试号或者申请认证咯,普通的公众号用户是没有这个权限的)——>添加产品

        具体信息自己填写吧,我们这里讲解的是wifi直连设备

        所以接入方案选择微信硬件云标准接入方案下的设备直连硬件云

        连接类型选择wifi

        产品二维码选择每个产品唯一二维码,当然你也可以根据实际需求选择

        产品能力登记页为了方便测试全部选择默认,其中控制面板的选择和编写后面会详细讲解这里先随便选吧

       上述所有信息在你把产品(设备)寄给微信那边认证前都是可以修改的,按自己实际需求填写就可以。        



       申请好产品以后,我们将得到一个产品id,后面编码时会用到

       就是我打码那个数字(公司信息不能透露咯O(∩_∩)O~~)




      好了现在我们可以到设备端编码了,我的设备装的是安卓系统,所以我在设备端的编码主要是编写一个android的APP,使用其他设备的同学们依葫芦画瓢吧。

    

      先给大家简单的介绍一下授权。首先这个授权有什么用呢?不知道大家想过没有,我们希望通过微信控制设备,但微信端是怎么绑定设备的呢,并且当我们的服务器收到了来自微信端的信息后怎么知道这个条信息要发往哪一台设备?这里有两个主要问题:

     1、微信和设备的绑定

     2、服务器获取绑定关系

没错,授权帮我们解决了这些问题。那么授权具体做了什么,授权时我又需要提供哪些设备信息呢?详情可以参考官方文档,写的非常详细:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-6

     大概讲一下授权过程:

     首先我们请求微信硬件服务器,它会分配一个设备id(deviceId)和二维码字符串给我们,这里的设备id和二维码是一一对应的,同时还会发送一个设备证书(Devicelicence)给我们,后面登录时会用到

     然后,我们把设备的mac地址和刚刚获取到的设备id(deviceId)发送给微信硬件服务器,这一步相当于告诉硬件云:你给我的设备id绑定的是这一台设备哦

     最后,把第一步获取的二维码显示出来,用户通过微信扫描这个二维码,就可以同时绑定并且关注我们的公众号了。与此同时,在我们扫码绑定设备时,微信会发送用户号和设备号这一组信息到我们的服务器。

   具体的代码参考文档吧,当然也可以参考我写的代码。


        1、获取access_token,这是一个验证信息,相当于微信给我们的一个通行证,当我们主动请求微信硬件云时必须带上它,它的时效是两个小时,而且还有次数限制(每天最多可以获取2000次)这里建议获取以后存一下,避免频繁请求服务器。

     获取access_token的方式参考官方文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183&token=&lang=zh_CN

     贴一下文档里的主要信息:

   

       



    2、获取设备号、二维码和设备证书

       提醒一句,官方文档里关于获取设备号和二维码的描述落了一点,那就是这个接口同时也返回了设备证书,解析时记得把三个消息都保存下来

       接口里的productid,到微信公众平台拿,被我打马赛那个数字就是



 

     3、授权设备

        这个接口要填写的信息很多,请按照文档里的认证填写

       http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-6




4、生成二维码,用户扫码

      呃,把第二部获取到的二维码字符串显示成图片,这个我就不贴代码了,自己去研究吧

5、当我们用微信扫码绑定设备后,服务器会收到如下信息:


上面的device_id就是设备号,open_id就是用户号






这篇关于微信硬件平台设备直连全讲解(5)服务器和设备的交互之设备授权的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069110

相关文章

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与