ios蓝牙开发

扫盲篇之您的手机如何与蓝牙Mesh节点通信

末鹿安然 提交于 2020-02-22 13:58:57
概述 与Zigbee、Thread等其他MESH组网技术相比,蓝牙Mesh能够在不需要额外硬件成本的前提下实现手机与蓝牙Mesh节点的通信,无疑是一个巨大的优势,因此本文将着重讲解手机是如何与蓝牙Mesh设备通信的,希望给读者以清晰的理解。 手机软硬件 手机软硬件的设计问题决定了蓝牙Mesh节点与手机通讯的方式,这是问题的出发点,因此本文将从手机的软硬件讲起,一步步洞悉其全貌。 硬件 现在的智能手机,不管是苹果或其他众多安卓厂家,蓝牙无疑都是手机标配,在笔者书写本文时,蓝牙已经演变到5·2版本,当然受限于整个供应链的问题,手机上携带的蓝牙版本目前还没有到最新版本,目前市场上蓝牙版本的分布以4-2和5-0为主,而蓝牙Mesh所要求的是蓝牙版本在4-0及其以上即可,因此,读者不必担心手机的硬件约束问题。另外,需要科普的是,从蓝牙4-0开始,蓝牙实际开始走两条路线:传统路线(Classic BT)也就是所谓的经典蓝牙,这种蓝牙通常注重于数据的高速传输,例如:蓝牙耳机,蓝牙音响等,第二条路线(Low Energy)低功耗蓝牙,该类型的蓝牙注重于功耗的低耗,例如:智能手环,智能锁等。相对于手机来说,一般都是集成这两类,我们称之为双模蓝牙。对于蓝牙音响一般都是单纯的经典蓝牙以及智能手环一般都是单纯的低功耗蓝牙,我们将这些分类为单模蓝牙

iOS蓝牙4.0开发例子

大憨熊 提交于 2019-12-21 15:04:50
本文转载自: https://www.cnblogs.com/visen-0/p/4013119.html 作者:visen-0 转载请注明该声明。 1建立中心角色 #import <CoreBluetooth/CoreBluetooth.h> CBCentralManager *manager; manager = [[CBCentralManager alloc] initWithDelegate:self queue:nil]; 2扫描外设(discover) [manager scanForPeripheralsWithServices:nil options:options]; 3连接外设(connect) - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI { if([peripheral.name isEqualToString:BLE_SERVICE_NAME]){ [self connect:peripheral]; } s); } -(BOOL)connect:

基于物联网平台开发手机混合 App

三世轮回 提交于 2019-12-05 23:44:01
摘要: 本节内容简单地介绍了如何结合现有的物联网平台去开发一个手机应用程序,在上面展示数据、控制设备,并且还介绍了怎样用蓝牙去和设备通信。 手机应用与Web应用开发有很多的相似之处,它们都是调用一些接口,然后渲染出页面。 原生应用。原生应用是指专为特定操作系统开发的应用。这些应用可以直接访问手机的所有功能,如摄像头、蓝牙、WiFi等。这些应用通常速度更快、性能更好。由于其直接访问系统的API,因此性能上与混合应用相比会更好。但是这里有一个问题—需要支持开发的设备太多,开发成本由此升了上去。 Web应用。Web应用是指运行于浏览器上的应用。Web应用就不存在开发成本高的问题,一次开发就可以在桌面、移动浏览器上运行。然而,Web应用对网速的要求比较高,并且与原生应用相比,用户体验不好。尽管HTML 5可以解决一些问题,但是这些问题还是很明显。 混合应用。混合应用是原生应用和Web应用的结合体。从技术的角度来说,混合应用就是调用浏览器,即WebView,来运行Web代码。而它不仅仅是Web应用的离线版,它还可以通过一些框架,如Cordova,直接调用系统的API。在一些框架中,它甚至可以用封装系统的UI组件,以Web常用的形式来提供API。而在混合应用框架中,可能并没有包含所有的功能,这时候就需要自己去实现。 选择哪种应用来作为用户界面,应该取决于是否有充足的时间、精力和人员

iOS——蓝牙开发

与世无争的帅哥 提交于 2019-12-05 02:40:33
一、理论概念: 1.当前ios中开发蓝牙所运用的系统库是<CoreBluetooth/CoreBluetooth.h>。 2.蓝牙外设必须为4.0及以上(2.0需要MFI认证),否则无法开发,蓝牙4.0设备因为低耗电,所以也叫做BLE。 3.CoreBluetooth框架的核心其实是两个东西,peripheral和central, 可以理解成外设和中心,就是你的苹果手机就是中心,外部蓝牙称为外设。 4.服务和特征(service and characteristic):简而言之,外部蓝牙中它有若干个服务service(服务你可以理解为蓝牙所拥有的能力),而每个服务service下拥有若干个特征characteristic(特征你可以理解为解释这个服务的属性)。 5.Descriptor(描述)用来描述characteristic变量的属性。例如,一个descriptor可以规定一个可读的描述,或者一个characteristic变量可接受的范围,或者一个characteristic变量特定的单位。 6.我们使用的蓝牙硬件模块是在淘宝上买的, 大概十多元一个, ios大概每次可以接受90个字节, 安卓大概每次可以接收20个字节, 具体数字可能会浮动, 应该与蓝牙模块有关。 二、蓝牙连接的主要步骤 a、创建一个CBCentralManager实例来进行蓝牙管理; self

简单链接Simplelink 传感器标签SensorTag

蓝咒 提交于 2019-12-04 17:39:52
传感器标签现在支持 iBeacon技术 为了让你的传感器标签升级到与iBeancon技术兼容,你需要和苹果公司签约一个iBeacon许可,然后你可以请求访问软件,通过点击这里 http://www.ti.com/tool/sensortag-sw 一旦你签署了iBeancon许可你可以将传感器标签升级到最新的iBeancon,可以使用火线来测试并用iBeacon开发 怎么做升级和配置iBeacon,根据以下链接 http://processors.wiki.ti.com/index.php/SensorTag_with_iBeacon 蓝牙智能是一个新的标准,可以允许蓝牙设备在一个电池上运行数年。根据IMS的研究,蓝牙智能配件市场是增长最快的移动手机配件市场在未来几年里。这项新技术集成了新的低能耗传感器,许多移动手机应用开发者为移动手机应用开发了没有限制的机会。 传感器标签可以将蓝牙应用开发的设计时间从数月缩短至数小时,该工具删除了对 对那些想利用数量在递增的低能耗智能手机和平板的开发者 的限制。这是第一个 解决无线传感器应用 的蓝牙低能耗开发工具,是对智能手机应用开发者的唯一开发工具。 蓝牙传感器标签已经证明了蓝牙的低能耗能力(aka蓝牙4.0和蓝牙智能) * 不需要嵌入式软件设计知识 * 不需要嵌入式编译知识 * 包括6个低能耗MEMS(微电子机械系统

微信小程序连接蓝牙电子秤

你离开我真会死。 提交于 2019-12-04 11:52:47
前情:在微信小程序中连接蓝牙电子计重桌秤,(电子秤品牌:坤宏),直接通过蓝牙获取当前称重的重量数据,然后显示在界面上。 ps:记录的时候,还在开发阶段,得到了数据,数据有会实时变化,但是数据和真实称重对不上, ⚠️注意 此次,只涉及读取数据,没有写入数据,具体 API 查看小程序官方文档 确保手机蓝牙已经打开,并且可以搜索到该电子秤的蓝牙设备,android 可以搜到,ios 搜不到 微信小程序中搜索到的蓝牙设备很多,deviceId 在 android 上显示为蓝牙设备主服务的 mac 地址,在 ios 上显示为蓝牙设备主服务的 uuid 最终得到的结果是 ArrayBuffer 型数据,需要先转为16进制字符串,再转为10进制数据 (1)初始化 初始化蓝牙模块 --- wx.openBluetoothAdapter // 定义数据 data: { devices: [], // 搜索到的蓝牙设备 deviceId 数组 deviceId: '', // 目标蓝牙设备 deviceId services: [] // 设备服务列表 serviceId 数组 serviceId: '', characteristics: [] // 特征值列表 characteristicId: '' // 选择某一个特征值 value: '' // 16 进制数据值 } // 蓝牙 API

iOS 蓝牙报错"The request is not supported."

五迷三道 提交于 2019-12-02 06:15:57
今天蓝牙通信的时候,发现突然返回一个error: The request is not supported.究竟是什么原因呢?下面我们来揭开这个错误的神秘面纱吧。 1.报错原因 蓝牙设备端开发,说是需要缓存一个什么,他自己也说不清,问了几遍,我就不问了。。 2.处理方法 ① 蓝牙设备修改了一些方法之后,就可以收到返回数据了,但是还有一些问题; 3.事后语 鹅鹅鹅,今天又出现这个问题了。。疯ing [2019年20月23日] 这个问题是,设备是Android版本的,Android的APP端可以正常使用,所以他也不那么着急解决,先留着吧。。 来源: https://blog.csdn.net/JWheat/article/details/102729096