微信小程序调用蓝牙功能控制车位锁
第一次学用微信小程序,项目需要,被逼着研究了一下,功能是调用微信小程序的蓝牙功能,连接上智能车位锁,控制升降,大概步骤及调用的小程序接口API如下:
1。打开蓝牙模块 wx.openBluetoothAdapter(OBJECT)
2。搜索附近蓝牙设备 wx.startBluetoothDevicesDiscovery(OBJECT)
3。获取发现的所有蓝牙设备 wx.getBluetoothDevices(OBJECT)
4。连接上蓝牙设备 wx.createBLEConnection(OBJECT)
5。获取设备所有服务 wx.getBLEDeviceServices(OBJECT)
6。获取设备某个服务中的所有特征值,记下能写数据的那个特征值 wx.getBLEDeviceCharacteristics(OBJECT)
7。向蓝牙设备发送升/降指令 wx.writeBLECharacteristicValue(OBJECT)
8。关闭蓝牙模块 wx.closeBLEConnection(OBJECT)
注意事项:厂商会给你个设备的通讯协议的文档,里面写有发送什么指令是控制升,什么指令是控制降,然后还有哪个特征值是可以发送指令的,一个设备下有多个服务,每个服务下又有多个特征值,有些是不能发送指令的,可以用微信小程序开发工具里的远程调试,console.log()打印出来一个一个看看
源码:https://coding.net/u/niunan/p/wxapp_bluesuo/git?public=true



微信小程序调用蓝牙功能控制车位锁的更多相关文章
- 微信小程序开发-蓝牙功能开发
0. 前言 这两天刚好了解了一下微信小程序的蓝牙功能.主要用于配网功能.发现微信的小程序蓝牙API已经封装的很好了.编程起来很方便.什么蓝牙知识都不懂的情况下,不到两天就晚上数据的收发了,剩下的就是数 ...
- 微信小程序在线支付功能使用总结
最近需要在微信小程序中用到在线支付功能,于是看了一下官方的文档,发现要在小程序里实现微信支付还是很方便的,如果你以前开发过服务号下的微信支付,那么你会发现其实小程序里的微信支付和服务号里的开发过程如出 ...
- 微信小程序新闻列表功能(读取文件、template模板使用)
微信小程序新闻列表功能(读取文件.template) 不忘初心,方得始终.初心易得,始终难守. 在之前的项目基础上进行修改,实现读取文件内容作为新闻内容进行展示. 首先,修改 post.wxml 文件 ...
- 微信小程序之蓝牙开发(详细读数据、写数据、附源码)
本文将详细介绍微信小程序的蓝牙开发流程(附源码)准备:微信只支持低功耗蓝牙也就是蓝牙4.0,普通的蓝牙模块是用不了的,一定要注意. 蓝牙可以连TTL接到电脑上,再用XCOM调试 一开始定义的变量 va ...
- 微信小程序实战 购物车功能
代码地址如下:http://www.demodashi.com/demo/12400.html 一.准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.com/ ...
- 图解微信小程序---调用API操作步骤
图解微信小程序---调用API操作步骤 什么是API API(Application Programming Interface,应用程序编程接口:是一些预先定义的函数,目的是提供应用程序与开发人员基 ...
- 微信小程序调用用百度地图天气功能
#小程序之调用百度地图天气功能 本篇博客主要介绍小程序在百度地图中获取天气信息,如有不全请指出.下面先上效果图 主要内容 百度地图API的个人密钥,也就是AK 请求百度地图API接口数据 获取到的信息 ...
- 微信小程序之蓝牙 BLE 踩坑记录
前言 前段时间接手了一个微信小程序的开发,主要使用了小程序在今年 3 月开放的蓝牙 API ,此过程踩坑无数,特此记录一下跳坑过程.顺便开了另一个相关的小项目,欢迎 start 和 fork: BLE ...
- 微信小程序之购物车功能
前言 以往的购物车,基本都是通过大量的 DOM 操作来实现.微信小程序其实跟 vue.js 的用法非常像,接下来就看看小程序可以怎样实现购物车功能. 需求 先来弄清楚购物车的需求. 单选.全选和取消, ...
随机推荐
- CentOS yum时出现"Could not retrieve mirrorlist"
问题描述: CentOS 6.x minimal(最小化) 安装, CentOS yum install net-tools 时出现"Could not retrieve mirrorlis ...
- git reset与git revert比較
git reset git reset的作用是还原Index的状态或改动本地分支HEAD的位置. 这个命令适合用于从某个提交点又一次开新的分支.比方,假设某个提交之后的代码我们都不要了,就能够在本地r ...
- django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面
1.为test.DB数据库预先创建下面数据 1 张三 16 2015-01-02 12 李四 17 2015-01-04 13 王五 14 ...
- jQuery 绑定事件及移除绑定事件方法和元素事件列表
1.jQuery Event 事件: ready(fn); $(document).ready()注意在body中没有onload事件,否则该函数不能执行.在每个页面中可以有很多个函数被加载 ...
- maven pom文件结构简析
要使用maven,入门的最好办法就是在myeclipse中直接新建一个maven项目,同时勾选create a simple project选项,这样能快速创建一个简单的默认类型的符合maven默认结 ...
- Inno Setup入门(四)——为程序创建桌面快捷方式
Icons这一可选段定义所有创建在开始菜单和\或其它位置 (比如桌面) 的快捷方式.一个例子如下: [setup] ;全局设置,本段必须 AppName=Test AppVerName=TEST De ...
- vmware网络模式仅主机模式linux不能ping通window
问题描述 vmware在使用仅主机模式,新建的linux虚拟机,不能ping通window本机(宿主主机).....(这不蛋疼吗...) 注意:后面的搞定后的结果 解决方案 开启家庭组的,网络发现功能 ...
- Screen2EXE录屏|录制视频
Screen2EXE是一款具有独到压缩算法的屏幕录制软件,它可以记录用户在屏幕上的每一步操作,包括鼠标轨迹,点击动作给予花环提示,然后保存为不需播放器即可观看的exe可执行文件. 在生成录制文件的大小 ...
- Mac巧用AirDrop实现大文件传输
最近想更新一下Xcode8.3,无奈资源太大,不想一点点下载了,公司服务器上正好有官网下载好的,就想直接拿过来使用,本来想通过QQ传输的,无奈发现QQ传输提示资源过大. 于是就想到了这货:AirDro ...
- Spring使用内存数据库
有时候为了做些测试需要创建数据库及相关表,安装MySQL等轻量数据库虽然简单但还是有点麻烦?而且用于自己临时测试的数据库对象一般不会被多次使用,还是浪费?内存数据库结合ORM可以很好解决这个问题. H ...