linux 检测蓝牙 rssi,树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi信号强度)...

若该文为原创文章,转载请注明原文出处

长期持续带来更多项目与技术分享,咨询请加QQ:21497936、微信:yangsir198808

下一篇:敬请期待…

接下来介绍树莓派蓝牙模块的开发,使用的协议为bluez。

ad19c10864b3

客户端bob,服务器alice,探测两方的rssi,并传送给服务器alice

ad19c10864b3

ad19c10864b3

ad19c10864b3

BlueZ是官方Linux Bluetooth栈,由主机控制接口(Host Control Interface,HCI)层、Bluetooth协议核心、逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol,L2CAP)、SCO 音频层、其他 Bluetooth 服务、用户空间后台进程以及配置工具组成。

BlueZ由许多单独的模块组成:

蓝牙内核子系统核心

L2CAP和SCO音频内核层

RFCOMM,BNEP,CMTP和HIDP内核实现

HCI UART,USB,PCMCIA和虚拟设备驱动程序

通用蓝牙和SDP库和守护程序

配置和测试实用程序

协议解码和分析工具

sudo apt-get install bluez

hciconfig

ad19c10864b3

sudo hciconfig hci0 up

ad19c10864b3

sudo hciconfig iscan

ad19c10864b3

(注意:不好用,显示的都是mac地址,而且中文乱码,周围蓝牙多,根本分不清楚)

bluetoothctl

ad19c10864b3

power on/off

ad19c10864b3

ad19c10864b3

电脑上的蓝牙,先打开:

ad19c10864b3

sudo python3 -m pip install pybluez

# -*-coding: utf-8 -*-

from bluetooth import *

import sys

import time

import os

import struct

import bluetooth._bluetooth as bluez

import bluetooth

global hostRssi

os.system("bluetoothctl power on")

# 获取服务,通过uuid查找目标服务

#uuid = "63078d70-feb9-lle7-9812-dca90488bd22"

#os.system("bluetoothctl discoverable on")

dstuuid  = "11111111-1111-1111-1111-111111111111"

localuuid = "22222222-2222-2222-2222-222222222222"

print("本地服务器,搜索客户端蓝牙rssi")

...

data = client.recv(1024)

print (data)

client.close()

bluetooth_sock.close()

from bluetooth import *

import sys

import time

import os

import struct

import bluetooth._bluetooth as bluez

import bluetooth

global hostRssi

#开启蓝牙可见

os.system("bluetoothctl power on")

os.system("bluetoothctl discoverable on")

dstuuid  = "22222222-2222-2222-2222-222222222222"

localuuid = "11111111-1111-1111-1111-111111111111"

bluetooth_sock=BluetoothSocket(RFCOMM)

bluetooth_sock.bind(("",PORT_ANY))

bluetooth_sock.listen(1)

...

data = "server:" + str(hostRssi) + ", client:" + str(clientRssi)

...

ad19c10864b3

sudo vim /lib/systemd/system/bluetooth.service

修改文件内容

#ExecStart=/usr/lib/bluez5/bluetooth/bluetoothd

ExecStart=/usr/lib/bluez5/bluetooth/bluetoothd -E -C

&emso;&emso;然后重启服务

sudo sdptool add SP

sudo systemctl daemon-reload

sudo systemctl restart bluetooth

sudo sdptool browse local

ad19c10864b3

原因:由于蓝牙不可见导致

下一篇:敬请期待…

若该文为原创文章,转载请注明原文出处

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459641.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Studio项目整合PullToRefresh的问题记录

PullToRefresh下拉刷新在App中应用非常频繁,然而PullToRefresh是在ADT下开发完成的。如果要将其整合到Android Studio目录下的话颇费周折。前面的文章“Android Studio项目引入外部库注意事项(PullToRefresh)”介绍了如何将PullToRefresh的library引入到项目中。如果…

第 三 十 八 天:Linux 的 LVM 逻 辑 卷 管 理

小Q:书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。 —— 莎士比亚简介LVM:Logical Volume Manager(逻辑卷管理)&#xff…

Camera Calibration 相机标定:原理简介(三)

3 绝对圆锥曲线 在进一步了解相机标定前,有必要了解绝对圆锥曲线(Absolute Conic)这一概念。 对于一个3D空间的点x,其投影空间的坐标为:x~[x1,x2,x3,x4]T。我们定义无穷远处的平面用符号Π∞表示,该平面内的…

C语言判断两字符串同构,c语言实现判断两颗树是否同构

在本题中认为如果两个树左右子树交换可以相同,也被认为是同构树。对应输入格式为:4(总结点数)A - 1B 2 3C - -D - -#include #define Tree int#define Null -1#define MAXSIZE 10struct Node{char Element;Tree Left;Tree Right;}T1[MAXSIZE], T2[MAXSIZ…

C语言常量类型及名称,菜鸟带你入门C语言|基本数据类型之常量

常量在程序中,有些数据是不需要改变的,也是不能改变的,因此,我们把这些不能改变的固定值称为常量。如下图中的“5”、“A”、“Good”,这些在程序执行过程中是一直保持不变的,他们就是常量。printf的作用是…

Android TabHost中实现标签的滚动以及一些TabHost开发的奇怪问题

最近在使用TabHost的时候遇到了一些奇怪的问题,在这里总结分享备忘一下。 首先说一点TabActivity将会被FragmentActivity所替代,但是本文中却是使用的TabActivity。 下面说说本程序能够实现的功能: 实现TabHost中的标题栏能够横向滚动&#x…

tl wn322g linux驱动下载,怎样才能装好tl_wn322G+V2.0版USB无线网卡的Linux驱动

怎样才能装好tl_wn322GV2.0版USB无线网卡的Linux驱动tl_wn322G 2.0版无线网卡采用的是Atheros 的AR9271方案,我尝试了用ndiswrapper-1.55在linux下安装该无线网卡的Windows驱动,安装windows版的驱动时,用ndiswrapper -l ,显示为错…

Spring + Dubbo + zookeeper (linux) 框架搭建

2019独角兽企业重金招聘Python工程师标准>>> dubbo简介 节点角色说明: Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 Monitor: 统计服务的调用次调和调用时间的监控中心。 Container: …

c语言 函数编程四个数相加,C语言第四章课后编程题

1.编写程序,从键盘上输入4个整数,输出最小值。此题较为简单,只需定义一个桥梁最小值min就可以来着次比较他们的大小。2.编写一个程序,从键盘输入一个四位整数n,输出它的各位数字之和。例如n1308,则输出12&a…

[raywenderlich教程]

非常详细的图文入门教程http://www.raywenderlich.com/81879/storyboards-tutorial-swift-part-1 因为太长了 所以只放一些我觉得很有用的内容的翻译 The single View Controller you defined was set as the Initial View Controller – but how did the app load it? Take a…

c语言scanf附加格式*,C语言的scanf语句格式

满意答案pihiac2014.09.05采纳率:45% 等级:7已帮助:460人scanf语句的一般格式如下:scanf("格式字符串", 地址,…);scanf语句用"格式字符串"控制键盘读入的方式。"格式字符串"中一般只…

YUV格式像素

转自:http://blog.csdn.net/grow_mature/article/details/9004548 一幅彩色图像的基本要素是什么? 说白了,一幅图像包括的基本东西就是二进制数据,其容量大小实质即为二进制数据的多少。一幅1920x1080像素的YUV422的图像&#xff…

从零开始学android开发-布局中 layout_gravity、gravity、orientation、layout_weight

线性布局中,有 4 个及其重要的参数,直接决定元素的布局和位置,这四个参数是 android:layout_gravity ( 是本元素相对于父元素的重力方向 ) android:gravity (是本元素所有子元素的重力方向) android:orientation &…

Thread详解

具体可参考:Java并发编程:Thread类的使用,这里对线程状态的转换及主要函数做一下补充。 一. 线程状态转换图 注意: 调用obj.wait()的线程需要先获取obj的monitor,wait()会释放obj的monitor并进入等待态。所以wait()/no…

linux 欢迎语,一日一技 | 如何让你的终端欢迎语好看又有趣

原标题:一日一技 | 如何让你的终端欢迎语好看又有趣Matrix 精选Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。文章代…

springmvc 1

springmvc的model是实体类,可以理解为把数据库里的一张表变成了一个对象 /*** */ package com.test.model;/*** ClassName: User.java* Description: TODO(用一句话描述该文件做什么) * * author JerryZhou* Date 2014-7-15 上午10:24:04 *…

android java adb命令大全,Android adb命令备份恢复手机信息

假设你已经在Windows下安装了Android SDK,并且更新到最新版步骤:1.通过USB连接你的设备,打开命令行2.一般地,输入”adb devices“检测设备是否连接正常有个命令“ adb backup”(简化写法)可以使你备份整个系统。这个命令的参数如下…

【HDOJ】【3037】Saving Beans

排列组合 啊……这题是要求c(n-1,0)c(n,1)c(n1,2)......c(nm-1,m) 这个玩意……其实就等于c(nm,m) 好吧然后就是模P……Lucas大法好 我SB地去预处理<P的所有fac和inv了……果断TLE 事实上Lucas时对于<P的部分直接暴力算就好了 1 //HDOJ 30372 #include<cstdio>3 #…

miui12 android系统耗电,miui12耗电严重怎么办,miui12续航优化方法

很多小米用户反馈升级到miui12稳定版后耗电大大增加&#xff01;再大的电池也经不住miui12的耗电&#xff01;那么miui12耗电严重怎么办&#xff1f;miui12续航优化的方法呢&#xff1f;一起和XDA小编看看吧&#xff01;近日&#xff0c;有网友对此提供了优化miui12耗电的方法&…

r6400 usb android,网件R6400路由器USB接口速率测试与总结

网件R6400路由器USB接口速率测试测试中使用的是浦科特M6V 256GB固态硬盘搭配USB3.0硬盘盒进行测试&#xff0c;此外由于无线网络速率有一定的波动&#xff0c;对最终测试成绩测试成绩有较大的影响&#xff0c;因此我们使用网速相对稳定的千兆有线网络连接路由器进行测试。首先我…