Tag: 蓝牙

蓝牙GATT数据在飞行中被损坏

我正在使用贵族来消费我的外围设备。 我的onReadRequest()callback中返回的数据缓冲区在获得我的高贵的Characteristic.read()时会以某种方式被破坏。 我在我的onReadRequest()callback之前转储缓冲区,当我在Characteristic.read()得到它时,立即转储它: 消费者 … Characteristic.read((err, data) => { if (err) { reject(err); } else { console.log(data); } }); … 制片人 … const bleno = require('bleno'); const flags = { a: 1 << 0, b: 1 << 1, c: 1 << 2 }, numBytesInReturnData = 18, supportedFlags = flags.a | flags.b | flags.c, accelPrecision = […]

如何用Visual Studio 2013安装npm模块bluetooth-serial-port

试图做的npm在Windows 7与Python 3.7和Visual Studio 2013安装蓝牙串行端口。但安装时说,Python版本应该在2.5.0和3.0之间的错误。 卸载Python 3.7和安装Python 2.7解决了这个问题。 然后找不到WindowsSDKVer。

BLE GATT:为什么在整数types中存储小数?

我正在学习蓝牙技术,特别是如何实现GATT特性规格,以便我可以编写外设驱动程序。 在几乎所有的规格中,他们都希望使用整型数据types来保存十进制值(当数据是十进制值时)。 例如, 循环功率测量规格规格将Pedal Power Balance存储到uint8 。 正如您所见, Pedal Power Balance值的分辨率为1位小数(例如: 10.1 )。 GATT 格式types规范有很多types的小数点数字( float32等)。 为什么GATT不使用被devise为保存十进制数字的数据types? 我的猜测是限制通过BLE发送的数据的大小。 那是对的吗? 我正在编写NodeJs代码来快速certificate一些技术。 用我的假设,这里是我怎么猜测一个精确到一个有符号的8位整数一个十进制小数“打包”。 我在这里使用加速度(可以是+/-,所以使用signed int): 'use strict'; const oneG = -9.806649999788; let int8Buf = new Buffer.alloc(8); //to hold signed 8-bit integer int8Buf.writeInt8(oneG * 10, 0); console.log(int8Buf.readInt8(0) / 10); 按照我的预期运行这个输出-9.8 。 问题: GATT是否使用这种“包装”技术来节省空间? 我正确地做这个? NodeJS有一个库来处理这个数据打包和解包吗? 看起来像一个非常普遍的情况。 我搜查了NPM,但我不确定这个概念是什么。

无法从node-bluetooth-obd连接到OBD-II设备

我试图通过node.js连接到一个ELM327蓝牙OBD-II适配器使用埃里克Smekens node-bluetooth- obd包,但我得到一个错误,我不知道如何debugging。 我在运行Ubuntu的Beagle Bone Black上执行此操作。 我可以使用bluez-simple-agent与设备配对: sudo bluez-simple-agent hci0 00:0D:18:A0:4E:35 我已经更新了Readme.md示例第二行中的MAC地址,以匹配设备的MAC地址: var btOBDReader = new OBDReader('00:0D:18:A0:4E:35',14); 但是,当我运行该脚本,我得到这个错误: OBD-II设备出错:错误:无法连接 我用蓝牙通信还是很新的,所以我不知道从哪里开始debugging。 有什么build议么?

安装npm bluetooth-hci-socket时出错

我试图添加bluetooth-hci-socket到node.js作为pipe理员在Windows中 npm install bluetooth-hci-socket给我: 我的问题:在bluetooth-hci-socket@0.5.0安装失败是什么:'node-gyp rebuild'是什么意思? 如何修复它? 谢谢! 额外信息: 作为补贴,没有错误,我跑了: npm install –global –production windows-build-tools npm install -g node-gyp 并使用Zadig( https://www.youtube.com/watch?v=mL9B8wuEdms )更改了驱动程序设置

蓝牙audiostream从Android到电子应用程序?

我目前正在用Electron构build一款树莓派车载电脑。 几乎一切都完成了。 剩下两件事。 其中之一是从我的手机到电子应用程序的蓝牙audiostream。 有没有办法通过Android手机的“高级audio”蓝牙服务来实现? 我想要一个像蓝牙的地方,可以播放/暂停,跳过等歌曲。 蓝牙连接本身不是问题。 已经做到了OBDII适配器,以获得一个不错的汽车健康监测。 先谢谢你!

如何使用node.js从蓝牙设备接收数据

我是新的JavaScript和node.js。 目前正在从事医疗项目。 首先我会解释我的工作。 我必须从蓝牙设备接收数据(正常血压,脉搏率),并使用node.js在Web应用程序中显示读数。 我不知道如何从蓝牙设备(患者监护仪)接收数据,你们可以build议我一些博客或书籍阅读。 提前致谢。

nodejs串口模块还是蓝牙串口模块,哪一个?

我有几个nodejs串行通信的例子。 一个例子是使用串口模块(下面)。 我有一个配对的蓝牙设备,它被设置为rfcomm0。 我可以通过命令行与echo data > /dev/rfcomm0并接收响应,所以它似乎工作。 问题是它不能通过nodejs工作。 下面的例子抛出一个“无法加载绑定文件”错误,当我做nodejs SerialToJson.js /dev/rfcomm0 。 另一种方法是使用蓝牙串口模块,但是也不能通过npm安装,因为在我使用的节点版本中找不到兼容的版本。 我有一个如何解决每个问题的想法,但我不知道要追求什么,串口模块可以使用rfcomm(串口仿真)还是更适合蓝牙串口模块? /* SerialToJson.js a node.js app to read serial strings, convert them to JSON objects, and send them to webSocket clients requires: * node.js (http://nodejs.org/) * express.js (http://expressjs.com/) * socket.io (http://socket.io/#how-to-use) * serialport.js (https://github.com/voodootikigod/node-serialport) To call it type: node SerialToJSON.js portname where […]

听原始的蓝牙键盘数据

我需要聆听蓝牙键盘发送到我的设备的原始命令/按键,并且如果可能,请阻止它们“传播”到系统的其他部分。 基本上,我用Node.js和coffee-script写了一些东西,它接收stdin按键,并控制我的飞利浦Hue灯泡。 它看起来像这样: keypress = require 'keypress' # Setup keypress events keypress process.stdin process.stdin.on 'keypress', (character, key) -> switch character when 'l' then hue.decreaseTemp() when 'r' then hue.increaseTemp() when 'u' then hue.increaseBri() when 'd' then hue.decreaseBri() when 'b' then hue.turnOff() # Exit on ctrl-c if key?.ctrl and key.name is 'c' process.stdin.pause() 这是function性的工作,但它不是很有用,因为它从标准input接收input,防止它在后台运行。 我可以做什么来使这个接收input没有窗口焦点? 我的首选是在Node.js或Python的东西在我的Mac上运行,但我愿意切换语言或运行在我的树莓派,如果需要