打印
[应用相关]

使用LoRaWAN和WiFi实现智能城市资产定位

[复制链接]
1045|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
汇集最新的物联网技术,在工业物联网和智能城市环境中定位资产。


这个项目中使用的东西
硬件组件
STM32 Nucleo-64板        
STMicroelectronics STM32 Nucleo-64板
细胞核 - L152RE   ×  1      
STMicroelectronics X-NUCLEO-IDW01M1
SPWF01SA扩展板      ×   1      
Semtech LoRa Shield     × 1      

介绍
使用物联网LoRaWAN智能城市低功耗广域网(LPWAN)技术,COLLOS 协同定位服务门户和MyDevicesCayenne 物联网平台,实现仅使用WiFi信号的下一代物联网定位解决方案。

此解决方案不使用GPS。相反,只需按一下按钮即可扫描WiFi信号,并通过本地LoRaWAN网络将其提交给云,以供COLLOS位置服务提供商查找。使用COLLOS,您可以选择使用嗅探WiFi数据与Skyhook生成位置经度和经度(如本项目所示),或者您可以使用LoRaWAN网络内置位置功能和TDoA /RSSI技术。LoRaWAN网络定位方法最适用于您所在地区可能无法使用的高网关密度。

使用嗅探的WiFi数据,返回的位置坐标通常与GPS相当。然而,与GPS不同,该系统在室内工作!

以下是您需要做的事情来启动和运行:
1. 组装STMicro Nucleo-64,X-NUCLEO-ID1M01 WiFi模块,Semtech LoRa屏蔽。
2. 编写随时可用的应用程序固件。
3. 创建The Things Network 帐户和应用程序(创建设备和应用程序,然后获取AppEUI和AppKey)。使用DevEUI配置TTN应用程序,使用AppEUI和AppKey配置应用程序固件。
4. 创建MyDevices Cayenne帐户,创建设备,并可选择安装移动应用程序。
5. 在The Things Network 控制台中配置COLLOS和Cayenne集成。
除硬件成本外,所有这些都可以免费完成。
1 - 组装硬件

如图所示,将X-NUCLEO-IDW01M1连接到NUCLEO-L152RE。然后连接Semtech LoRa Shield。无需其他配置。使用USBmini电缆连接到PC,然后继续执行步骤2。

2 - 编程固件
下载“WPS固件映像”文件

WPS_EVAL_STM32L1_SPWF01SA_LORA_v1.bin
到您的PC,可从该项目的附件部分获得。使用STM32-NUCLEO,您可以将此文件拖放到文件系统中显示的“NODE_L152RE”大容量存储设备中。在可用的STLINK虚拟COM端口上打开115200的终端。按下重置按钮。观察操作固件的确认(参见下面的预期输出)并记录DevEUI。 DevEUI对每个设备都是唯一的。将其视为GUID。对于ST MCU器件,它基于工厂编程的唯一ID。在此示例中,DevEUI 是2e4d7910848b2cc9。

StartingIntelligent Asset Tracker for LoRaWAN version 1
Configuration:
  DevEUI:2e4d7910848b2cc9
  SCAN_RANDOM_AP:1
  NUM_SCANS:3
  MAX_SCAN_RESULTS:20
  MAX_AP:6
Cannot start: please set your LoRaWAN AppEui and AppKey settings with 'mta set lora appeui/appkey' command then reboot.
第三步 - 创建和配置物联网网络帐户,注册设备和获取应用程序密钥,配置固件
在这里,您需要准备好Device的唯一标识符DevEUI - 一个8位十六进制数字字符串 - 这样您就可以在创建新应用程序后在The Things Network 控制台中为它注册新设备。然后,您将从应用程序中获取两个重要的十六进制数字 - 应用程序固件所需的8字节AppEUI 和16字节AppKey ,以实现与物联网应用程序的安全端到端连接。

前往The Things Network 并注册或登录。使用此快速教程添加应用程序。将应用程序ID设置为您喜欢的任何内容。接下来,注册一个新设备。

在Devices部分下,选择“registerdevice”。输入名称(设备ID)。一切都会做,例如MyAssetTracker。然后将步骤2中获取的DevEUI 字符串粘贴到Device EUI字段中。单击“注册”按钮。完成后,转到新设备的设备概述,然后滚动到底部以查找“示例代码”。这是查找固件所需的AppEUI 和APPKey 的最简单方法。从以下示例:

AppEUI 是76B3D57EDABC9574
AppKey 是DAC1F3E9EBAC12345678913994C58A4B

const char *appEui = "76B3D57EDABC9574";
const char *appKey = "DAC1F3E9EBAC12345678913994C58A4B";
在终端中将AppEUI和AppKey输入到固件中,如下所示:
0000: Contiki> mta set lora appeui 76B3D57EDABC9574
OK
0000: Contiki> mta set lora appkeyDAC1F3E9EBAC12345678913994C58A4B
OK
0000: Contiki> mta save
OK
0000: Contiki> mta get
AppKey: [DAC1F3E9EBAC12345678913994C58A4B]
AppEui: [76B3D57EDABC9574]
DevEui: 2e4d7910848b2cc9
0000: Contiki>
4 - 创建MyDevices Cayenne帐户和设备
按照The Things Network 指南,了解如何设置Cayenne,创建合适的设备,并将其添加为集成。注意!我们实际上并没有向Cayenne发送任何有效载荷数据,因此请忽略有效载荷类型(CayenneLPP)字段和配置,因为它最终将更改为自定义。COLLOS集成将位置坐标数据汇集到您的Cayenne集成中。

第五步 - 在The ThingsNetwork控制台中配置COLLOS和Cayenne集成。
这是让您的The Things网络应用程序准备好接收和处理设备的WiFi位置数据的最后关键步骤!

最好由The Things Network 在这里描述。注册会员(免费)。您可能需要等待一两天才能获得访问权限。然后按照快速入门。对于Collos API端点URL,您可以使用'loraSkyhook':

https://api.preview.collos.org/localization-lora-recipes/v1/loraSkyhook
重要!要启用WiFi 本地化,请按照此处的说明设置自定义有效负载解码器功能。这对于将设备的嗅探WiFi数据(接入点MAC和RSSI)发送到COLLOS系统并转发到Skyhook至关重要。

测试
重新启动设备并观察终端。您应该看到以下内容

StartingIntelligent Asset Tracker for LoRaWAN version 1
Configuration:
  DevEUI:2e4d7910848b2cc9
  SCAN_RANDOM_AP:1
  NUM_SCANS:3
  MAX_SCAN_RESULTS:20
  MAX_AP:6
>> Trialstart: 19
Press button to trigger positionreading.
Looking for accelerometer...
LSM6DSL not present.
StartingLoRaWAN stack.. wait for join complete
LoRa stack init
REGION_US915_HYBRIDinit
SXX1272 radioversion: 22
Set ADR ON: 0
Set public network: 0
Device join method=OTAA
DevEui: 2e4d7910848b2cc9
AppEui: 76B3D57EDABC9574
AppKeyAC1F3E9EBAC12345678913994C58A4B
Send JOIN request... 0
Device state:SLEEP
Device JOIN success
Starting wifi module attempt=1.
-- SEND: EMPTY: OK
Device state:SLEEP
Airtime added: 289 ms
TX power: 5 Datarate: 0
Successfultransmission
Wifi module started.

按下板上的蓝色按钮以触发WiFi嗅探器读数。它将尝试在列表中获得6个唯一的站点ID,最多扫描3次。由于WiFi模块不需要与任何接入点相关联,因此可以在读数之间将其断电至非常深的睡眠模式(微安范围)。读数本身只需要几秒钟,包括从睡眠状态重启模块。

(button) scanevent 1
>>Running WiFi Scan (0)...
>> Got 6 scan results
--- Sortedresults after scan:
[0]: SSID: TELUS1234 MAC: 9c:1e:95:7c:b5:f2 RSSI: -40
[1]: SSID: TELUS4567 MAC: 72:1e:95:7c:b5:f0 RSSI: -41
[2]: SSID: TELUS9876-2.4G MAC: 70:f1:96:9b:f2:2 RSSI: -74
[3]: SSID: SpaceAce MAC: 0:1e:c0:3a:ed:58 RSSI: -80
[4]: SSID: TELUS6671 MAC: 20:76:0:75:d:b4 RSSI: -81
[5]: SSID: MonkeyMan MAC: 10:9f:a9:37:5d:13 RSSI: -90
scanningcomplete - filled result list (6).
LoRa_sendBuffer: sending 42 bytes
-- SEND: INTERVAL
Time: 155393, Battery: 3330 mV Temp: 29 C
Sending mac txuncnf port=2 0r=42 len=0... OK
Device state: SLEEP
Airtime added: 113 ms
TX power: 5 Datarate: 3
Successfultransmission
结论
WiFi嗅探器设备由STM32L152 MCU,ST WiFi模块和SemtechSX1272 LoRa收发器构成。固件是基于开源Contiki操作系统(GitHub链接)和LoRaMac-Node参考实现(GitHub链接)开发的。

通过第三方基础设施,网络和服务提供商的协作,演示了端到端的基于位置的物联网应用。通过在移动设备上安装MyDevices Cayenne应用程序,您将能够演示完整的端到端,任意位置的设备到电话跟踪解决方案。这是物联网的最前沿。

原贴(含代码资料):http://www.stmcu.org.cn/module/forum/thread-619657-1-1.html

沙发
mmuuss586| | 2019-3-8 10:26 | 只看该作者
感谢分享

使用特权

评论回复
板凳
木木guainv| | 2019-3-11 15:52 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
地板
晓伍| | 2019-3-12 09:26 | 只看该作者
为什么比zigbee应用的多呢

使用特权

评论回复
5
xiaoqizi| | 2019-3-12 09:30 | 只看该作者
非常期待智能城市

使用特权

评论回复
6
zj316| | 2019-3-25 16:48 | 只看该作者
越来越智能化了。

使用特权

评论回复
7
sdswsasx| | 2019-3-25 16:56 | 只看该作者
智能家居已经成为大趋势。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

80

帖子

0

粉丝