ble设备的第一次成功例子

http://www.cnblogs.com/vamei/p/6753531.html#undefined
参考博客

树莓派作为BLE外设

下一步,我们尝试用树莓派进行BLE通信。我们先把一个树莓派改造成BLE外设,同时它也将充当连接建立后的服务器。这个过程较为复杂。你可以借用Node.js下的bleno库。首先,安装Node.js:

curl -sL https://deb.nodesource.com/setup_5.x | sudo bash -
sudo apt-get install nodejs

第一行的命令是为了确保安装高版本的Node.js。

安装bleno:

mkdir ble-test-peripheral
cd ble-test-peripheral
npm install bleno

运行pizza的例子:

sudo node node_modules/bleno/examples/pizza/peripheral

你可以在node_modules/bleno/examples/pizza/看到源代码,或者到github查看。这个例子提供了一个Service,它的UUID是1333-3333-3333-3333-3333-333333333337。Service中包含了三个Characteristics,分别是用于披萨饼参数、配料参数和烤披萨:
功能 权限 UUID
披萨饼选项 读/写 13333333333333333333333333330001
配料 读/写 13333333333333333333333333330002
烤披萨 写/通知 13333333333333333333333333330003

通过这些Characteristic,我们可以对树莓派进行BLE读写。读写操作会作用于一个代表比萨的对象。披萨饼选项有:
数值 描述
0x00 正常
0x01 厚
0x02 薄

配料是一个8位的参数,每一位代表了一种配料。当这一位是1时,那么说明添加该配料:
第n位 7 6 5 4 3 2 1 0
描述 SAUSAGE BELL_PEPPERS PINEAPPLE CANADIAN_BACON BLACK_OLIVES EXTRA_CHEESE MUSHROOMS PEPPERONI

因此,0x1A代表了添加MUSHROOMS、BLACK_OLIVES、CANADIAN_BACON,感觉味道还不错。

对于烤披萨来说,写操作设定了烘烤的温度和时间。时间到了之后,中心设备会发出通知,告诉客户端烘烤完成。我们下一步将用另一个树莓派作为BLE中心设备。不过,即使你没有额外的树莓派,你可以用iPhone上LightBlue这样的App来测试这一部分完成的BLE外设。

遇到了一些小小的错误比如,上面的nodejs的版本太老了。不过还行。

还有 udev lib库的安装 等等。

我以前一直以为,一定要改 bluez 的代码或者什么什么的才行。不过,现在这个用nodejs。开发板上运行这个有点多余当没有多余的需求的时候。个人还是觉得应该能省就省。

bluez test文件夹中测试python的执行成功

bluetoothd -n -d --compat --plugin=time --experimental 一定要开启experimental模式.
否则会报 GattManager1 interface not found , which D-bus ...类似的错误.

C 的内置接口似乎也是可以的.

在 bluetoothd/tools/ 里面编出来的一堆堆的东西.
bluetoothd -n -d --compat --plugin=time --experimental
--plugin 似乎没什么卵用.
就是开启bluetoothd
然后开启相关的 tools/目录下的可执行文件.

转载于:https://www.cnblogs.com/eat-too-much/p/7788998.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值