欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序 蓝牙实现

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:789

HTML5自适应律师工作室类网

2020-04-04   浏览:654

高端HTML5响应式企业通用网

2020-05-06   浏览:560

html5响应式外贸网站英文版

2020-05-08   浏览:545

HTML5影视传媒文化公司类网

2020-05-12   浏览:543

微信小程序 蓝牙实现

发布时间:2020-12-29  

微信小程序 蓝牙的实现实例代码

1.简述

蓝牙适配器接口是基础库版本 1.1.0 开始支持。
iOS 微信客户端 6.5.6 版本开始支持,Android 客户端暂不支持
蓝牙总共增加了18个api接口。

2.Api分类

搜索类
连接类
通信类

3.API的具体使用

详细见官网:

https://mp.weixin.qq.com/debug/wxadoc/dev/api/bluetooth.html#wxgetconnectedbluethoothdevicesobject

4. 案例实现

4.1 搜索蓝牙设备

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

 

/**

 * 搜索设备界面

 */

Page({

 data: {

  logs: [],

  list:[],

 },

  onLoad: function () {

  console.log('onLoad')

var that = this;

// const SDKVersion = wx.getSystemInfoSync().SDKVersion || '1.0.0'

// const [MAJOR, MINOR, PATCH] = SDKVersion.split('.').map(Number)

// console.log(SDKVersion);

// console.log(MAJOR);

// console.log(MINOR);

// console.log(PATCH);

 

// const canIUse = apiName => {

//  if (apiName === 'showModal.cancel') {

//   return MAJOR >= 1 && MINOR >= 1

//  }

//  return true

// }

 

// wx.showModal({

//  success: function(res) {

//   if (canIUse('showModal.cancel')) {

//    console.log(res.cancel)

//   }

//  }

// })

   //获取适配器

   wx.openBluetoothAdapter({

   success: function(res){

    // success

    console.log("-----success----------");

     console.log(res);

     //开始搜索

    wx.startBluetoothDevicesDiscovery({

 services: [],

 success: function(res){

  // success

   console.log("-----startBluetoothDevicesDiscovery--success----------");

   console.log(res);

 },

 fail: function(res) {

  // fail

   console.log(res);

 },

 complete: function(res) {

  // complete

   console.log(res);

 }

})

 

 

   },

   fail: function(res) {

     console.log("-----fail----------");

    // fail

     console.log(res);

   },

   complete: function(res) {

    // complete

     console.log("-----complete----------");

     console.log(res);

   }

  })

 

   wx.getBluetoothDevices({

    success: function(res){

     // success

     //{devices: Array[11], errMsg: "getBluetoothDevices:ok"}

     console.log("getBluetoothDevices");

     console.log(res);

     that.setData({

     list:res.devices

     });

     console.log(that.data.list);

    },

    fail: function(res) {

     // fail

    },

    complete: function(res) {

     // complete

    }

   })

 

 },

 onShow:function(){

 

 

 },

  //点击事件处理

 bindViewTap: function(e) {

   console.log(e.currentTarget.dataset.title);

   console.log(e.currentTarget.dataset.name);

   console.log(e.currentTarget.dataset.advertisData);

 

  var title = e.currentTarget.dataset.title;

  var name = e.currentTarget.dataset.name;

   wx.redirectTo({

    url: '../conn/conn?deviceId='+title+'&name='+name,

    success: function(res){

     // success

    },

    fail: function(res) {

     // fail

    },

    complete: function(res) {

     // complete

    }

   })

 },

})

 

4.2连接 获取数据

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

 

/**

 * 连接设备。获取数据

 */

Page({

  data: {

    motto: 'Hello World',

    userInfo: {},

    deviceId: '',

    name: '',

    serviceId: '',

    services: [],

    cd20: '',

    cd01: '',

    cd02: '',

    cd03: '',

    cd04: '',

    characteristics20: null,

    characteristics01: null,

    characteristics02: null,

    characteristics03: null,

    characteristics04: null,

    result,

 

  },

  onLoad: function (opt) {

    var that = this;

    console.log("onLoad");

    console.log('deviceId=' + opt.deviceId);

    console.log('name=' + opt.name);

    that.setData({ deviceId: opt.deviceId });

    /**

     * 监听设备的连接状态

     */

    wx.onBLEConnectionStateChanged(function (res) {

      console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`)

    })

    /**

     * 连接设备

     */

    wx.createBLEConnection({

      deviceId: that.data.deviceId,

      success: function (res) {

        // success

        console.log(res);

        /**

         * 连接成功,后开始获取设备的服务列表

         */

        wx.getBLEDeviceServices({

          // 这里的 deviceId 需要在上面的 getBluetoothDevices中获取

          deviceId: that.data.deviceId,

          success: function (res) {

            console.log('device services:', res.services)

            that.setData({ services: res.services });

            console.log('device services:', that.data.services[1].uuid);

            that.setData({ serviceId: that.data.services[1].uuid });

            console.log('--------------------------------------');

            console.log('device设备的id:', that.data.deviceId);

            console.log('device设备的服务id:', that.data.serviceId);

            /**

             * 延迟3秒,根据服务获取特征

             */

            setTimeout(function () {

              wx.getBLEDeviceCharacteristics({

                // 这里的 deviceId 需要在上面的 getBluetoothDevices

                deviceId: that.data.deviceId,

                // 这里的 serviceId 需要在上面的 getBLEDeviceServices 接口中获取

                serviceId: that.data.serviceId,

                success: function (res) {

                  console.log('000000000000' + that.data.serviceId);

                  console.log('device getBLEDeviceCharacteristics:', res.characteristics)

                  for (var i = 0; i < 5; i++) {

                    if (res.characteristics[i].uuid.indexOf("cd20") != -1) {

                      that.setData({

                        cd20: res.characteristics[i].uuid,

                        characteristics20: res.characteristics[i]

                      });

                    }

                    if (res.characteristics[i].uuid.indexOf("cd01") != -1) {

                      that.setData({

                        cd01: res.characteristics[i].uuid,

                        characteristics01: res.characteristics[i]

                      });

                    }

                    if (res.characteristics[i].uuid.indexOf("cd02") != -1) {

                      that.setData({

                        cd02: res.characteristics[i].uuid,

                        characteristics02: res.characteristics[i]

                      });

                    } if (res.characteristics[i].uuid.indexOf("cd03") != -1) {

                      that.setData({

                        cd03: res.characteristics[i].uuid,

                        characteristics03: res.characteristics[i]

                      });

                    }

                    if (res.characteristics[i].uuid.indexOf("cd04") != -1) {

                      that.setData({

                        cd04: res.characteristics[i].uuid,

                        characteristics04: res.characteristics[i]

                      });

                    }

                  }

本文标签

: