我是一名学生,从未使用过BLE设备。假设有BLE传感器,当用户靠近BLE传感器时,BLE传感器如何检测到用户的到来?这个想法是使用BLE传感器检测用户的到来,然后在数据库中查找用户的记录。用户应该使用Android应用程序,需要事先注册一个帐户。我想使用用户的电话号码作为数据库中的主键,所以当用户接近BLE传感器时,BLE传感器和安卓应用程序之间需要发生一些事情,通知系统用户已经到达,需要在数据库中搜索他们的记录。我不知道如何解决BLE传感器需要检测用户的部分。
umuewwlo1#
这应该是可行的使用蓝牙的警告,这将需要大量的工作(考虑到你没有工作的BLE之前),你将无法告诉距离-只是用户是“范围内”。要实现这一点,您首先需要一个扫描仪应用程序,该应用程序不断扫描特定的“服务”。此扫描仪应用程序应位于持续供电的设备上。您可以使用任何开发工具包或可编程BLE设备来实现此目的。一些建议包括Raspberry Pi或ESP 32。然后,你需要一个Android应用程序,不断广告某个“服务”. Android应用程序需要在后台模式下工作,用户需要给予它所有需要允许它不断广告的权限.回到扫描仪部分。将用户添加到数据库的方法是通过扫描仪设备连接并与广告Android设备交换信息。这不是必要的步骤,因为您可以通过BLE广告更改信息。然而,在我看来,连接可能会使事情更快更简单。连接后,扫描仪设备应该从Android应用程序请求特定ID。理想情况下,当扫描仪第一次设置时,此ID将在初始化过程中从数据库中分发。我建议使用此ID而不是电话号码的原因是,出于隐私和跟踪原因,您不能使用电话号码。此外,在设置/初始化阶段,用户必须从数据库中获取ID,这增加了一个同意级别。所以,回到我们需要的东西:1.扫描仪应用程序位于持续供电的设备(例如Raspberry Pi)上。1.扫描仪应用程序不断扫描具有特定BLE服务的设备(例如0xFE 99-有关BLE服务的更多详细信息,请参阅以下链接)。1.扫描仪应用程序将可以访问数据库。
1条答案
按热度按时间umuewwlo1#
这应该是可行的使用蓝牙的警告,这将需要大量的工作(考虑到你没有工作的BLE之前),你将无法告诉距离-只是用户是“范围内”。
要实现这一点,您首先需要一个扫描仪应用程序,该应用程序不断扫描特定的“服务”。此扫描仪应用程序应位于持续供电的设备上。您可以使用任何开发工具包或可编程BLE设备来实现此目的。一些建议包括Raspberry Pi或ESP 32。
然后,你需要一个Android应用程序,不断广告某个“服务”. Android应用程序需要在后台模式下工作,用户需要给予它所有需要允许它不断广告的权限.
回到扫描仪部分。将用户添加到数据库的方法是通过扫描仪设备连接并与广告Android设备交换信息。这不是必要的步骤,因为您可以通过BLE广告更改信息。然而,在我看来,连接可能会使事情更快更简单。连接后,扫描仪设备应该从Android应用程序请求特定ID。理想情况下,当扫描仪第一次设置时,此ID将在初始化过程中从数据库中分发。我建议使用此ID而不是电话号码的原因是,出于隐私和跟踪原因,您不能使用电话号码。此外,在设置/初始化阶段,用户必须从数据库中获取ID,这增加了一个同意级别。
所以,回到我们需要的东西:
1.扫描仪应用程序位于持续供电的设备(例如Raspberry Pi)上。
1.扫描仪应用程序不断扫描具有特定BLE服务的设备(例如0xFE 99-有关BLE服务的更多详细信息,请参阅以下链接)。
1.扫描仪应用程序将可以访问数据库。
1.需要有一个初始阶段,Android应用程序连接到扫描仪,向扫描仪发送用户详细信息(例如姓名和电子邮件),扫描仪从其数据库中为应用程序提供一个密钥(在内部,扫描仪将姓名和电子邮件与发送的密钥相关联)。
1.将来,当扫描仪检测到Android应用程序在范围内时,它将请求连接到它并请求存储的密钥。
1.扫描仪应用程序将密钥与人员相关联,并更新数据库。
看看下面的链接,以帮助您开始完成这样的事情所需的各种细节: