已推出最新微信硬件jsapi学习笔记 地址 http://www.vxzsk.com/282.html

要想获取设备的deviceid和设备的二维码,必须满足1个条件,设备所属的产品号码product_id,产品的id在添加设备列表中查询,@V型知识库原创如下图:

红色圈箭头所指的就是产品号码product_id

java代码如下:

package com.wepayweb.weixin.util.device;
/**** V型知识库 www.vxzsk.com*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class DeviceTest {public static String sendGet(String url, String charset, int timeout){String result = "";try{URL u = new URL(url);try{URLConnection conn = u.openConnection();conn.connect();conn.setConnectTimeout(timeout);BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), charset));String line="";while ((line = in.readLine()) != null){result = result + line;}in.close();} catch (IOException e) {return result;}}catch (MalformedURLException e){return result;}return result;}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubString access_token="";//String product_id="";String data = DeviceTest.sendGet("https://api.weixin.qq.com/device/getqrcode?access_token="+access_token+"&product_id="+product_id, "utf-8", 30000);System.out.println("获取设备的deviceid和二维码:"+data);}}

main方法中大概是49行acess_token参数请参考如何获取access_token章节。

第二个参数product_id已经在上面说过,还是不清楚的读者请看上面的图片所标示的。

执行main方法后,返回的数据大概结构如下:

正确的Json返回结果:

{"base_resp":{"errcode":0,"errmsg":"ok"},"deviceid":"gh_1755c346b0b9_004cb738ac631af0","qrticket":"http:\/\/we.qq.com\/d\/AQ2DBteOl389f6b19HSo_uPMm-7ubPTjFztb-iCSa"}

上面的json字符串是我给我自己的蓝牙设备产品生成了一个唯一的二维码,deviceid已经写的很清楚了,可能初学者很迷惑,二维码呢?在哪里在哪里?其实 qrticket 这个字段就是二维码,我们把qrticket的值复制出来,然后百度二维码生成器,把连接复制到生成器里点击生成即可生成图片样式的二维码,操作如下:

图示中的链接实际上有个小问题,就是"\"一定要去掉

错误的Json返回示例:

{resp_msg:{"ret_code":-1," error_info":"system error"}}

如果返回错误 请核查自己的product_id和access_token是否正确。

好了,到此我们已经获取到蓝牙设备的deviceid和二维码了,特别说明:我们这里生成的deviceid并不是硬件厂商给设备烧制的id而是微信公众平台自行给我们生成的设备id 和硬件厂商烧制的并不是同一个id。

提醒读者,生成设备的二维码图片不要急于打开微信和手机蓝牙,扫描绑定设备连接,因为我们只是生成了设备的二维码和id而已,即使绑定设备后,也是无法和设备的进行蓝牙连接的,因为我们还未给设备授权。下一节将会讲解设备授权,敬请期待!

微信蓝牙设备开发教程之获取蓝牙设备deviceid和设备二维码(2)相关推荐

  1. thinkphp5 获取带参数公众号二维码 以及如何接收二维码参数 微信公众号开发(一)

    // 获取公众号带参数二维码     public function getqrcodeticket($value='')     {         // @header('Content-type ...

  2. 视频教程-微信公众平台深度开发v2.0第3季——二维码、模板消息-微信开发

    微信公众平台深度开发v2.0第3季--二维码.模板消息 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试(软考) ...

  3. java二维码定位获取坐标并替换原来二维码

    有段时间没有写博客了,不知道是因为工作的原因还是懒了... 程序员还得以写代码为生,so~进入主题吧 公司是做广告服务的,运转模式一句话就是:在车内设备上播放广告主投放的广告,并获取收益,现在有个需求 ...

  4. asp微信会员积分上下级团队注册,带参数推荐人的二维码,分销等级会员生成二维码海报系统

    昨天一个好友来电话让帮忙做一个程序,他的老板让他做一个能扫码注册的会员系统,注册会员必须要推荐人的二维码扫才可以注册,这就是需要带参数的二维码了,还要生成宣传海报,还要生成会员自已的二维码,还要带积分 ...

  5. 微信公众号开发(十)——扫描带参数二维码事件

    我们通过微信扫码二维码已经是十分频繁的操作了,为了满足用户渠道推广分析和用户帐号绑定等场景的需要,微信公众平台提供了创建带参数二维码的接口,通过产生的ticket,去获取二维码图片.当用户扫描这个二维 ...

  6. 实例:用C#.NET手把手教你做微信公众号开发(11)--生成带参数二维码

    上一篇讲了普通关注的各种情景,接下来准备详细讲解带参数的二维码的应用实例.在下一篇详解之前,这里先介绍一下如何下载二维码.生成二维码表,为后续的应用做好准备. 为了满足用户渠道推广分析和用户帐号绑定等 ...

  7. 【微信小程序】使用 wx.scanCode方法实现扫描二维码的功能

    在微信小程序中,你可以使用 wx.scanCode 方法实现扫描二维码的功能.以下是一个简单的示例代码: // 在某个页面或组件中调用扫描二维码功能 wx.scanCode({success(res) ...

  8. APP下载二维码微信扫一扫无法打开解决方案(一张二维码安卓苹果通吃)

    微信扫一扫屏蔽了APP下载连接无非是想让大家将资源转移到自家平台,国人微信中毒过深,看到二维码首先想到的一定是微信(好强大的用户引导).为了更好的用户体验,只能向腾讯屈服将应用转移到腾讯平台.当然如果 ...

  9. C#判断用户是否使用微信浏览器,并据此来显示真实内容或二维码

    平时我们看一些网页的时候会发现这样的功能:有的页面只能在微信里访问,如果在电脑上访问就只显示当前地址的二维码.这个用C#怎么实现呢?我们结合代码来看看. 首先,我们需要先判断用户使用的是什么浏览器,这 ...

最新文章

  1. 技术图文:Matlab向量 VS. Python列表
  2. jQuery操作input改变value属性值
  3. 三角形周长最短问题_一道三角形周长最小值问题
  4. 简明Python教程学习笔记_1_基本
  5. dropload.min.js 下拉刷新后,无法上拉加载更多
  6. scipy.misc 介绍
  7. 小愿景,职业发展,思维拓展
  8. poj 3626 Mud Puddles
  9. Java实现 LeetCode 321 拼接最大数
  10. 路由巧设置 局域网轻松限制BT下载
  11. Maven:A cycle was detected in the build path of project 'xxx'. The cycle consists of projects {xx}
  12. vba word 查找_教你一招!学会这些word小技巧,班级数据管理不犯愁,老师们一定要知道!...
  13. 如何在本地搭建FTP服务器以及搭建后的用途
  14. thinkDifferent思维糖果
  15. 沐风:了不起的便利店
  16. VPC是什么,VPC详解
  17. 周志明虚拟机最新版,大厂面试必备宝典
  18. 科技论文翻译,俄语文档的语法有何特点
  19. 图卷积网络(Graph Convolutional Networks, GCN)详细介绍
  20. C++学习笔记(一):中文字符的处理——批量读取和修改文件夹下文件名,以及wchar_t/wstring与char/string不得不说的故事

热门文章

  1. 7-6 输出大写英文字母分数 (15分)
  2. 6-3 每个单词的首字母改为大写 (10 分)
  3. python程序运行时间的几种分析方法
  4. 阿里企业邮箱smtp设置(实践)
  5. OpenBot开源小车
  6. UE5——Actor生命周期——销毁
  7. web前端学习526-534(变量概述,变量的使用,变量语法扩展,变量命名规范,推荐Diagram Designer)
  8. android手机内存使用情况分析
  9. 平面设计师笔试题应答技巧|智测优聘总结
  10. 算法详解之狄克斯特拉算法