ACESSO À REST API (NETWORK SERVER)

Introdução

Para se conectar à REST-API de maneira a recuperar os dados através do banco de dados do Network Server, é necessário que a aplicação faça uma requisição HTTP (Hypertext Transfer Protocol) do tipo GET. É através desta requisição em determinada URL (Uniform Resource Locator, isto é, endereço de recurso disponível) que será permitida a recuperação dos dados para se realizar um gráfico de histórico, bem como uma gravação de backup para o banco de dados da própria aplicação.

Protocolo URL

Através da requisição, deverá ser realizado um comando do tipo GET na seguinte URL:

https://smartcampus.maua.br/api/index.php/{appSkey}/{#requisições}/{dev_EUI}

Em que os parâmetros descritos devem ser preenchidos segundo o exemplo abaixo:
  • appSkey: string de 32 bytes referente à chave da aplicação gerada na ativação do end-node. Neste caso, segundo a criação do end-node Hidrometro-01 na aplicação Hidrometros, a chave corresponde a 2b7e151628aed2a6abf7158809cf4f3c;
  • #requisições: variável (do tipo inteiro) de registros a serem recuperados do banco de dados em ordem decrescente;
  • dev_EUI: Número correspondente ao end-device unique identifier de cada end-node cadastrado no Network Server.
Como um exemplo de requisição para o end-node Hidrometro-01 de maneira a recuperar o último registro enviado do end-node ao servidor, tem-se: https://smartcampus.maua.br/api/index.php/2b7e151628aed2a6abf7158809cf4f3c/1/0004a30b001a5ea1

Retorno json

Como resultado desta requisição, obtém-se o seguinte retorno, no formato catacterístico JSON:
  • logs:
    • 0:
      • created_at: “2018-03-07 13:34:44.961006-03“,
      • dev_eui: “0004a30b001a5ea1“,
      • fCnt196,
      • fPort100,
      • rx_info_set:
        • 0:
          • mac: “7276ff00080801db“,
          • rssi-108,
          • size20,
          • time: “0001-01-01T00:00:00Z“,
          • channel3,
          • loRaSNR: 8.2,
          • rfChain0,
          • codeRate: “4/5”,
          • dataRate:
            • bandwidth125,
            • modulation: “LORA“,
            • spreadFactor7
          • crcStatus1,
          • frequency902900000,
          • timestamp3308224083,
      • phy_payload“40d242ba0680c4006468ff8328c3614d583b1500”,
      • data_payload“0b023d900c0cc9”
Os campos úteis que trazem consigo informações do pacote de informações enviado pelo end-node são os campos created_at  data da criação do registro no servidor), fCnt (frame count, isto é, contador de frames enviados do node ao servidor) e data_payload em que efetivamente se tem o dado enviado pelo end-node. A este campo deve-se recuperar o dado equivalente de maneira idêntica ao enviado pelo end-node. No caso de se enviar um dado e padronizá-lo junto ao Smart Campus, deve-se ter conhecimento o padrão do Protocolo IoT Mauá.
Scroll to Top