当前位置: 首页 > news >正文

华为配置蓝牙终端定位实验

个人主页:知孤云出岫

目录

配置蓝牙终端定位示例

业务需求

组网需求

数据规划

配置思路

配置注意事项

操作步骤

配置文件


配置蓝牙终端定位示例

组网图形

图1 配置蓝牙终端定位示例组网图
  • 业务需求
  • 组网需求
  • 数据规划
  • 配置思路
  • 配置注意事项
  • 操作步骤
  • 配置文件
业务需求

商场管理员希望在已有WLAN覆盖业务的基础上,使用蓝牙定位技术,根据顾客所在的位置,提供商场导航、导购信息推送等服务。使用蓝牙终端定位方案,由支持蓝牙模块的AP,扫描周边的BLE基站,配合定位服务器,APP应用服务器和终端上的APP,向顾客提供位置附近的商场导航、导购推送等服务。

WLAN覆盖业务的相关配置参见WLAN基础组网配置举例

组网需求

在网络中新增部署定位服务器,部署APP应用服务器为顾客提供服务,部署BLE基站广播基站信息。

AC需要将BLE基站数据上报给定位服务器。

定位服务器要将地图和BLE基站信息提供给APP应用服务器,所以两台服务器之间需要互通。

顾客的蓝牙终端上要安装APP,需要和APP应用服务器交互,需开启Wi-Fi或移动网络和APP应用服务器互通。

配置思路
  1. 安装部署定位服务器。
  2. 安装部署APP应用服务器。
  3. 安装部署BLE基站。
  4. 配置AC和定位服务器互通。AC要将收到的BLE信息发送给服务器,规划IP地址用于通信。
  5. 配置AC的SNMP参数,用于和定位服务器对接。
  6. 配置AC的蓝牙终端定位功能。
  7. 配置定位服务器的蓝牙基站管理功能。
配置注意事项

蓝牙终端定位功能需要蓝牙设备支持BLE 4.0及以上版本。

在定位服务器上添加AC时,需要配置相同的SNMP协议和读写团体名,才能保证AC和定位服务器间的正常通信。

AP会在设备系统时间凌晨2:00到2:30向周围环境中的BLE基站获取电池电量信息并上报AC,此时的WLAN业务相对空闲。准确配置AC设备系统时间,以保证AC获取BLE电量信息时不影响正常的WLAN业务。

开启蓝牙定位功能后,部署WLAN覆盖业务时,建议规划2.4GHz使用1、6、11信道,避免干扰。

操作步骤
  1. 配置AC和定位服务器通信
    # 配置Router,创建VLAN102,加入接口GE1/0/0,配置VLANIF102接口和AC互通。
    <Router> system-view
    [Router] vlan 102
    [Router-vlan102] quit
    [Router] interface gigabitethernet 1/0/0
    [Router-GigabitEthernet1/0/0] port trunk allow-pass vlan 102
    [Router-GigabitEthernet1/0/0] quit
    [Router] interface vlanif 102
    [Router-Vlanif102] ip address 10.23.102.1 24
    # 配置AC,创建VLAN102,加入接口GE0/0/2,配置VLANIF102接口和Router互通。
    <AC> system-view
    [AC] vlan 102
    [AC-vlan102] quit
    [AC] interface gigabitethernet 0/0/2
    [AC-GigabitEthernet0/0/2] port trunk allow-pass vlan 102
    [AC-GigabitEthernet0/0/2] quit
    [AC] interface vlanif 102
    [AC-Vlanif102] ip address 10.23.102.2 24
    [AC-Vlanif102] quit
    # 在AC上创建一条到定位服务器的静态路由,下一跳指向Router。
    [AC] ip route-static 10.23.103.1 32 10.23.102.1
    # 在AC上执行ping操作,目的地址是定位服务器,可以ping通表示网络正常互通。
    [AC] ping 10.23.103.1PING 10.23.102.2: 56  data bytes, press CTRL_C to breakReply from 10.23.103.1: bytes=56 Sequence=1 ttl=255 time=1 ms
  2. 配置AC设备与定位服务器通信

    # 配置AC的SNMP协议版本。[AC] snmp-agent sys-info version v2c
    # 配置读团体名为public123,写团体名为private123。[AC] snmp-agent community read public123
    [AC] snmp-agent community write private123

  3. 在AC上查看WLAN网络的基本配置

    检查项

    命令

    数据

    查看AP所属的AP组

    display ap all

    AP组:ap-group1

    AP name:AP1,AP2,AP3,...

    • 如果AP组和单个AP下都有配置,则单个AP下的配置优先生效。
    • 对于新创建的模板,用户配置完成后,需要将此模板引用到AP或者AP组,才能最终生效。
  4. 配置蓝牙终端定位功能

    # 创建名为“wlan-ble”的BLE模板,开启蓝牙监控功能,可以接收周边的蓝牙基站信息,配置蓝牙Tag定位信息上报的目的地和端口号。
    [AC] wlan
    [AC-wlan-view] ble-profile name wlan-ble
    [AC-wlan-ble-prof-wlan-ble] sniffer enable ibeacon-mode
    [AC-wlan-ble-prof-wlan-ble] report enable
    [AC-wlan-ble-prof-wlan-ble] report-to-server ip-address 10.23.102.1 port 10001 via-ac ac-port 32180
    [AC-wlan-ble-prof-wlan-ble] quit
    # 将AP覆盖范围内的BLE基站添加到监控列表中。
    [AC-wlan-view] ble monitoring-list mac 1234-1234-1000 to 1234-1234-1002
    # 配置AP组引用BLE模板。
    [AC-wlan-view] ap-group name ap-group1
    [AC-wlan-ap-group-ap-group1] ble-profile wlan-ble
    [AC-wlan-ap-group-ap-group1] quit

  5. 配置定位服务器

  6. 验证配置结果

    # AP获取到BLE基站信息后,通过执行命令display wlan ble site-info { all | mac-address mac-address },可以查看AP获取到的BLE基站信息。

    <span style="color:#333333"><span style="background-color:#ffffff"><span style="background-color:#dddddd">[AC-wlan-view] <strong id="ZH-CN_TASK_0176912533__b987943675190923">display wlan ble site-info all</strong>
    ------------------------------------------------------------------------------------------------------------------------------------
    ---------------
    Index  MAC             Host AP ID Host AP name RSSI  Power Type       DetachedFlag Aging-Timeout(m)  Broadcast count Advertisement d
    ata
    ------------------------------------------------------------------------------------------------------------------------------------
    ---------------
    0      0000-0101-0202  0          area_1       -30   50%    ibeacon   N            57                10        02-02-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-fa
    1      0000-0101-0303  0          area_1       -31   51%    ibeacon   N            57                12        01-02-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-fa
    2      0000-0101-0505  0          area_1       -33   55%    ibeacon   N            57                22        03-02-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-fa
    ------------------------------------------------------------------------------------------------------------------------------------
    ---------------
    Total: 3</span></span></span>

    # 用户的蓝牙终端接入WLAN网络并开启蓝牙功能后,安装第三方的APP,APP上可以显示自己在地图上的位置,同时收到附近的导购信息。

相关文章:

华为配置蓝牙终端定位实验

个人主页&#xff1a;知孤云出岫 目录 配置蓝牙终端定位示例 业务需求 组网需求 数据规划 配置思路 配置注意事项 操作步骤 配置文件 配置蓝牙终端定位示例 组网图形 图1 配置蓝牙终端定位示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业…...

搭建hadoop+spark完全分布式集群环境

目录 一、集群规划 二、更改主机名 三、建立主机名和ip的映射 四、关闭防火墙(master,slave1,slave2) 五、配置ssh免密码登录 六、安装JDK 七、hadoop之hdfs安装与配置 1)解压Hadoop 2)修改hadoop-env.sh 3)修改 core-site.xml 4)修改hdfs-site.xml 5) 修改s…...

pytorch-pytorch之LSTM

目录 1. nn.LSTM2. nn.LSTMCell 1. nn.LSTM 初始化函数输入参数与RNN相同&#xff0c;分别是input_size&#xff0c;hidden_size和num_layer foward函数也与RNN类似&#xff0c;只不过返回值除了out外&#xff0c;ht变为(ht,ct) 代码见下图&#xff1a; 2. nn.LSTMCell 初…...

jvm优化

1.jvm组成 什么是jvm&#xff0c;java是跨平台语言&#xff0c;对不同的平台&#xff08;windos&#xff0c;linux&#xff09;&#xff0c;有不同的jvm版本。jvm屏蔽了平台的不同&#xff0c;提供了统一的运行环境&#xff0c;让java代码无需考虑平台的差异。 jdk包含jre包含…...

网络安全——防御课实验二

在实验一的基础上&#xff0c;完成7-11题 拓扑图 7、办公区设备可以通过电信链路和移动链路上网(多对多的NAT&#xff0c;并且需要保留一个公网IP不能用来转换) 首先&#xff0c;按照之前的操作&#xff0c;创建新的安全区&#xff08;电信和移动&#xff09;分别表示两个外网…...

朴素模式匹配算法与KMP算法(非重点)

目录 一. 朴素模式匹配算法1.1 什么是字符串的匹配模式1.2 朴素模式匹配算法1.3 通过数组下标实现朴素模式匹配算法 二. KMP算法2.1 算法分析2.2 用代码实现&#xff08;只会出现在选择题&#xff0c;考察代码的概率不大&#xff09; 三. 手算next数组四. KMP算法的进一步优化4…...

[k8s源码]2.CURD deployment

加载kubernetes配置 使用 clientcmd方法&#xff0c;是通过"k8s.io/client-go/tools/clientcmd"包加载的。这个函数返回的是config和error两个值。可以看到返回的config是一个指针变量。 func clientcmd.BuildConfigFromFlags(masterUrl string, kubeconfigPath str…...

使用base64通用文件上传

编写一个上传文件的组件 tuku,点击图片上传后使用FileReader异步读取文件的内容&#xff0c;读取完成后获得文件名和base64码&#xff0c;调用后端uploadApi,传入姓名和base64文件信息&#xff0c;后端存入nginx中&#xff0c;用于访问 tuku.ts组件代码&#xff1a; <templa…...

Python深度学习

python深度学习&#xff0c;python代码定制&#xff0c; 可做创新点 创新思路 代码改进跑通 深度学习 Python代跑时间序列预测 分析 代码编写 python编程 深度学习算法 自然语言处理 神经网络跑通指导 爬虫调试代做 项目指导 定制帮做 改进 提升 创新 优化 Python Matlab C…...

django报错(三):No crontab program或got an unexpected keyword argument ‘user’

Crontab是linux系统上的定时管理模块&#xff0c;简单配置&#xff0c;灵活使用。但是要在windows使用必须借助Cygwin等虚拟工具&#xff0c;否则会报错“No crontab program”。如下图&#xff1a; python-crontab是其提供了python模块对crontab的访问&#xff0c;即可以通过p…...

数据库(创建数据库和表)

目录 一&#xff1a;创建数据库 二&#xff1a;创建表 2.1&#xff1a;创建employees表 2.2&#xff1a;创建orders表 2.3&#xff1a;创建invoices表 一&#xff1a;创建数据库 mysql> create database mydb6_product; Query OK, 1 row affected (0.01 sec) mysql&g…...

Log4j的原理及应用详解(一)

本系列文章简介&#xff1a; 在软件开发的广阔领域中&#xff0c;日志记录是一项至关重要的活动。它不仅帮助开发者追踪程序的执行流程&#xff0c;还在问题排查、性能监控以及用户行为分析等方面发挥着不可替代的作用。随着软件系统的日益复杂&#xff0c;对日志管理的需求也日…...

ubuntu系统Docker常用命令

1.查看docker是否开机启动 sudo systemctl list-unit-files | grep enable|grep docker 2.设置开机启动 sudo systemctl enable docker 3.关闭docker开机启动 sudo systemctl disable docker 4.开启docker服务 sudo service docker start 5.关闭docker服务 sudo servi…...

韦东山嵌入式linux系列-驱动设计的思想(面向对象/分层/分离)

1 面向对象 字符设备驱动程序抽象出一个 file_operations 结构体&#xff1b; 我们写的程序针对硬件部分抽象出 led_operations 结构体。 2 分层 上下分层&#xff0c;比如我们前面写的 LED 驱动程序就分为 2 层&#xff1a; ① 上层实现硬件无关的操作&#xff0c;比如注册…...

0/1背包

0/1背包 背包问题是DP最经典的类型之一&#xff0c;而0/1背包是最经典最基础的背包问题。 背包体积为 V V V&#xff0c; n n n种物品&#xff0c;每种物品只有1个&#xff0c;第 i i i种物品对应体积为 c i c_i ci​&#xff0c;价值为 w i w_i wi​&#xff0c;怎样装填能使…...

Linux的进程和权限的基本命令

目录 基本命令 man find date cal du ln exit grep 基本命令-帮助查询&#xff1a; wc cat more less head tail echo alias unalias 基本命令-进程管理&#xff1a; ps kill top 操作系统负载查看 用户分类&#xff1a; 程序用户 普通用户&#x…...

鼠标录制工具怎么挑选?9款电脑鼠标录制工具分享(2024)

你知道鼠标录制工具吗&#xff1f;鼠标录制工具通过记录和回放用户的操作&#xff0c;帮助自动化重复性任务&#xff0c;提高工作效率和精确性。它可以帮助用户简化很多繁琐的操作步骤&#xff0c;非常适合运用在电脑自动化任务、游戏自动化中&#xff0c;给大家整理了2024年9款…...

C1W4.LAB.Vector manipulation+Hash functions and multiplanes

理论课&#xff1a;C1W4.Machine Translation and Document Search 文章目录 Python 中的矢量操作Transforming vectorsExample 1Example 2 Frobenius Norm Hash functions and multiplanesBasic Hash tablesPlanesHash Function with multiple planesRandom PlanesDocument v…...

YOLOv8改进 | 检测头 | 融合渐进特征金字塔的检测头【AFPN4】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…...

数据采集监控平台:挖掘数据价值 高效高速生产!

在当今数字化的时代&#xff0c;数据已成为企业非常宝贵的资产之一。然而&#xff0c;要充分发挥数据的潜力&#xff0c;离不开一个强大的数据采集监控平台&#xff0c;尤其是生产制造行业。它不仅是数据的收集者&#xff0c;更是洞察生产的智慧之眼&#xff0c;高效高速处理产…...

【算法笔记自学】第 9 章 提高篇(3)——数据结构专题(2)

9.1树与二叉树 #include <cstdio>int main() {int n, m;scanf("%d%d", &n, &m);printf(n m 1 ? "Yes" : "No");return 0; } 9.2二叉树的遍历 #include <cstdio> #include <vector> using namespace std;const int…...

Objective-C 中字符串的保存位置

在 Objective-C 中&#xff0c;字符串常量和动态创建的字符串&#xff08;例如通过 stringWithFormat:、initWithString: 等方法创建的字符串&#xff09;在内存中保存的位置一样么 &#xff1f; 在 Objective-C 中&#xff0c;字符串常量和动态创建的字符串在内存中的保存位置…...

git 想要创建一个新的本地分支并检出远程分支的内容

如果你想要创建一个新的本地分支并检出远程分支的内容&#xff1a; git checkout -b feature-branch origin/feature-branch feature-branch 是你在本地创建的新分支名&#xff0c;origin/feature-branch 是远程分支的引用。 根据你检出的远程分支的名字而定 不知道名称的时…...

C语言学习笔记[24]:循环语句while②

getchar()的使用场景 int main() {char password[20] {0};printf("请输入密码&#xff1a;");//输入 123456 后回车scanf("%s", passwoed);//数组名本身就是数组地址printf("请确认密码&#xff1a;Y/N");int ch getchar();if(Y ch)printf(&…...

安全运营概述

安全运营概述 概述安全运营的工作对内安全运营工作对外安全运营工作品牌建设 概述 安全是一个过程&#xff0c;安全是靠运营出来的&#xff0c;公司会不断的有新业务的变更&#xff0c;新产品的发布&#xff0c;新版本的升级&#xff0c;技术架构的升级&#xff0c;底层系统的…...

spring-cloud和spring-cloud-alibaba的关系

首先Spring Cloud 是什么&#xff1f; Spring Cloud是一系列框架的有序集合&#xff0c;它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。Spring Cloud提供了微服务架构开发所需的多种组件和工具&#xff0c;如服务发现注册、配置中心、消息总线、负载均…...

持续集成06--Jenkins构建触发器

前言 在持续集成&#xff08;CI&#xff09;的实践中&#xff0c;构建触发器是自动化流程中不可或缺的一环。它决定了何时启动构建过程&#xff0c;从而确保代码变更能够及时地得到验证和反馈。Jenkins&#xff0c;作为业界领先的CI/CD工具&#xff0c;提供了多种构建触发器选项…...

根据视图矩阵, 恢复相机的世界空间的位置

根据视图矩阵, 恢复相机的世界空间的位置 一、方法1 glsl 实现: // 从本地局部坐标系(相机空间) 到 世界空间的旋转变换 mat3 getLocal2WorldRotation() {mat3 world2localRotation mat3(viewMatrix[0].xyz,viewMatrix[1].xyz,viewMatrix[2].xyz);return inverse(world2loca…...

使用pytest-playwright截图和录制视频并添加到Allure报告

一、依赖环境 python, version==3.9.5 pytest-playwright, version==0.5.1 allure-pytest, version==2.13.5 pytest, version==6.2.5 allure, version==2.22.0pytest-playwright支持如下命令行参数: Playwright:--browser={chromium,firefox,webkit}Browser engine which …...

pytorch GPU cuda 使用 报错 整理

GPU 使用、报错整理 1. 使用指定GPU&#xff08;单卡&#xff09;1.1 方法1&#xff1a;os.environ[CUDA_VISIBLE_DEVICES]1.2 方法2&#xff1a;torch.device(cuda:2)1.3 报错1&#xff1a;RuntimeError: CUDA error: invalid device ordinal CUDA kernel errors might be asy…...