1.一种老人室内定位预警和消息推送的方法,其特征在于,包括以下步骤:
步骤1)在室内区域部署WiFi节点和Beacon节点,WiFi节点可以根据室内面积的大小进行布置,大约100平米内布置一个,Beacon节点要根据离WiFi节点的远近而定,在离WiFi节点较远时,Beacon节点的密度分布较大,在离WiFi节点较近时,Beacon节点的密度分布较小;
步骤2)线下采集WiFi节点和Beacon节点的指纹数据,存于指纹训练数据库中:
a、选取K个参考点,在各个参考点采集各个WiFi节点发出的接收信号强度值并保存数据到矩阵H1:
式中:
K为参考点的总个数;
WKi为在参考点K处采集到第i个WiFi节点的接收信号强度值;
xK为参考点K处的横坐标;
yK为参考点K处的纵坐标;
b)选取K个参考点,在各个参考点采集各个Beacon节点发出的接收信号强度值并保存数据到矩阵H2:
式中:
BKj为在参考点K处采集到第j个Beacon节点的接收信号强度值;
xK为参考点K处的横坐标;
yK为参考点K处的纵坐标;
步骤3)线上测试阶段,采集用户端收到的WiFi节点和Beacon节点发出的接收信号强度值:
a、用户处于室内定位区域内,在用户所在位置点收集各个Beacon节点发出的接收信号强度值并保存数据到矩阵h1:
[w1 w2 ... wi ... wm]
式中:wi为用户所在位置处采集到第i个WiFi节点的接收信号强度值;
b、用户处于室内定位区域内,在用户所在位置点收集各个Beacon节点发出的接收信号强度值并保存数据到矩阵h2:
[b1 b2 ... bj ... bn]
式中:
bj为用户所在位置处采集到第j个Beacon节点的接收信号强度值;
i为WiFi节点的编号,j为Beacon节点的编号,n为Beacon节点的总数,m为WiFi节点的总数,m<n,i∈[1,m],j∈[1,n];
步骤4)比较线下指纹数据和线上用户数据,得到用户的真实位置;
a、采用KNN算法计算WiFi节点欧式距离并构成矩阵D1:
D1=[DW1 DW2 ... DWi ... Dwm]
式中:
wi为用户端收到第i个WiFi节点的接收信号强度值;
WKi为第K个参考点收集到第i个WiFi节点的接收信号强度值;
b、采用KNN算法计算Beacon节点欧式距离并构成矩阵D2:
D2=[DB1 DB2 ... DBj ... DBn]
式中:
bi为用户收到第j个Beacon节点的接收信号强度值;
BKj为第K个参考点收集到第j个Beacon节点的接收信号强度值;
c、给矩阵D1补零元素,使得D1和D2的元素个数相同,再将矩阵D1和D2相加得到欧式距离矩阵D:
D=[D1 D2 ... Di ... Dn]
其中:
d、取出欧式矩阵D中较小的6个元素,这6个元素所对应的参考点即为最接近用户端的6个参考点,对6个参考点的横纵坐标分别取算术平均值,得到用户的真实位置;
步骤5)显示用户坐标位置和发布预警信息;
a、根据用户的真实位置,调入室内地图,将用户的真实位置显示在手机终端或者电脑PC端;
b、当用户的真实位置出现在地图中指定区域时,系统启动定时模块,开始计时,直到用户的位置离开指定区域时,定时模块关闭,计时结束;
c、计算用户在指定区域的时间,若此时间超过系统预设值时,服务器发送预警信息给社区管理人员,用以看护老人,防止老人意外情况的发生,若用户的位置在非正常区域长期处于静止状态,同样服务器发送预警信息给社区管理人员;
步骤6)根据显示的老人的轨迹信息,分析多位老人的轨迹共性,系统推送相关的老人感兴趣的消息,由手机终端或者PC端显示的老人轨迹信息,分析多位老人的轨迹信息共性,当出现多人长时间处于某一区域时,系统默认老人会对此区域的活动感兴趣,从而推送相关的消息。