Aruba IoT Integration
OVERVIEW
This guide describes steps necessary to set-up an IoT information feed from Aruba Instant or ArubaOS to KloudInsights.
RELATED DOCUMENTS
Aruba Instant documentation
- Aruba Instant User Guide.pdf (chapter âBLE IoT for Data Communicationâ)
- Aruba Instant CLI Reference Guide.pdf (chapter âiot transportProfileâ)
ArubaOS documentation
- ArubaOS User Guide (chapter âIoTâ)
- ArubaOS CLI Reference Guide.pdf (chapter âiot transportProfileâ)
- ArubaOS API Guide (IoT Telemetry Interface)
REQUIREMENTS
Hardware
Aruba access points with integrated Bluetooth radios, or Aruba access points equipped with an Aruba USB Bluetooth radio (LS-BT1USB, JW315A orJW316A), are required for integration with KloudInsights.
Software
The integration uses the Aruba IoT Telemetry Interface to forward Bluetooth device information that is collected by the access points to KloudInsights.The Aruba IoT Telemetry Interface is available in Aruba Instant/ArubaOS 8.4.0.0 or higher.
- Minimum required software version: Aruba Instant/ArubaOS 8.4.0.0
CONFIGURATION
GENERAL INFORMATION
Configuration of the Aruba IoT Telemetry Interface is achieved via IoT profiles. The full configuration of IoT profiles is currently supported via CLI on Aruba Instant (partly configurable via GUI) and ArubaOS and is described in detail in the referenced product documentation within the chapter âRelated Documents.".
REQUIRED INFORMATION
Ask your Kloudspot support contact for the following information:
- endpointUrl : the URL to send data to. It will be of the form https:// :/aruba-iot
- endpointToken : A token to validate the payload.
ARUBA INSTANT
This chapter describes the configuration and verification steps necessary to setup Aruba Instant for KloudInsights/
Set-up
-
Enter âconfig modeâ:
config
-
Enable the Bluetooth radio on an Aruba Instant AP in standalone mode or on all APs in an Aruba Instant cluster.
ble mode beaconing
-
Add a new IoT transport profile using the set-up information collected in chapter âREQUIRED INFORMATIONâ
iot transportProfile kloudspot endpointID kloudspot endpointToken <token> endpointType telemetry-https endpointURL <endpointUrl> accessID kloudspot transportInterval 10 rssiReporting average exit
-
Enable the configured IoT profile.
iot useTransportProfile kloudspot
-
Apply the new configuration to the Aruba Instant AP/Cluster
exit
commit apply
Verification and Troubleshooting
Once the IoT profile has been configured and enabled, Aruba Instant immediately connects to the backend server and starts sending telemetry information.The commands below can be used to validate and troubleshoot the IoT configuration and connectivity to the backend server.
Note: please ensure that access pointsâ Bluetooth radios have been enabled, and that the access points receive data from the Bluetooth devices.
The âshow ap debug ble-configâ command should show the BLE Operation Mode as âBeaconing,â and the configured IoT profile should be shown.
d0:d3:e0:c3:3b:e0# show ap debug ble-config
-----------------------------------------------
---------- IOT Radio Profiles -----------------
-----------------------------------------------
Profile Name : ble
Radio Instance : Internal
Radio Mode : BLE
BLE Mode : beaconing scanning
BLE Console : On
BLE Tx Power (dBm) : 0
-----------------------------------------------
Note: No Zigbee service profiles configured.
Radio Configuration
-------------------
Radio Information TI ONBOARD Internal BLE
----------------- ------------------------
Radio Profile Type --
Zigbee Supported No
APB MAC Address b4:52:a9:34:07:53
Operational Mode Persistent Console (APB: Persistent Console)
Bundled BluOS Images Bank A(/aruba/bin/UpgradeImage_AP_OAD-A_1.2-37.bin) Bank B(/aruba/bin/Beacon_AP_OAD-B_1.2-37.bin)
-----------------
Miscellaneous Configuration
---------------------------
Item Value
---- -----
FIPS Mode No
Master IP 127.0.0.1
BLE Ready Yes
APB Info Update Intvl (in sec) 88 (1763/1716)
BLE debug log Enabled
Message Selector 0xffff (APB: 0xffff)
AP USB Power Override Disabled (-1)
Uplink Status Up (APB: -NA-)
APB Connection Status 0
Time Last Message to APB 1970-01-01 00:00:00
Log Levels Available { All(0xfffff), Info(0x04), Warning(0x02), Error(0x01), Ageout(0x08), BMReq(0x10), FW-Upgrade(0x20), FW-UpgradeErr(0x40), CfgUpdate(0x80), CfgUpdateErr(0x100), Beacon(0x200), BcnTLV(0x400), BcnErr(0x800), APB(0x1000), Tags(0x2000), ZF(0x4000), AMON(0x8000), IOT-GW(0x10000), AT-HTTPS-JSON(0x20000), AT-WEBSOCKET-PROTOBUF(0x40000), DevMgmt(0x80000), None(0x00) }
Current Log Level { 0x901e1 : Error(0x0001), FW-Upgrade(0x0020), FW-UpgradeErr(0x0040), CfgUpdate(0x0080), CfgUpdateErr(0x0100), IOT-GW(0x10000), DevMgmt(0x80000) }
Log Mac Filter None
Bundled BluOS Upgrade Enabled (-1)
OTA FW BluOS Upgrade Disabled
-----------------
BLE IoT Transport Context Config ID: 1
Last Sync Time: 2020-07-08 21:50:00
BLE IoT Profile List
--------------------
Profile Name EndpointType Interval Content Filter Attribute Cell Size Att Threshold Out Range Ageout NamespaceFilter URLFilter Last Update RssiReporting environmentType customFadingFactor deviceCountsOnly rtlsDestMAC vendorFilter
------------ ------------ -------- ------- ---------------- --------- ------------- ---------------- --------------- --------- ----------- ------------- --------------- ------------------ ---------------- ----------- ------------
kloudspot (51) Telemetry Https 10 second iBeacon(8),Eddystone(10) NA NA NA NA NA NA 2020-07-08 21:57:31 Average office NA FALSE 00:00:00:00:00:00
-----------------
Note: Uplink status is applicable only for Controller with Dynamic Console operational mode.
For APBs of type LS-BT1USB, applied operational mode is Beaconing if ap system profile setting is either Persistent or Dynamic.
Note: Setting Message Selector value to 0x0 will cause the APB to function improperly. Use the knob with caution.
Note: Message Selector Bits: All(0xffff), V0 Scan (0x01), V1 Scan (0x02), UI Scan (0x04), Proximity Advert (0x08), IBeacon (0x10), Heartbeat-1 (0x20), Heartbeat-UI (0x40), Upg Ack (0x80), Heartbeat-2 (0x200), Generic Scan (0x400), Generic Advert (0x800), Tag V1 Scan (0x1000), Tag V1 Advert (0x2000)
Use the âshow ap debug ble-table allâ command to verify if - and which - Bluetooth devices can be seen by the AP.
d0:d3:e0:c3:3b:e0# show ap debug ble-table all
BLE Device Table [Aruba Beacons]
--------------------------------
MAC HW_Type FW_Ver Flags Status Batt(%) RSSI Major# Minor# UUID Meas. Pow. Tx_Power Last Update Uptime
--- ------- ------ ----- ------ ------- ---- ------ ------ ---- ---------- -------- ----------- ------
b4:52:a9:34:07:53 BT-AP303 OAD B 1.2-37 0x01a3 LIA ONBOARD -- 0 0 4152554E-F99B-4A3B-86D0-947070693A78 -56 14 I:4s 1h:40m:0s
BLE Device Table [Generic]
---------------------------
MAC Address Type RSSI Last Update Device Class
--- ------------ ---- ----------- ------------
5f:a3:0d:7c:fe:17 Private R -56 I:0s --
63:15:26:e9:98:1a Private R -50 I:1390s --
58:cb:c4:25:90:2d Private R -42 I:338s --
7b:67:2f:f0:46:4e Private R -42 I:1545s --
01:5e:6a:46:34:79 Private NR -87 I:0s --
47:ad:f8:ff:2e:7c Private R -57 I:1s --
d9:93:af:72:2e:8c Static -74 I:1s --
60:81:33:46:98:91 Private R -51 I:1390s --
67:85:77:bb:9a:e8 Private R -42 I:0s --
46:b9:a9:5d:ca:eb Private R -53 I:0s --
4e:0d:d5:6e:1c:fd Private R -52 I:901s --
79:27:3f:15:ef:23 Private R -84 I:0s --
a4:83:e7:9c:39:2c Public -53 I:0s --
7d:3c:66:1a:37:36 Private R -94 I:1843s --
44:54:ed:3a:b3:37 Private R -51 I:1801s --
74:5b:84:08:b7:64 Private R -54 I:901s --
5a:a9:82:c3:81:69 Private R -66 I:244s --
5c:9c:95:47:c5:a0 Private R -52 I:1801s --
cc:04:b4:02:51:af Public -89 I:0s --
24:67:63:23:53:d5 Private NR -83 I:589s --
46:33:09:75:eb:ee Private R -57 I:1s --
48:da:99:74:83:f4 Private R -56 I:0s --
ac:23:3f:5e:67:ff Public -41 I:0s iBeacon, eddystone
Beacons:1
Generic BLE devices:23
Total BLE devices:24
Note: Battery level for LS-BT1USB devices is indicated as USB.
Note: Uptime is shown as Days hour:minute:second.
Note: Last Update is time in seconds since last heard update.
Note: Meas. Pow. is the averaged RSSI (in dBm) when the iBeacon is calibrated.
Status Flags:L:AP's local beacon; I:iBeacon; A:Beacon management capable
:H:High power beacon; T:Asset Tag Beacon; U:Upgrade of firmware pending
:u:Beacon management update received
The commands âshow ap debug ble-relay iot-profileâ can be used to check the IoT profile configuration and server connection status of the IoT profile. The state should be displayed as âReady.â
d0:d3:e0:c3:3b:e0# show ap debug ble-relay iot-profile
ConfigID : 1
---------------------------Profile[kloudspot]---------------------------
serverURL : https://smoke.kloudspot.com:48083/aruba-iot
serverType : Telemetry Https
deviceClassFilter : iBeacon,Eddystone
reportingInterval : 10 second
accessToken : 12345
clientID : kloudspot
rssiReporting : Average
environmentType : office
accessID : kloudspot
Server Connection State
--------------------------
TransportContext : Ready
Last Data Update : 2020-07-08 22:01:42
Last Send Time : 2020-07-08 22:01:43
Last Receive Time : 2020-07-08 22:01:43
TransType : Https
If the server connection status does not show âReady,â use the command âshow ap debug ble-relay report â for more detailed connection logs for troubleshooting purposes.
d0:d3:e0:c3:3b:e0# show ap debug ble-relay report kloudspot
---------------------------Profile[kloudspot]---------------------------
Last Send Time: 2020-07-08 22:03:03
Sent report to Endpoint server (6s) ago: success 84, failed 0, last curl result code 200
Timeout(-1):20 Jobs added: 84
Server: https://<server>/aruba-iot with proxy: NA
Proxy username: NA, password: NA
Vlan Interface : Not Configured
Request to Server:
{"meta": {"version": 1}, "reporter": {"name": "d0:d3:e0:c3:3b:e0", "mac": "D0:D3:E0:C3:3B:E0", "ipv4": "10.90.37.235", "hwType": "AP-303", "swVersion": "8.6.0.4-8.6.0.4", "swBuild": "74969", "time": 1594245782}, "reported": [{"deviceClass": ["iBeacon", "eddystone"], "model": "iBeacon", "vendorName": "Apple", "mac": "AC:23:3F:5E:67:FF", "stats": {"adv_cnt": 7641266, "frame_cnt": 12, "uptime": 78288870}, "beacons": [{"eddystone": {"uid": {"nid": "00112233445566778899", "bid": "ABCDE23A00E1"}, "url": {"prefix": 1, "urlBytes": "6D696E65770012"}, "power": -24}}, {"ibeacon": {"uuid": "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0", "major": 0, "minor": 0, "power": -59}}], "rssi": {"avg": -41}, "BeaconEvent": {"event": "update"}, "lastSeen": 7, "sensors": {"voltage": 3.12, "temperatureC": 25.0}}]}
Last Curl logs:
....
Host: <server>
Content-Type: application/json
Authorization: Bearer 12345
Accept: application/json
Content-Length: 792
* upload completely sent off: 792 out of 792 bytes
< HTTP/1.1 200 OK
< Server: nginx/1.14.0 (Ubuntu)
< Date: Wed, 08 Jul 2020 22:03:03 GMT
< Transfer-Encoding: chunked
< Connection: keep-alive
< Keep-Alive: timeout=5
< Vary: Accept-Encoding, User-Agent
<
* Curl_http_done: called premature == 0
* Connection #0 to host smoke.kloudspot.com left intact
ARUBAOS
This chapter describes the configuration and verification steps necessary to set-up the IoT feed to KloudInsights on controller-based installations running ArubaOS.
- In controller based set-ups the BLE radios and IoT profiles have to be enabled per AP groups.
- Mobility Master vs. Standalone ControllerThe configuration steps for IoT profiles in a mobility master and a standalone controller set-up are the same except that in a mobility master scenario the configuration is done on the mobility master using the configuration hierarchy.
Set-up
- Enable the Bluetooth radio on the desired AP groups by setting the ble-op-mode to Beaconing in the corresponding AP system profile.
- The deviceClassFilter all is enabled by default. The deviceClassFilter all has to be explicitly set to disable-dIn to send only telemetry updates for ibeacon and eddystone devices to the backed.
- Add a new IoT transport profile using the set-up information collected in chapter âREQUIRED INFORMATIONâ.
- Enable the configured IoT profile.
- Apply the new configuration to the Aruba controller/mobility master.
Verification and Troubleshooting
Mobility Master vs. Standalone ControllerThe verification and troubleshooting steps for IoT profiles in a mobility master and a standalone controller set-up are the same except that in a mobility master scenario the verification and troubleshooting is done on the managed devices.
After the IoT profile has been configured and enabled the Aruba controller will immediately connect to the backend server and start sending telemetry information.
The commands below can used be to validate and troubleshoot the IoT configuration and connectivity to the backend server.
Check first to ensure that the access pointsâ BLE radios have been enabled and
if the APs can receive data form the BLE devices. The show ap debug ble-
config [ap-name|ip-addr|ip6-addr] command should show the BLE Operation Mode
as âBeaconingâ and the configured IoT profile should be displayed.
Using the show ap debug ble-table [ap-name|ip-addr|ip6-addr] all command verify if - and which - Bluetooth devices are seen by the access points.
Use the command show ble_relay iot-profile to check the IoT profile configuration and server connection status of the IoT profile. The state of the response should show âReady.â
If the server connection status does not show âReady,â use the command show ble_relay report report [] to obtain more detailed connection logs for troubleshooting.