Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Visão geral da API WebSocket

Comece a aprender sobre WebSockets e como usá-los com a Juniper Mist™.

Você pode usar WebSockets em sua rede Juniper Mist. O protocolo WebSocket pode abrir uma sessão de comunicação bidirecional entre um cliente e um servidor. Você pode enviar mensagens para o servidor e receber respostas orientadas a eventos em tempo real sem precisar pesquisar o servidor para obter uma resposta. Por exemplo, os Websockets são muito úteis em circunstâncias em que você deseja evitar atualizações do navegador.

A solicitação inicial do cliente e a resposta do servidor usam o protocolo HTTP para estabelecer a comunicação WebSocket. A partir de então, o cliente pode se inscrever em um ou mais tópicos (canais de streaming) para transmitir dados.

Você e outros administradores podem usar WebSockets em casos de uso muito específicos, como painéis de visualização de dados ou mapas que devem refletir valores de dados em tempo real.

Exemplos

  • Preencha um painel personalizado com o status ao vivo dos pontos de acesso (APs) da Juniper Mist e dados de localização em tempo real dos ativos Bluetooth Low Energy (BLE).

  • Transmita dados e estatísticas do dispositivo (como transmitir e receber pacotes) de hora em hora para painéis operacionais externos, como o Grafana. Embora as estatísticas do dispositivo sejam robustas, você pode analisá-las facilmente para abstrair os dados desejados para exibição.

  • Exiba capturas de pacotes (PCAPs) à medida que ocorrem, sem a necessidade de atualizar a página.

WebSocket API Endpoint

O endpoint da API depende da região global à qual sua organização está associada.

Tabela 1: Endpoints por região global

Tipo de serviço

Global 01

Global 02

Global 03

Global 04

Global 05

EMEA 01

EMEA 02

EMEA 03

EMEA 04

APAC 01

APAC 02

APAC 03

Portal de administração api-ws.mist.com api-ws.gc1.mist.com api-ws.ac2.mist.com api-ws.gc2.mist.com

api-ws.gc4.mist.com

api-ws.eu.mist.com api-ws.gc3.mist.com api-ws.ac6.mist.com api-ws.gc6.mist.com api-ws.ac5.mist.com api-ws.gc5.mist.com api-ws.gc7.mist.com
Websocket API

api.mist.com

api.gc1.mist.com

api.ac2.mist.com

api.gc2.mist.com

api.gc4.mist.com

api.eu.mist.com

api.gc3.mist.com

api.ac6.mist.com

api.gc6.mist.com

api.ac5.mist.com

api.gc5.mist.com

api.gc7.mist.com

Opções de autenticação

A Juniper Mist requer autenticação para estabelecer uma conexão com a API WebSocket. Você pode usar estes métodos:

  • Criar tokens de API

  • Login HTTP com credenciais de login do Juniper Mist

  • Chamada de API para um provedor OAuth2 externo

Canais de streaming WebSocket

Depois que a Juniper Mist estabelece uma conexão de streaming com um cliente, o cliente precisa se inscrever em pelo menos um canal para enviar e receber mensagens. As mensagens vão e voltam por meio do protocolo WebSocket bidirecional. Para parar de enviar e receber mensagens de um canal, você pode cancelar a assinatura dele.

Observação:

Todos os canais exigem que você especifique a ID do site. Para localizar uma ID de site no portal Juniper Mist, selecione Organização > Configuração do Site no menu à esquerda e clique no site.

Depois de fazer login, você pode visualizar mais informações sobre cada WebSocket. Comece navegando até os links da Web para a documentação do WebSocket fornecidos na próxima seção.

Exemplos e documentação do WebSocket

Como mencionado anteriormente, o protocolo WebSocket é usado para comunicação entre cliente e servidor. Você pode enviar mensagens para o servidor e receber respostas orientadas a eventos. A tabela a seguir contém exemplos de solicitações e respostas, bem como links para a documentação do WebSocket.

Observação:

O link da documentação dependerá da região (nuvem) em que você fez login. A tabela abaixo contém links para a nuvem Global 01.

Tabela 2: Documentação do WebSocket
Nomes Canais de streaming Exemplos de solicitações/respostas e documentação
Descoberta de ativos BLE por mapa /sites/:site_id/stats/maps/:map_id/discovered_assets

Para descobrir recursos BLE no mapa, emita a seguinte solicitação:

Pedido:

GET /api/v1/sites/:site_id/stats/maps/:map_id/discovered_assets

Resposta:

[
    {
        "mac": "6fa474be7xxx",
        "device_name": "[TV] UN65JU6xxx",
        "x": 60,
        "y": 80,
        "manufacture": "Apple",
        "last_seen": 1428939600,

        // optionally populated
        "ibeacon_uuid": "f3f17139-704a-f03a-2786-0400279e37c3",
        "ibeacon_major": 13,
        "ibeacon_minor": 138,
        "eddystone_uid_namespace": "2818e3868dec25629ede",
        "eddystone_uid_instance": "5c5b35000001",
        "eddystone_url_url": "https://www.abc.com",
        "mfg_company_id": 935,
        "mfg_data": "648520a1020000",
        "duration": 120

    }
]

Para obter mais informações, consulte Obter ativos descobertos do site por mapa.

Informações do vidro de RF do ativo BLE /sites/:site_id/assets/:asset_id/diag

Para obter informações do RF Glass para ativos BLE, emita a seguinte solicitação:

Pedido:

{
    "subscribe": "/sites/:site_id/assets/:asset_id/diag"
}

Resposta:

{
    "event": "data",
    "channel": "/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/assets/115825352113/diag",
    "data": {
        "map_id": "845a23bf-bed9-e43c-4c86-6fa474be7ae5",
        "grid": {
            "topleft_x_m": -0.86,
            "topleft_y_m": 9.2486,
            "size_m": 0.5,
            "width": 40,
            "height": 40,
            "data": "<base-64 encoded data intended to be interpreted by atob() in JS>",
        },
        "motion": false,

        "vbles": [
            {
                "type": "device",
                "id": "00000000-0000-0000-1000-5c5b350e0060",
                "orientation": 90,
                "xyz_m": [ 5.79, 4.33, 3.04 ],
                "rssis": [ -52.32, -53, -55, -57, -60.25, null, null, -62, null ]
            },
            {
                "type": "beacon",
                "id": "00000000-0000-0000-1000-e74489000052",
                "xyz_m": [ 8.79, 10.33, 3.04 ],
                "rssi": -59.5
            }
        ],
        "peak": {
            "vble_id": "00000000-0000-0000-1000-e74489000052",
            "max_rssi": -53.428,
            "plf": -73,
            "ple": -21,
            "intercept": -52
        },

        // estimates based on probability surface, we'll always have this
        "raw_xyz_m": [ 18.7486, 10.13269, 0 ],
        "smoothed_xyz_m": [ 18.7486, 10.13269, 0 ],

        "model": "asset",
        "speed": null,
        "direction": null,
        "timestamp": 1501113197.768402,


        // the loudest mote estimate
        "closest_mote_xyz_m": [ 8.79, 10.33, 3.04 ],
        // 3 past consecutive mote estimates
        "adjusted_mote_xyz_m": [ 8.79, 10.33, 3.04 ],
        // another algorithm, more sophisticated
        "vector_mote_xyz_m": [ 8.79, 10.33, 3.04 ]

        //particle reset flags
        "pf_reset": false,
        "pf_hard_reset": false
    }
}

Para obter mais informações, consulte Local - Ativos BLE.

Informações do vidro de RF do cliente SDK (incluindo a localização do cliente SDK) /sites/:site_id/sdkclients/:sdkclient_id/diag

Para ver os dados do RF Glass para clientes SDK, emita a seguinte solicitação:

Pedido:

{
    "subscribe": "/sites/:site_id/sdkclients/:sdkclient_id/diag"
}

Resposta:

{
    "event": "data",
    "channel": "/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/sdkclients/de87bf9d-183f-e383-cc68-6ba43947d403/diag",
    "data": {
        "map_id": "845a23bf-bed9-e43c-4c86-6fa474be7ae5",
        "grid": {
            "topleft_x_m": -0.86,
            "topleft_y_m": 9.2486,
            "size_m": 0.5,
            "width": 40,
            "height": 40,
            "data": "<base-64 encoded data intended to be interpreted by atob() in JS>",
        },
        "motion": true,

        "avg_duration": 3,
        "vbles": [
            {
                "type": "device",
                "id": "00000000-0000-0000-1000-5c5b350e0060",
                "orientation": 90,
                "xyz_m": [ 5.79, 4.33, 3.04 ],
                "rssis": [ -52.32, -53, -55, -57, -60.25, null, null, -62, null ]
            },
            {
                "type": "beacon",
                "id": "00000000-0000-0000-1000-e74489000052",
                "xyz_m": [ 8.79, 10.33, 3.04 ],
                "rssi": -59.5
            }
        ],
        "peak": {
            "vble_id": "00000000-0000-0000-1000-e74489000052",
            "max_rssi": -53.428,
            "plf": -73,
            "ple": -21,
            "intercept": -52
        },

        // estimates based on probability surface, we'll always have this
        "raw_xyz_m": [ 18.7486, 10.13269, 0 ],
        "smoothed_xyz_m": [ 18.7486, 10.13269, 0 ],

        // available only if present
        "app_xyz_m": [18.714, 10.1102, 0],
        "dead_reckoning_xyz_m": [18.791, 10.1613, 0],
        "dead_reckoning_raw_xyz_m": [18.157, 10.110, 0],

        "model": "iPod7",
        "os": "",
        "version": "10.2.1",
        "beams_count": 12,
        "beams_mean": 4,
        "missing_beams": 16,
        "speed": 1,
        "direction": 235,
        "timestamp": 1501113999.758902,

        // the loudest mote estimate
        "closest_mote_xyz_m": [ 8.79, 10.33, 3.04 ],
        // 3 past consecutive mote estimates
        "adjusted_mote_xyz_m": [ 8.79, 10.33, 3.04 ],
        // another algorithm, more sophisticated
        "vector_mote_xyz_m": [ 8.79, 10.33, 3.04 ]

        //particle reset flags
        "pf_reset": false,
        "pf_hard_reset": false

        "latency": 123
    }
}

Para obter mais informações, consulte Obter estatísticas do SDK do site por mapa e Obter estatísticas do SDK do site.

Wi-Fi (localização do cliente) /sites/:site_id/stats/maps/:map_id/clients

Para ver os locais dos clientes sem fio, emita a seguinte solicitação:

Pedido:

GET /api/v1/sites/:site_id/stats/maps/:map_id/clients

Resposta:

[
    {
        "mac": "5684dae9ac8b",
        "last_seen": 1470417522,

        "username": "david@mist.com",
        "hostname": "David-Macbook",
        "os": "OS X 10.10.2",
        "manufacture": "Apple",
        "family": "iPhone",
        "model": "6S",

        "ip": "192.168.1.8",
        "ip6": "2001:db8:3333:4444:5555:6666:7777:8888",

        "ap_mac": "5c5b35000010",
        "ap_id": "0000000-0000-0000-1000-5c5b35000010",
        "ssid": "corporate",
        "wlan_id": "be22bba7-8e22-e1cf-5185-b880816fe2cf",
        "psk_id": "732daf4e-f51e-8bba-06f9-b25cd0e779ea",

        "uptime": 3568,
        "idle_time": 3,
        "power_saving": true,
        "band": "24",
        "proto": "a",
        "key_mgmt": "WPA2-PSK/CCMP",
        "dual_band": false,

        "channel": 7,
        "vlan_id": "",
        "airespace_ifname": "",
        "rssi": -65,
        "snr": 31,
        "tx_rate": 65,
        "rx_rate": 65,

        "tx_bytes": 175132,
        "tx_bps": 6,
        "tx_packets": 1566,
        "tx_retries": 500,
        "rx_bytes": 217416,
        "rx_bps": 12,
        "rx_packets": 2337,
        "rx_retries": 5,

        "map_id": "63eda950-c6da-11e4-a628-60f81dd250cc",
        "x": 53.5,
        "y": 173.1,
        "x_m": 5.35
        "y": 17.31
        "num_locating_aps": 3,

        "is_guest": true,
        "guest": {
            "authorized": True,
            "authorized_time": 1428939300,
            "authorized_expiring_time": 1429109300

            "name": "John",
            "email": "john@abc.com",
            "company": "ABC",
            "field1": "whatever",
            "cross_site": True
        },
        "airwatch": {
            "authorized": True
        },
        "_ttl": 250
    }
]

Para obter mais informações, consulte Obter estatísticas do cliente sem fio do site e Obter estatísticas do cliente sem fio do site por mapa.

Estatísticas do cliente Wi-Fi /sites/:site_id/stats/clients

Para obter estatísticas do cliente sem fio, emita a seguinte solicitação:

Pedido:

GET /api/v1/sites/:site_id/stats/clients

Resposta:

[
    {
        "mac": "5684dae9ac8b",
        "last_seen": 1470417522,

        "username": "david@mist.com",
        "hostname": "David-Macbook",
        "os": "OS X 10.10.2",
        "manufacture": "Apple",
        "family": "iPhone",
        "model": "6S",

        "ip": "192.168.1.8",
        "ip6": "2001:db8:3333:4444:5555:6666:7777:8888",

        "ap_mac": "5c5b35000010",
        "ap_id": "0000000-0000-0000-1000-5c5b35000010",
        "ssid": "corporate",
        "wlan_id": "be22bba7-8e22-e1cf-5185-b880816fe2cf",
        "psk_id": "732daf4e-f51e-8bba-06f9-b25cd0e779ea",

        "uptime": 3568,
        "idle_time": 3,
        "power_saving": true,
        "band": "24",
        "proto": "a",
        "key_mgmt": "WPA2-PSK/CCMP",
        "dual_band": false,

        "channel": 7,
        "vlan_id": "",
        "airespace_ifname": "",
        "rssi": -65,
        "snr": 31,
        "tx_rate": 65,
        "rx_rate": 65,

        "tx_bytes": 175132,
        "tx_bps": 6,
        "tx_packets": 1566,
        "tx_retries": 500,
        "rx_bytes": 217416,
        "rx_bps": 12,
        "rx_packets": 2337,
        "rx_retries": 5,

        "map_id": "63eda950-c6da-11e4-a628-60f81dd250cc",
        "x": 53.5,
        "y": 173.1,
        "x_m": 5.35
        "y": 17.31
        "num_locating_aps": 3,

        "is_guest": true,
        "guest": {
            "authorized": True,
            "authorized_time": 1428939300,
            "authorized_expiring_time": 1429109300

            "name": "John",
            "email": "john@abc.com",
            "company": "ABC",
            "field1": "whatever",
            "cross_site": True
        },
        "airwatch": {
            "authorized": True
        },
        "_ttl": 250
    }
]
Para obter mais informações, consulte Obter estatísticas do cliente sem fio do site.
Clientes não conectados /sites/:site_id/stats/maps/:map_id/unconnected_clients

Para obter a localização de clientes não conectados, emita a seguinte solicitação:

Pedido:

GET /api/v1/sites/:site_id/stats/maps/:map_id/unconnected_clients

Resposta:

[
    {
        "mac": "5684dae9ac8b",
        "ap_mac": "5c5b350e0410",
        "map_id": "ea77be98-ab51-4ff8-a863-ac3c8e1b1c3a",
        "x": 60,
        "y": 80,
        "rssi": -75.0,
        "manufacture": "Apple",
        "last_seen": 1428939600
    }
]

Para obter mais informações, consulte Listar estatísticas do cliente desconectado do site.

Dispositivos /sites/:site_id/devices

Para obter uma lista de dispositivos para um site específico, emita o seguinte:

Pedido:

GET /api/v1/sites/:site_id/devices

Resposta:

[
    {
        "model": "AP41",
        "hw_rev": "0",
        "map_id": "01b04bbe-9687-11e8-a5a9-346895ed1b7d",
        "orientation": 0,
        "org_id": "476057fe-cebb-4be9-9c15-caf1f09d95e0",
        "site_id": "eaa6b2b7-88cd-41ea-8150-9b46b6779235",
        "mac": "5c5b350e0001",
        "modified_time": 1533206823,
        "created_time": 1533196761,
        "tag_id": 107,
        "tag_uuid": "9c557d6a-8a5e-11e6-b1db-0242ac110004",
        "serial": "1002710010001",
        "type": "ap",
        "id": "00000000-0000-0000-1000-5c5b350e0001",
        "name": "ap-001"
    }
]

Para obter mais informações, consulte Listar dispositivos de site.

Estatísticas do dispositivo /sites/:site_id/stats/devices

Observação: Para dispositivos Mist Edge, o canal de streaming é /sites/:site_id/stats/mxedges

Para visualizar as estatísticas atuais de um dispositivo específico, emita o seguinte:

Pedido:

GET /api/v1/sites/:site_id/stats/devices

Resposta:

[
    {
        # information from manufacturing, immutable
        "mac": "5c5b35000010",
        "model": "AP200",
        "type": "ap",
        "serial": "FXLH2015170017",
        "last_seen": 1470417522,

        # configurations
        "name": "conference room",
        "map_id": "63eda950-c6da-11e4-a628-60f81dd250cc",
        "x": 53.5,
        "y": 173.1,
        "radio_config": {
            "band_24": {
                "channel": 0,
                "bandwidth": 20,
                "power": 0,
                "dynamic_chaining_enabled": false,
                "tx_chain": 4,
                "rx_chain": 4
            },
            "band_5": {
                "channel": 0,
                "bandwidth": 40,
                "power": 0,
                "dynamic_chaining_enabled": false,
                "tx_chain": 1,
                "rx_chain": 4
            },
            "band_6": {
                "channel": 0,
                "bandwidth": 40,
                "power": 0,
                "tx_chain": 1,
                "rx_chain": 4
            },
            "scanning_enabled": true
        },
        "ip_config": {
            "type": "static",
            "ip": "10.2.1.1",
            "netmask": "255.255.255.0",
            "gateway": "10.2.1.254",
            "dns": [ "8.8.8.8", "4.4.4.4" ],
            "dns_suffix": [ ".mist.local", ".mist.com" ]
        },
        "ble_config": {
            "power_mode": "custom",
            "power": 10,
            "beacon_rate_model": "custom",
            "beacon_rate": 3,
            "beam_disabled": [ 1, 3, 6 ]
        },
        "led": {
            "enabled": true,
            "brightness": 255
        },

        # current stat
        "status": "connected",
        "version": "1.0.0",
        "ip": "10.2.9.159", // first IP
        "ext_ip": "73.92.124.103",
        "num_clients": 10,
        "uptime": 13500,
        "tx_bps": 634301,
        "rx_bps": 60003,
        "tx_bytes": 211217389682,
        "tx_pkts": 812204062,
        "rx_bytes": 8515104416,
        "rx_pkts": 57770567,

        "locating": false,

        "radio_stat": {
            "band_24": {
                "mac": "5c5b350004a0"
                "channel": 6,
                "bandwidth": 20,
                "power": 19,
                "num_clients": 6,
                "tx_bytes": 211166512114,
                "tx_pkts": 812058566,
                "rx_bytes": 8504737800,
                "rx_pkts": 57731964
            },
            "band_5": {
                "mac": "5c5b350004b0"
                "channel": 44,
                "bandwidth": 80,
                "power": 15,
                "num_clients": 4,
                "tx_bytes": 50877568,
                "tx_pkts": 145496,
                "rx_bytes": 10366616,
                "rx_pkts": 38603
            }
        },
        "port_stat": {
            "eth0": {
                "up": true,
                "speed": 1000,
                "full_duplex": true,
                "tx_bytes": 2056,
                "tx_pkts": 670,
                "rx_bytes": 2056,
                "rx_pkts": 670,
                "rx_errors": 0,
            },
            "eth1": {
                "up": false
            },
            "module": {
                "up": false
            }
        },
        # `ports` is like `port_stat` but is an array.
        # This array can be converted to a dict using (port_id, node) as key.
        "ports": [
            // Each port object is same as `GET /api/v1/sites/:site_id/stats/ports/search` result object,
            // except that org_id, site_id, mac, timestamp are removed
            {
                "port_id": "ge-0/0/1",
                "node": "node0",        // Absent if this device is standalone
                .
                .
                .
            }            
        ]
        "ip_stat": {
            "ip": "10.2.1.1",
            "netmask": "255.255.255.0",
            "gateway": "10.2.1.254",
            "ip6": "2607:f8b0:4005:808::2004",
            "netmask6": "/32",
            "gateway6": "2607:f8b0:4005:808::1",
            "dns": [ "8.8.8.8", "4.4.4.4" ],
            "dns_suffix": [ ".mist.local", ".mist.com" ],
            "ips": {
                "vlan1": "10.2.1.1/24,2607:f8b0:4005:808::1/32",
                "vlan193": "10.73.1.31/16",
                "vlan3157": "10.72.11.14/24"
            }
        },
        "ble_stat": {
            "power": 10,
            "beacon_rate": 3,
            "uuid": "ada72f8f-1643-e5c6-94db-f2a5636f1a64",
            "major": 12345,
            "minors": [ 201, 202, 203, 204, 205, 206, 207, 208 ],
            "tx_pkts": 135135135,
            "tx_bytes": 5231513353,
            "tx_resets": 0,
            "rx_pkts": 135,
            "rx_bytes": 135,

            "ibeacon_enabled": true,
            "ibeacon_uuid": "f3f17139-704a-f03a-2786-0400279e37c3",
            "ibeacon_major": 13,
            "ibeacon_minor": 138,

            "eddystone_uid_enabled": false,
            "eddystone_uid_namespace": "2818e3868dec25629ede",
            "eddystone_uid_instance": "5c5b35000001",
            "eddystone_uid_freq_msec": 200,

            "eddystone_url_enabled": true,
            "eddystone_url_url": "https://www.abc.com",
            "eddystone_url_freq_msec": 100
        },
        "l2tp_stat": {
            "7dae216d-7c98-a51b-e068-dd7d477b7216": {
                "wxtunnel_id": "7dae216d-7c98-a51b-e068-dd7d477b7216",
                "state": "established_with_sessions",
                "uptime": 135,
                "sessions: [
                    {
                        "remote_id": "vpn1",
                        "state": "established",
                        "remote_sid": 13,
                        "local_sid": 31
                    }
                ]
            }
        },
        "lldp_stat": {
            "system_name": "TC2-OWL-Stack-01",
            "system_desc": "HP J9729A 2920-48G-POE+ Switch",
            "mgmt_addr": "10.1.5.2",
            "port_desc": "2/26",
            "chassis_id": "63:68:61:73:73:69",
            "lldp_med_supported": false,
            "power_request_count": 3,
            "power_allocated": 15500,
            "power_requested": 25500,
            "power_draw": 15000
        },
        "power_src": "PoE 802.3af",
        "power_budget": -12000,
        "power_constrained": true,
        "power_opmode": "[20] 6GHz(2x2) 5GHz(4x4) 2.4GHz(2x2).",

        "switch_redundancy": {
            "num_redundant_aps": 1,
        },

        // IoT stats
        "iot_stat": {
            "DI2": {
                "value": 0
            }
        },

        // Environment stats
        "env_stat": {
            "cpu_temp": 51,
            "ambient_temp": 39,
            "humidity": 11,
            "attitude": 0,
            "pressure": 1015
            "accel_x": -0.012,
            "accel_y": 0.004,
            "accel_z": -1.012,
            "magne_x": 0.0,
            "magne_y": 1.3,
            "magne_z": 0.0,
            "vcore_voltage": 0
        },
        "mount": 'faceup',


        // ESL Stats
        "esl_stat": {
            "up": true,
            "type": "imagotag",  // if up

            // following are type-dependent
            "connected": true,
            "channel": 3,
        },

        // for a base AP
        "mesh_downlinks": {
            "00000000-0000-0000-1000-5c5b356be59f": {
                "site_id": "0e525da3-6033-428c-9a51-9f652f643baf",
                "band": "24",
                "proto": "a",
                "channel": 7,

                "last_seen": 1470417522,
                "idle_time": 3,

                "rssi": -65,
                "snr": 31,
                "tx_rate": 65,
                "rx_rate": 65,

                "tx_bytes": 175132,
                "tx_bps": 6,
                "tx_packets": 1566,
                "tx_retries": 500,
                "rx_bytes": 217416,
                "rx_bps": 12,
                "rx_packets": 2337,
                "rx_retries": 5
            }
        },

        // for a remote/relay AP
        "mesh_uplink": {
            "uplink_ap_id": "00000000-0000-0000-1000-5c5b35000010",
            "uplink_site_id": "1916d52a-4a90-11e5-8b45-1258369c38a9",
            "band": "24",
            "proto": "a",
            "channel": 7,

            "last_seen": 1470417522,
            "idle_time": 3,

            "rssi": -65,
            "snr": 31,
            "tx_rate": 65,
            "rx_rate": 65,

            "tx_bytes": 175132,
            "tx_bps": 6,
            "tx_packets": 1566,
            "tx_retries": 500,
            "rx_bytes": 217416,
            "rx_bps": 12,
            "rx_packets": 2337,
            "rx_retries": 5
        },
        "fwupdate": {
            "timestamp": 1428949501,
            "status": "inprogress",
            "status_id": 5,
            "progress": 10
        },

        "last_trouble": {
            "code": "03",
            "timestamp": 1428949501
        },

        // if RADSec is enabled, device certs will be automatically generated and managed
        // with the expiration time exposed
        "cert_expiry": 1534534392
        "locked": false,
        "auto_placement": {
            "x": 53.5,
            "y": 173.1,
            "x_m": 5.35,
            "y_m": 17.31,
            "status": "localized",
            "status_detail": "localized",
            "use_auto_placement": false,
            "recommended_anchor": false,
            "info": {
                "cluster_number": 0,
                "orientation_state": 0,
                "probability_surface": {
                    "radius": 2.1,
                    "x": 5.65,
                    "y": 17.10
                }
            },
            "_id": "5c5b35000010"
        }
    }
]

Para obter mais informações, consulte Obter estatísticas do dispositivo do site.

   
Comandos de dispositivos /sites/:site_id/devices/:d evice_id/cmd

Para assinar as saídas de comando do dispositivo, emita a seguinte solicitação:

Pedido:

{
    "subscribe": "/sites/:site_id/devices/:device_id/cmd"
}

Resposta:

{
    "event": "data",
    "channel": "/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd",
    "data": {
        "session": "session_id",
        "raw": "64 bytes from 23.211.0.110: seq=8 ttl=58 time=12.323 ms\n"
    }
}

Para obter mais informações, consulte Dispositivo - Saída do comando.

Streaming PCAP /sites/:site_id/pcaps

Para assinar a Captura de Pacotes de streaming (PCAP), emita a seguinte solicitação:

Pedido:

{
    subscribe: "/sites/:site_id/pcaps"
}

Resposta:

{
    "event": "data"
    "channel": "/sites/:site_id/pcaps"
    "data": {
         "capture_id": "6b1be4fb-b239-44d9-9d3b-cb1ff3af1721"
         "pcap_dict": {
             "channel_frequency": 2412,
             "channel": "1",
             "datarate": "1.0 Mbps",
             "rssi": -75, 
             "dst": "78:bd:bc:ca:0b:0a",
             "src": "18:b8:1f:4c:91:c0",
             "bssid": "18:b8:1f:4c:91:c0",
             "frame_type": "Management", 
             "frame_subtype": "Probe Response",
             "proto": "802.11", 
             "ap_mac": "d4:20:b0:81:99:2e", 
             "direction": "tx", 
             "timestamp": 1652246543, 
             "length": 416.0,
             "interface": "radiotap",
             "info": "1652246544.467733 1683216786us tsft 1.0 Mb/s 2412 MHz 11g -75dBm signal -82dBm noise antenna 0 Probe Response (ATTKmsWiVS) [1.0* 
                      2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0 Mbit] CH: 2, PRIVACY\\n",
         }, 
        "pcap_raw":         "1MOyoQIABAAAAAAAAAAAAP//AAABAAAAEEh7Yh5VBwCgAQAAoAEAAAAAKwBvCADAAQAAAIw7reCS2VNkAAAAABACbAmABLWuAAEAEBgAAwACAABQADoBeL28ygsKGLgfTJHAGLgfTJHAcIZ2WDlBJQAAAGQAERUACkFUVEttc1dpVlMBCIKEi5YkMEhsAwECBwZVUyABCx4gAQAjAhkAKgEEMgQMEhhgMBQBAAAPrAQBAAAPrAQBAAAPrAIMAAsFAQAbAABGBTIIAQAALRqtCR////8AAAAAAAAAAAAAAAAAAAAAAAAAAD0WAggVAAAAAAAAAAAAAAAAAAAAAAAAAH8IBAAIAAAAAEDdkwBQ8gQQSgABEBBEAAECEDsAAQMQRwAQn2481frn3KT+uGod2ERx+RAhAAtBcnJpcywgSW5jLhAjAApCR1cyMTAtNzAwECQACkJHVzIxMC03MDAQQgAKQkdXMjEwLTcwMBBUAAgABgBQ8gQAARARAA5BcnJpcyBXaXJlbGVzcxAIAAIgCBA8AAEBEEkABgA3KgABIN0JABAYAgEQHAAA3RgAUPICAQGEAAOkAAAnpAAAQkNeAGIyLwAzjakr\"

}

Para obter mais informações, consulte PCAP.