zoukankan      html  css  js  c++  java
  • 从零開始搭建微信硬件开发环境全过程——1小时掌握微信硬件开发流程

    笔者决定在嵌入式企鹅圈2016年的首篇文章中,发表微信硬件物联领域极具实践价值的文章,它将能指引和帮助不论什么有兴趣于物联网开发的童鞋们高速掌握微信硬件开发流程。仅仅需一个小时。而再不须要通过揣摩微信硬件浩瀚的文档资料来完毕艰难构建。

    笔者之前以前撰写过一篇文章《基于微信硬件公众平台的智能控制开发流程》介绍微信硬件开发的流程,但该篇文章是理论性的描写叙述。而本篇文章是全然可操作实践的,请结合两篇文章理解。技术咨询请发邮件至yqwucheng@163.com

    本篇文章的目的是高速搭建微信硬件开发的环境,完毕微信硬件物联Demo。

    直接上图,傻瓜式教程!

    1.   申请微信硬件測试公众号

    链接:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,用自己的微信扫一扫即能够完毕注冊申请。微信測试公众账号重要信息包含:appID、appsecret和微信号。开发project师代表厂商/运营商的角色,所以这里的微信号事实上是代表厂商/运营商的微信ID.


    2.   开通測试微信公众账号的设备功能接口


    开启后例如以下图:


    3.   加入设备产品,获得产品编号

    点击设置进行加入:


    加入后能够看到产品的编号,例如以下图。

    这里仅仅是演示。选择设备品类为“血压计”,其编号是4735. 表明要生成微信蓝牙血压计(事实上是笔者的微信蓝牙开发板)。

     

    4.   蓝牙设备授权

    微信硬件平台的核心功能之中的一个就是对硬件设备进行身份管理。授权即是硬件设备的身份注冊,其须要硬件设备的唯一地址码MAC(比如新生儿的指纹)以及人为给这个硬件设备起的名字id(比如新生儿的姓名)。

    授权我们通过微信网页调试工具进行,链接是:http://mp.weixin.qq.com/debug/

    1)  获取access_tocken


          2) 设备授权


          授权字段定义请參考:http://iot.weixin.qq.com/document-2_6.html

    也能够依照下面改动:


    这里要特别注意。微信硬件平台有时更新了策略又没说明确。坑非常多。

    应该在2015年9月前注冊的測试号能够在不写product_id时也能成功授权,但近期注冊的測试号假设不写这个product_id会报下面错误:

          {"errcode":100020,"errmsg":"accountquota not enough"}

    说是“账号设备授权配额已用完。需又一次申请”。晕倒。我刚注冊的账号,配额就用完了,天知道微信为什么要这么搞。最后添加产品编号product_id即能够完毕注冊。

     

    5.   微信硬件測试公众号自己定义菜单

    1)  获取access_tocken,同上。

    2)  自己定义菜单,定义两个按钮


    自己定义菜单的效果例如以下:假设用户关注了该公众号,则进入该公众号后会看究竟部有开灯和关灯两个button:


    6.   部署后台开发环境

    1)   安装JDK,安装后设置系统高级环境变量JAVA_HOME。指向JDK的安装文件夹。

    2)   安装tomcat,改动apache-tomcat-7.0.64confserver.xml,将web服务port改为80


    3)   启动tomcat, 点击apache-tomcat-7.0.64instartup.bat

    4)   安装MyEclipse

    5)   MyEclipse配置Tomcat


    6)   下载微信蓝牙后台服务例子projectroseblue


    7)   MyEclipse导入roseblueproject

    8)   MyEclipse配置服务推送。即生成类文件并复制到tomcat的相应文件夹(apache-tomcat-7.0.64webapps)。


    9)       后台project配置,改动project配置属性指向微信測试账号


    7.   配置微信測试公众号的第三方服务地址。指向tomcat所在的web服务文件夹


    8.   MyEclipse生成设备二维码


    这里的device_id和mac两个值和设备授权时的值务必保持一致。Device_id能够随意取值,而mac必须是蓝牙设备的真实MAC地址。

    以Java application直接执行这个类能够生成设备二维码,生成路径能够改动:


    9.   手机用户扫描关注这个设备二维码。完毕设备绑定。

    比如昵称为O的微信用户绑定了这个设备,则在微信測试公众号的后台能够看到它的微信号。


    10.改动roseblueproject的通信设备配置


    临时不使用数据库,能够将全部的数据库操作凝视掉,并直接硬编码。

    deviceType即是第1步里面的微信号

    deviceID即是设备授权时的deviceID

    openID是绑定这个设备的用户的手机微信ID。如昵称为O的微信ID。

    11.实现Airsync协议的微信蓝牙开发板上电。開始广播。

    12.微信昵称为O的用户打开订阅的微信測试公众号,開始自己主动扫描并连接微信蓝牙开发板。

    13.公众号连上微信蓝牙开发板后,即能够发开灯和关灯指令,对微信蓝牙开发板进行控制。

    假设想要以上安装程序和代码敬请关注嵌入式企鹅圈。并发消息给嵌入式企鹅圈获取资讯。


    笔者前天受邀请到深圳參加CSDN优秀专家年底party,分享一下活动合影。

    很多其它嵌入式Linux和物联网原创技术分享敬请关注微信公众号:嵌入式企鹅圈


  • 相关阅读:
    LAMP环境搭建博客
    PHP项目中经常用到的无限极分类函数
    在PHP项目中,每个类都要有对应的命名空间,为什么?
    一键解决docker pull hello-world的问题
    网盘10M速度下载-亿寻下载器
    《提问的智慧》
    idea出现 Error:(1, 1) java: 非法字符: 'ufeff'解决方式
    多线程的四种实现方式
    Java中的get()方法和set()方法
    Java构造器(构造方法/constructor)
  • 原文地址:https://www.cnblogs.com/llguanli/p/8889465.html
Copyright © 2011-2022 走看看