方案一:

注意:这一步可以获取到设备ID和二维码,如果需要引用的可以通过二维码,而设备ID是微信后台生成的。

直接在浏览器中这样请求即可返回你需要的设备和二维码,上图只是为了大家更加明白这个是干嘛的:https://api.weixin.qq.com/device/getqrcode?access_token=TOKEN&product_id=产品ID

此接口会返回一个链接,用链接生成二维码。 用户扫描后,绑定设备。就会与设备绑定。  只有绑定后的设备微信才会主动连接 。

方案二:

1.设备授权

https://api.weixin.qq.com/device/create_qrcode?access_token=ZWcTAh_Ux2p2J6zhXeUt2cQZqMqjfShLbSTK661xrQYagO8ONtqG8LAh6jeTsNTjv7hu-ZsSQzlQOwubrsrmWgJDUa_WZVQH4muVZ75dhQGzBXdMK4lBc0FyHaeF35AKXZWjADANPM
参数:
{
    "device_num":"1",
    "device_list":[
    {
        "id":"设备Id",
        "mac":"Mac地址,不要包含冒号",
        "connect_protocol":"3",
        "auth_key":"",
        "close_strategy":"1",
        "conn_strategy":"1",
        "crypt_method":"0",
        "auth_ver":"0",
        "manu_mac_pos":"-1",
        "ser_mac_pos":"-2",
        "ble_simple_protocol": "0"
    }
    ],
    "op_type":"(0|1)0表示授权设备,1表示更新设备",
    "product_id": "产品类型Id(公众平台设备功能中产品ID)"

}

调用此接口后,在公众号主页面就会主动连接设备。

注意:这一步在链接中请求的设备ID可以用方案一中得到的设备ID,但是不一定要用 , 因为微信后台生成的是公众平台唯一ID加上后面的他生成的数据组成的。

完成上面的其中一个步骤后接着执行下面的方法:


1.页面上调用方法 
wx.invoke('startScanWXDevice', { "connType": "blue", "btVersion": 'ble' }, function (res) {
                    $('#result').append('开始扫描' + '\r\n');
                });
开始搜索周边设备,搜索到的结果会被onScanWXDeviceResult  监听到,其中会包含有设备Id和绑定状态

2.选择没有绑定设备,调用getWXDeviceTicket获取到ticket后,将ticket和设备Id,传入后台,代码如下:
 //绑定设备
            $("#bind").click(function () {
                wx.invoke('getWXDeviceTicket', { "deviceId": mac, 'type': '1' }, function (res) {
                    // $('#result').append(JSON.stringify(res) + '\r\n');
                    //获取ticket
                    var ticket = res.ticket;
                    $.ajax({
                        url: '/Test/Bind',
                        type: 'post',
                        data: { ticket: ticket, mac: mac },
                        success: function (data) {
                            console.log(JSON.stringify(data));
                        }
                    });
                });
            });
3.后台调用:https://api.weixin.qq.com/device/bind?access_token=ACCESS_TOKEN   参考页面地址:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-7   绑定的接口,完成设备和用户的绑定
4.绑定成功后,会被onWXDeviceBindStateChange监听到:
  wx.on('onWXDeviceBindStateChange',
            function (res) {
                //把res输出来看吧
                $('#result').append(JSON.stringify(res) + '\r\n');
            });
5.绑定后,IOS的设备就会主动连接设备了。

好了,下面开始给大家介绍坑。

为什么说IOS会主动连接设备呢?我想在这里说,他不光主动,还特么秒连,如果你们测试连接的时候,尽量找一个IOS手机放在身边,否则你连不上的时候大概就会以为是程序有问题了。 下面来讲讲安卓机,安卓机有时候连接得非常快,有时候会灰常灰常慢,或者直接连不上,任你想破脑袋,最终的结果就是,有时候还是连不上,经过研究发现,这个是因为当你进入微信对应的公众号时,上面有一个正在连接,或者是已连接0个设备,这个是因为微信会不断的去扫描设备,如果扫描到了,会直接请求配对,所以有时候我们没点页面中的扫描按钮就会出现已连接一个设备。开始说重点了 , 如果我们通过公众号,点击网页进入页面,点击扫描设备时,会发现身边的设备都扫描到了,会进入(onScanWXDeviceResult)这个监听函数中,但是连接有时候会连不到,但是扫描的那个函数虽然有时会扫描不到,但是公众号上方的那个不断的扫描和请求是一直都在执行的,如果它连接到设备了,那么你进入网页点扫描的时候会秒连。在这里就是想告诉大家,公众号上方的那个连接是一直都存在的。有时候忽然连上了也许就是它连上了。如果是一个公众号连接多个设备的时候(问题只存在安卓机)在连接中也只能连接一个设备的,连接上来的都是公众号上方的那个连接做的事。

在微信公众号连接设备中,虽然微信会不断的扫描,但是扫描到设备之后只会连接一次,而IOS一次就连接上了,安卓系统完全靠运气!

有不足之处,请大家踊跃发言,提出来大家一起学习,共同进步,让更多人少遇坑!

微信硬件平台蓝牙打印机相关推荐

  1. 微信小程序连接蓝牙打印机打印图片示例

    微信小程序连接蓝牙打印机示例 完整的代码示例请点击看github 小程序连接蓝牙打印机打印文本与二维码等示例在 github 上都能找到一些,唯独打印图片这个案例几乎没有.希望能帮助到有打印图片需求的 ...

  2. uniapp微信小程序连接蓝牙打印机 打印文字、图片

    首先感谢几位的文章分享 https://blog.csdn.net/guairena/article/details/127941515 https://blog.csdn.net/qq_379700 ...

  3. 微信硬件蓝牙开发各种坑不完全开发指南

    几个基本要用的东西: 1.微信公众平台 网址:https://mp.weixin.qq.com 申请微信公众号,获取微信测试号. 2.微信JS-SDK说明文档 网址:http://mp.weixin. ...

  4. 一张图读懂基于微信硬件平台的物联网架构

    原文链接:点击打开链接 一. 基于微信硬件平台的物联网架构图示 上图涵盖以下信息: 1.   基于微信硬件平台的物联网的架构组成,有微信公众平台/硬件平台.第三方厂商云后端.手机微信/公众号.微信硬件 ...

  5. 微信硬件平台的基础接入和硬件云标准接入分析

    本文分析基于微信硬件平台的物联网架构,将从物联网的核心要素.物联网的关键场景.微信硬件平台的通信协议分析三个维度去分析.更多的微信硬件平台开发的深度技术原创分享请订阅微信公众号:嵌入式企鹅圈. 微信硬 ...

  6. 微信硬件蓝牙开发指南

    几个基本要用的东西: 1.微信公众平台 网址:https://mp.weixin.qq.com 可以在此申请微信公众号,获取微信测试号. 微信测试号拥有所有功能权限,如果你有正式的企业服务号,就不必用 ...

  7. 微信硬件蓝牙开发教程之添加蓝牙设备(1)

    @V型知识库原创    已推出最新微 信硬件jsapi学习笔记 地址 http://www.vxzsk.com/282.html 申请设备功能 a. 登录公众平台,点击左边功能栏的"添加功能 ...

  8. 微信硬件平台智能路由行业解决方案

    路由器是提供Wi-Fi网络的重要设备,服务了亿万的家庭,但依然被认为是非常专业的设备,普通用户都不懂得如何使用.我们希望通过微信硬件平台的能力,降低用户使用路由器的门槛,更好的管理自己的网络,更便捷的 ...

  9. android蓝牙打印机

    您还未登录!|登录|注册|帮助 首页 业界 移动 云计算 研发 论坛 博客 下载 更多 reality_jie的专栏 编程的过程是一种微妙的享受 目录视图 摘要视图 订阅 CSDN2013年度博客之星 ...

最新文章

  1. 使用putty远程linux服务
  2. linux系统下设置oracle开机自动启动
  3. 元素节点、属性节点、文本节点 的节点属性
  4. R.java文件介绍
  5. JSR303数据校验-2021新版
  6. 有没有python的班_【万字长文】别再报班了,一篇文章带你入门Python
  7. php版本7历史,php的版本发展历史(1995-2020)
  8. 阿里P8大佬亲自讲解!朝阳java培训
  9. React学习手记4-组件分类(受控组件和非受控组件)
  10. 笨方法“学习python笔记之关键字
  11. Golang笔记——tcp 编程
  12. 数据分析:AI智能科技影响下,电话机器人实现落地
  13. 野火 FireConfig 配置连接Wifi
  14. STM32F103_study54_The punctual atoms(STM32 There have always been questions about learning STM32)
  15. 计算机网络基础以及linux面试知识点总结
  16. Mac下的SVN客户端
  17. ALSA子系统(七)------simple_card添加虚拟声卡
  18. 计算机领域的所有SCI一区期刊,这是最顶级期刊了
  19. 2022年大学应届生破千万,就业形势严峻,打工人准备好了吗?
  20. 《富爸爸,穷爸爸》读后感——怎么实现财务自由

热门文章

  1. 软件测试需要会python吗_真实揭秘90后职业新选择:25岁刚入行软件测试,竟拿到这么多薪资……...
  2. 解决“由于文件许可权错误 word无法完成保存”问题
  3. 转载-文件资源管理器无响应的解决办法
  4. SAP SE38代码大小写设定
  5. 控制过滤器Filter执行顺序
  6. 虚函数 虚继承 抽象类
  7. 拓展:将simulink的仿真图_在matlab画出_复制到word
  8. 两台linux服务器互相自动备份
  9. 港澳出入境通行证办事流程
  10. RPG Maker XP游戏制作方法(六)