{"id":256,"date":"2023-10-30T13:06:17","date_gmt":"2023-10-30T13:06:17","guid":{"rendered":"https:\/\/smartcampus.maua.br\/?page_id=256"},"modified":"2023-10-30T15:01:57","modified_gmt":"2023-10-30T15:01:57","slug":"acesso-a-rest-api-network-server","status":"publish","type":"page","link":"https:\/\/smartcampus.maua.br\/?page_id=256","title":{"rendered":"ACESSO \u00c0 REST API (NETWORK SERVER)\u200b"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"256\" class=\"elementor elementor-256\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4ab9cd22 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"4ab9cd22\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-42a6fa26\" data-id=\"42a6fa26\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9d685d8 elementor-widget elementor-widget-spacer\" data-id=\"9d685d8\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-127e4510 elementor-widget elementor-widget-heading\" data-id=\"127e4510\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">ACESSO \u00c0 REST API (NETWORK SERVER)<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3b05f0f6 elementor-widget elementor-widget-spacer\" data-id=\"3b05f0f6\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6f48ea70 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6f48ea70\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7900d807\" data-id=\"7900d807\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-23ce986b elementor-widget elementor-widget-text-editor\" data-id=\"23ce986b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>Introdu\u00e7\u00e3o<\/h3>\nPara se conectar \u00e0\u00a0<em>REST-API<\/em>\u00a0de maneira a recuperar os dados atrav\u00e9s do banco de dados do\u00a0<em>Network Server<\/em>, \u00e9 necess\u00e1rio que a aplica\u00e7\u00e3o fa\u00e7a uma requisi\u00e7\u00e3o\u00a0<em>HTTP<\/em>\u00a0(<em>Hypertext Transfer Protocol<\/em>) do tipo\u00a0<em>GET<\/em>. \u00c9 atrav\u00e9s desta requisi\u00e7\u00e3o em determinada\u00a0<em>URL<\/em>\u00a0(<em>Uniform Resource Locator<\/em>, isto \u00e9, endere\u00e7o de recurso dispon\u00edvel) que ser\u00e1 permitida a recupera\u00e7\u00e3o dos dados para se realizar um gr\u00e1fico de hist\u00f3rico, bem como uma grava\u00e7\u00e3o de\u00a0<em>backup<\/em>\u00a0para o banco de dados da pr\u00f3pria aplica\u00e7\u00e3o.\n\n<a name=\"protocolo-url\"><\/a>\n<h3>Protocolo\u00a0<em>URL<\/em><\/h3>\nAtrav\u00e9s da requisi\u00e7\u00e3o, dever\u00e1 ser realizado um comando do tipo\u00a0<em>GET<\/em>\u00a0na seguinte\u00a0<em>URL<\/em>:\n\n<p style = \" text-align: center;\"><strong>https:\/\/smartcampus.maua.br\/api\/index.php\/{<code>appSkey<\/code>}\/{<code>#requisi\u00e7\u00f5es<\/code>}\/{<code>dev_EUI<\/code>}<\/strong>\n<\/p>\n\nEm que os par\u00e2metros descritos devem ser preenchidos segundo o exemplo abaixo:\n<ul>\n \t<li><strong><code><em>appSkey<\/em><\/code>:<\/strong>\u00a0<em>string<\/em>\u00a0de 32\u00a0<em>bytes<\/em>\u00a0referente \u00e0 chave da aplica\u00e7\u00e3o gerada na ativa\u00e7\u00e3o do\u00a0<em>end-node<\/em>. Neste caso, segundo a cria\u00e7\u00e3o do\u00a0<em>end-node<\/em>\u00a0<code>Hidrometro-01<\/code>\u00a0na aplica\u00e7\u00e3o\u00a0<code>Hidrometros<\/code>, a chave corresponde a\u00a0<code>2b7e151628aed2a6abf7158809cf4f3c<\/code>;<\/li>\n \t<li><strong><code>#requisi\u00e7\u00f5es<\/code>:<\/strong>\u00a0vari\u00e1vel (do tipo inteiro) de registros a serem recuperados do banco de dados em ordem decrescente;<\/li>\n \t<li><code><em><strong>dev_EUI<\/strong><\/em><\/code><strong>:<\/strong>\u00a0N\u00famero correspondente ao end-device unique identifier de cada\u00a0<em>end-node<\/em>\u00a0cadastrado no\u00a0<em>Network Server<\/em>.<\/li>\n<\/ul>\nComo um exemplo de requisi\u00e7\u00e3o para o e<em>nd-node<\/em>\u00a0<code>Hidrometro-01<\/code>\u00a0de maneira a recuperar o \u00faltimo registro enviado do\u00a0<em>end-node<\/em>\u00a0ao servidor, tem-se:\n\n<a href=\"https:\/\/smartcampus.maua.br\/api\/index.php\/2b7e151628aed2a6abf7158809cf4f3c\/1\/0004a30b001a5ea1\"><em><strong>https:\/\/smartcampus.maua.br\/api\/index.php\/2b7e151628aed2a6abf7158809cf4f3c\/<code>1<\/code>\/<code>0004a30b001a5ea1<\/code><\/strong><\/em><\/a>\n\n<a name=\"retorno-json\"><\/a>\n<h3>Retorno json<\/h3>\nComo resultado desta requisi\u00e7\u00e3o, obt\u00e9m-se o seguinte retorno, no formato catacter\u00edstico\u00a0<em>JSON:<\/em>\n<ul>\n \t<li><code>logs<\/code>:\n<ul>\n \t<li><code>0<\/code>:\n<ul>\n \t<li><code>created_at<\/code>: \u201c<strong>2018-03-07 13:34:44.961006-03<\/strong>\u201c,<\/li>\n \t<li><code>dev_eui<\/code>: \u201c<strong>0004a30b001a5ea1<\/strong>\u201c,<\/li>\n \t<li><code>fCnt<\/code>:\u00a0<strong>196<\/strong>,<\/li>\n \t<li><code>fPort<\/code>:\u00a0<strong>100<\/strong>,<\/li>\n \t<li><code>rx_info_set<\/code>:\n<ul>\n \t<li><code>0<\/code>:\n<ul>\n \t<li><code>mac<\/code>: \u201c<strong>7276ff00080801db<\/strong>\u201c,<\/li>\n \t<li><code>rssi<\/code>:\u00a0<strong>-108<\/strong>,<\/li>\n \t<li><code>size<\/code>:\u00a0<strong>20<\/strong>,<\/li>\n \t<li><code>time<\/code>: \u201c<strong>0001-01-01T00:00:00Z<\/strong>\u201c,<\/li>\n \t<li><code>channel<\/code>:\u00a0<strong>3<\/strong>,<\/li>\n \t<li><code>loRaSNR:\u00a0<strong>8.2<\/strong>,<\/code><\/li>\n \t<li><code>rfChain<\/code>:\u00a0<strong>0<\/strong>,<\/li>\n \t<li><code>codeRate<\/code>: \u201c<strong>4\/5<\/strong>\u201d,<\/li>\n \t<li><code>dataRate<\/code>:\n<ul>\n \t<li><code>bandwidth<\/code>:\u00a0<strong>125<\/strong>,<\/li>\n \t<li><code>modulation<\/code>: \u201c<strong>LORA<\/strong>\u201c,<\/li>\n \t<li><code>spreadFactor<\/code>:\u00a0<strong>7<\/strong><\/li>\n<\/ul>\n<\/li>\n \t<li><code>crcStatus<\/code>:\u00a0<strong>1<\/strong>,<\/li>\n \t<li><code>frequency<\/code>:\u00a0<strong>902900000<\/strong>,<\/li>\n \t<li><code>timestamp<\/code>:\u00a0<strong>3308224083<\/strong>,<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n \t<li><code>phy_payload<\/code>:\u00a0<strong>\u201c40d242ba0680c4006468ff8328c3614d583b1500\u201d<\/strong>,<\/li>\n \t<li><code>data_payload<\/code>:\u00a0<strong>\u201c0b023d900c0cc9\u201d<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\nOs campos \u00fateis que trazem consigo informa\u00e7\u00f5es do pacote de informa\u00e7\u00f5es enviado pelo\u00a0<em>end-node<\/em>\u00a0s\u00e3o os campos\u00a0<code>created_at<\/code>\u00a0 data da cria\u00e7\u00e3o do registro no servidor),\u00a0<code>fCnt<\/code>\u00a0(<em>frame count<\/em>, isto \u00e9, contador de\u00a0<em>frames<\/em>\u00a0enviados do node ao servidor) e\u00a0<code>data_payload<\/code>\u00a0em que efetivamente se tem o dado enviado pelo\u00a0<em>end-node<\/em>. A este campo deve-se recuperar o dado equivalente de maneira id\u00eantica\nao enviado pelo\u00a0<em>end-node<\/em>. No caso de se enviar um dado e padroniz\u00e1-lo junto ao\u00a0<em>Smart<\/em>\u00a0<em>Campus<\/em>, deve-se ter conhecimento o padr\u00e3o do\u00a0<a href=\"https:\/\/smartcampus.maua.br\/?page_id=483\">Protocolo IoT Mau\u00e1<\/a>.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>ACESSO \u00c0 REST API (NETWORK SERVER) Introdu\u00e7\u00e3o Para se conectar \u00e0\u00a0REST-API\u00a0de maneira a recuperar os dados atrav\u00e9s do banco de dados do\u00a0Network Server, \u00e9 necess\u00e1rio que a aplica\u00e7\u00e3o fa\u00e7a uma requisi\u00e7\u00e3o\u00a0HTTP\u00a0(Hypertext Transfer Protocol) do tipo\u00a0GET. \u00c9 atrav\u00e9s desta requisi\u00e7\u00e3o em determinada\u00a0URL\u00a0(Uniform Resource Locator, isto \u00e9, endere\u00e7o de recurso dispon\u00edvel) que ser\u00e1 permitida a recupera\u00e7\u00e3o dos [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-256","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/smartcampus.maua.br\/index.php?rest_route=\/wp\/v2\/pages\/256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smartcampus.maua.br\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/smartcampus.maua.br\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/smartcampus.maua.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/smartcampus.maua.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=256"}],"version-history":[{"count":7,"href":"https:\/\/smartcampus.maua.br\/index.php?rest_route=\/wp\/v2\/pages\/256\/revisions"}],"predecessor-version":[{"id":431,"href":"https:\/\/smartcampus.maua.br\/index.php?rest_route=\/wp\/v2\/pages\/256\/revisions\/431"}],"wp:attachment":[{"href":"https:\/\/smartcampus.maua.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}