zoukankan      html  css  js  c++  java
  • 微信硬件平台开发

     开始编码前,我们必须要梳理一下设备直连微信硬件云(微信硬件服务器)的构架,这是非常有必要的工作,它让我们清晰的明白自己在直连构架中处于什么位置,需要编写那些代码,我在这里饶了很多弯路。需要了解完整信息请查看微信硬件平台http://iot.weixin.qq.com/wiki/new/index.html? ,个人感觉有些地方写的太过含糊。

       

    这是微信硬件平台提供的构架图,有很多细节没有体现出来,所以我自己绘制了一个完整的构架图。

         从构架图里可以看到,使用微信客户端对设备进行一个直连的控制,其实并没有官方给的构架图那么简单。

        1、首先,我们必须拥有自己的服务器,这个服务器负责和微信客户端进行交互。注意不管是设备直连硬件云还是设备商云连接微信硬件云,这个服务器都是必要的。

        2、我们需要一个服务器来和微信硬件云进行交互,它可以是上述的服务器,也可以重新编写一个,为了节约成本我在开发过程里使用了同一个服务器, 但我们依然要清楚的明白,我们编写的服务器负责和微信客户端交互,也负责和微信硬件云交互。

            根据上图,简单介绍一下数据的流动,拿文本举例吧,当我们在微信客户端发送一个文本信息时,我们可以配置一个自己的服务器(后面会介绍怎么配置)来接受并处理,这里服务器并不一定要和硬件设备交互,比如用户输入深圳天气,我们在服务器接受到后,查询天气结果并返回客户端就可以,和设备并没有什么关系,这就是普通公众号的实现方式。硬件平台其实就是在公众号的基础上进行的扩展,再举一个例子吧,比如用户在微信客户端输入播放电影,我们的服务器接收到命令,转发给微信硬件云,微信硬件云发送给设备端SDK,这个过程就结束了。

           接下来的文档里我会把开发分成两个过程,一是我们服务器和微信客户端的各种交互(文字、图片、语音、菜单和网页等等),二是我们服务器和微信硬件云的交互(查询、控制设备等等) 至于设备和微信硬件的交互我们没必要关心,微信已经完成。这里我想提示一句,设备直连微信硬件云,单纯指的是微信硬件云直接和设备交互,而不是微信客户端直接和设备交互,这两者存在巨大的差别,一定要理解清楚。

           通过上面的分析,我们应该比较明确了,我们主要的任务是编写一个自己的服务器处理微信端传来的各种信息并和微信硬件服务器交互,我们还需要在设备端植入sdk,并且编写具体业务逻辑。也就是说编码主要集中在上图的橘色部分。

          最后补充一下,我们自己的两个服务器的配置,即使用同一个服务器,也需要在两个地方配置。后面会详细介绍。

    作者:KeerDi —— 北方的后生

    出处:http://www.cnblogs.com/keerdi/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    告别08
    WinForm程序如何将子窗体嵌入到父窗体的Panel里
    几种排序算法
    接口的特征
    什么是重写
    C#异常处理
    什么是重载
    结构和类的区别
    Javascript的函数
    在ASP.NET中防止注入攻击
  • 原文地址:https://www.cnblogs.com/123hll/p/8195659.html
Copyright © 2011-2022 走看看