Cov txheej txheem:

Comunicação IoT Com a Dragonboard 410C: 5 Cov Kauj Ruam
Comunicação IoT Com a Dragonboard 410C: 5 Cov Kauj Ruam

Video: Comunicação IoT Com a Dragonboard 410C: 5 Cov Kauj Ruam

Video: Comunicação IoT Com a Dragonboard 410C: 5 Cov Kauj Ruam
Video: Qualcomm launches its premium 820E embedded platform for IoT developers 2024, Lub Xya hli ntuj
Anonim
Comunicação IoT Com a Dragonboard 410C
Comunicação IoT Com a Dragonboard 410C

É bastante comum desenvolver ou, até mesmo, comprar um produto IoT para a sua casa. Abrir uma cortina, ligar uma tomada, ajustar a temperatura de um ambiente, monitoramento de segurança, entre outros benefícios de equipamentos IoT.

Agora, seria interessante transformar esses alertas das "coisas" da sua casa, em solicitações de serviço, e ainda melhor, em serviços que você conhece e que já está acostumado. O comerciante "zé da água" não tem condições de entrar num grande marketplace para vender a sua água e tão pouco ter recursos para adquirir e manter um sistema de pedidos.

Para que você siv serviços como o do seu 'Zé da água', que você semper confiou, será mostrado como montar a base de uma plataforma IoT com ib zaj duab xis, rau tus neeg daws teeb meem essa comunicação.

Kauj Ruam 1: Npaj Sua Dragonboard 410C

Npaj Sua Dragonboard 410C
Npaj Sua Dragonboard 410C

Neste passo vamos prepara a nossa Drabonboard 410C para se tornar o gateway da nossa estrutura IoT dentro da sua casa.

Primeiramente, vamos instalar um sistema operacional na placa. Caso você opte por utilizar localização GPS, que ajudará muito o cliente no momento de registro, sugerimos que instale o sistema operacional Linaro 17.04.1, caso contrário, veja as opções de na página da Dragonboard 410C da 96boards, neste link.

Após instalação do seu sistema operacional, instal a biblioteca libmraa para a utilização das GPIOs, da Dragonboard 410C. Para isso, você deve seguir os passos abaixo (abra o console do seu sistema operacional para executar os comandos):

Yuav tsum tau libmraa

  • sudo apt-tau hloov tshiab
  • sudo apt-cache tshawb nrhiav pcre
  • sudo apt-tau nruab libpcre3-dev
  • sudo apt-tau nruab git
  • sudo apt-tau nruab cmake
  • sudo apt-tau nruab nruab sej-dev
  • sudo apt-tau nruab swig

Instalação ntau dua

  • sudo git clone
  • sudo mkdir mraa/tsim && cd $ _
  • sudo cmake.. -DBUILDSWIGNODE = OFF
  • sudo ua
  • sudo ua kom nruab

Para utilizar a biblioteca com Python, que é o caso deste instructable, vamos adicionar o export da nossa variavel de ambiente do Python para a biblioteca. Txhawm rau siv, siv o editor de texto de sua preferência para seguir os passos abaixo, vamos utilziar o VIM:

  • sudo vim ~/.bashrc
  • pressione a teclar i, para iniciar a edição do arquivo
  • adicionar a linha seguinte no final do arquivo: export PYTHONPATH = $ PYTHONPATH: $ (dirname $ (nrhiav /usr /local -name mraa.py))
  • pressione ESC para sair da edição do arquivo e digite ': x!' e nkag mus rau salvar e sair do arquivo.

Com isso já conseguimos utilizar a biblioteca mraa com Pyhton.

Agora, vamos instalar os softwares para facilitar a leitura do GPS (lembrnado que para a utilização dessa parte, recomendamos o uso do sistema operacional Linaro 17.04.1). No seu console, ua tiav o comando abaixo:

sudo apt-tau nruab gnss-gpsd gpsd gpsd-cov neeg siv

Txhawm rau ntsuas, ua haujlwm rau código abaixo, também no seu console:

gpsmon ua

OBS: Ib qho chaw sib koom ua ke nrog Drabonboard é para ser utilizada fora de cases e em locais mais abertos. Até mesmo em locais abertos, leitura pode demorar de 5 a 10 minutos, então não fique preocupado se não exibir as informações prontamente.

Pensando no projeto, com certeza iremos encapsular o (s) kho vajtse (s) tus lej, tsis muaj menor dos cenários, este case estará dentro de uma casa ou apartamento. Rau tus neeg daws teeb meem, podemos siv lub kav hlau txais xov sab nrauv, tanto rau wi-fi, quanto para o GPS.

OBS: A instalação da antena externa não é um txheej txheem txheej txheem tão simples para quem não tem familiaridade com txheej txheem kev muag khoom com SMD, portanto, procure um serviço especializado se necessário.

Para realizar o hloov ua das antenas internas para externas, será necessário seguir os cov txheej txheem que a Qualcomm disponibilizou tsis muaj cov ntaub ntawv deste txuas.

OBS: É muito mais fácil de encontrar os componentes (capacitores, resistores e indutores) na internet do que em loja física. O mesmo para antenas, que sugerimos a compra no site da SmartCore.

Para que nosso gateway não fique dependente de uma configuração e conexão wifi, com a internet, iremos utilzar um módulo GSM. Os módulos GSM externos, geralmente necessitam de uma tensão estável e específica, então vamos criar uma saída de alimentação diretamente da entrada de alimentação da Dragonboard 410C.

Na imagem de capa deste step, est desto destacados os pontos de saída que deverá ser utilizado para a soldagem dos cabos para a alimentação do modulo GSM (ATENÇÃO COM A POLARIDADE).

Para realizar a comunicação interna, iremos utilizar o protocolo MQTT, e definir a Dragonboard 410C como hotspot. Vamos instalar o software Mosquitto para tornar nossa placa um broker mqtt, com a execução da linha abaixo no seu console:

sudo apt-tau nruab mosquitto

Nws yog ib qho software uas koj tuaj yeem rub tawm thiab nruab.

Para definir a sua Dragonboard 410C como um hotspot, siga os passos:

  • Clique tsis muaj icone de redes tsis muaj canto qis dua direito
  • Clique em 'Kho kom raug sib txuas'
  • Após abrir a tela 'Network sib txuas', nyem rau 'Ntxiv'
  • Qhib Wi-nkaus, nyem rau 'Tsim'
  • Ao abrir a tela de configuração da rede, insira um nome em SSID
  • Los ntawm mesma tela mude rau 'Hotspot' tsis muaj campo 'Hom'
  • Caso queira incluir uma senha para a rede, teeb tsa -a na aba 'Wi-Fi Security'
  • Para finalizar clique em 'Txuag'

Agora qualquer dispositivo pode se conectar à rede exclusiva da Dragonboard 410C, e utilizar o seu broker para publicar e subscrever.

Com estes preparos acima, estamos prontos para seguir com o desenvolvimento.

Kauj Ruam 2: Npaj Sua Cloud API

Este passo é algo que vam khom muito de projeto rau projeto. Pode ser que meej ser feita ua xoom, ou o cloud já existe com a necessidade de criar o mecanismo de API, ou até mesmo já ter uma API pronta para utilizar.

Vamos descrever um passo a passo para iniciar uma API básica, pelo menos para o teste deste instructable. Caso queira seguir um qhia ntawv ua tiav, suab lus los yog artigo deste txuas. Kuv todo caso, sugiro desenvolver algo mais estruturado, caso a finalidade do projeto seja comercial.

Primeiramente, precisamos de um lugar para colocarmos a nossa API, e para não termos gastos com estes testes, iremos utilizar a plataforma Heroku. Siga os passos para iniciar a sua aplicação:

  • Nkag mus rau qhov chaw ntawm Heroku, los ntawm qhov txuas
  • Clique em 'Sign Up', tsis muaj canto superior dieito, para iniciar o seu registro
  • Txhawm rau sau npe, em sua dashboard, nyem rau 'Tshiab' thiab ntxiv rau hauv 'Tsim App tshiab'
  • Nyem rau npe rau daim ntawv thov kev pab
  • Yog tias tsim nyog, nyem qhov 'Tsim App'
  • Seu app está pronto, podendo ver seu funcionamento clicando em 'Qhib App', tsis muaj canto superior dirento
  • Instale o Heroku Cli, para fazer os deploys para a sua aplicação, seguindo a instrução para seu sistema operacional, de acordo com a documentação deste txuas
  • Agora você deverá seguir as instruções de deploy para começar o desenvolvimento da sua API, disponível em

Seguindo os passos acima, já temos a pasta na sua máquina, para desenvolver a sua API. Agora vamos instalar o NodeJS e a framework Express, seguindo os passos abaixo:

  • curl -sL https://deb.nodesource.com/setup_11.x | sudo -E tsoo -
  • sudo apt -tau nruab -y nodejs
  • sudo apt-tau nruab npm
  • Caso não esteja utilizando uma distribuição Linux que siv o Cov Ntim Ntim Ntim (APT), lossis koj lub tshuab ua haujlwm ua haujlwm, tham lossis txuas
  • Agora ua npm nruab nruab -generator -g
  • Acesse o diretório que foi realizado os procedureimentos da aplicação da Heroku com 'cd _PASTA_SEU_APP_'
  • Inicie a aplicação node com 'npm init', e os outros comandos abaixo
  • cd ib../
  • qhia _PASTA_SEU_APP_
  • cd _PASTA_SEU_APP_
  • npm nruab

Para deixar dois endpoints preparados, um de GET e um de POST, siga os passo abaixo:

  • Acesse cov nplej zom 'txoj kev'
  • abra o arquivo 'index.js'
  • Inclua o trecho de código abaixo, que irá adicionar as rotas na raiz da sua aplicação para os dois métidos (GET e POST):

router.get ('/', muaj nuj nqi (req, res, tom ntej) {res.setHeader ('Cov ntsiab lus-Hom', 'ntawv thov/json'); res.send (JSON.stringify ({msg: 'Nyob Zoo API' '), tsis muaj, 3));)); router.post ('/', muaj nuj nqi (req, res, tom ntej) {var msg = 'khoob'; yog tias (typeof req.body.msg! = 'undefined') msg = req.body.msg; res.setHeader ('Content-Type', 'application/json'); res.send (JSON.stringify ({msg: msg}, null, 3));});

Agora você paub lossis xa tawm ua seu app rau Heroku:

  • heroku tus ID nkag mus
  • git ua add.
  • git cog lus -am "pib ua phem"
  • git thawb heroku master

Com isso você já tem seus endpoints de testes prontos. Para testar os endpoints sugerimos instalar o software Postman, zes txuas. Nkag mus rau qhov url da seu app (Ex: https://_SEU_APP_.herokuapp.com/) e selecione o método GET ou POST, e clique em 'SEND'. Txhawm rau nkag siab POST, siga os passos:

  • Clique na aba 'Lub Cev'
  • Xa mus rau qhov chaw 'x-www-form-urlencoded
  • Nyem qhov tseem ceeb 'msg'
  • Em Tus nqi, tus lej nkag mus rau qhov muaj peev xwm ua tau zoo tshaj plaws

Com essas instruções temos a nossa API de testes pronta para o uso.

Kauj Ruam 3: Instalando E Manipulando O Modulo GSM

Instalando E Manipulando O Modulo GSM
Instalando E Manipulando O Modulo GSM
Instalando E Manipulando O Modulo GSM
Instalando E Manipulando O Modulo GSM

Para não dependndermos de uma conexão Wifi, vamos utilizar a comunicação GSM para abrir caminho de dados para utilizarmos a nossa API, teeb tsa tsis muaj kauj ruam ua ntej.

Ons aconselhável a utilização de modulos GSM homologados, mas para os testes do nosso protótipo iremos utilizar um módulo simples e que atende nossa demanda do momento, o modulo SIM800L. Este modulo foi produzido e distribuído em massa pelo fabricando, mas sem qualquer homologação, tanto que não está disponível tsis muaj site ua fabricando.

Vamos's conexões físicas, entre o modulo GSM e nossa Dragonboard 410C.

Como mencionado tsis muaj kauj ruam 'Npaj sua Dragonboard', teremos que li niaj zaus siv kaum tawm rau kev siv lossis hloov pauv. Para isso utilizaremos um regulador de tensão nqis nqis, para diminuir a tensão de entrada. Utilizamos o Regulador De Tensão Stepdown Buck Conversor Dc Lm2596 3a Nf, rau qhov ntsuas qhov ntsuas

Siga os passos abaixo para realizar as conexões físicas:

  • Txheeb xyuas qhov zoo ntawm Dragonboard, ua raws li tsis muaj kauj ruam 'Npaj sua Dragonboard', thiab txuas nrog nkag mus rau 'IN +' ua regulador de tensão
  • Txheeb xyuas qhov tsis zoo ntawm Dragonboard, ua raws li tsis muaj kauj ruam 'Npaj sua Dragonboard', thiab txuas nrog nkag mus rau 'IN -' ua tus tswj hwm de tensão
  • TSEEM CEEB: Ligue a Dragonboard, e regule com o auxilio de uma chave de fenda, regule o trimpot para que a saída (OUT + e OUT -) tenha 4.2V. Siga adiante apenas se a saída estiver com esse valor. Caso seja utilizado outro modulo GSM, txheeb xyuas qhov kaum tawm lossis ntau dua. Este passo deve ser repetido, semper que houver inclusão de um kho vajtse, pois pode haver variação.
  • Txheeb xyuas qhov kev tswj hwm ntawm kaum tawm 'OUT +' tsis muaj pino VCC, taw qhia thiab daim duab de capa deste kauj ruam
  • Txheeb xyuas qhov kev tswj hwm ntawm kaum tawm 'OUT -' tsis muaj pino GND, qhov qhia tau ntawm daim duab de capa deste kauj ruam
  • Kev sib tham ntawm pino RXD ua tus qauv GSM tsis muaj pino 5 UART 0 TX thiab Dragonboard, ambos indicados nas imagens de capa deste step
  • Conecte o pino TXD do modulo GSM no pino 7 UART 0 RX da Dragonboard, ambos indicados nas imagens de capa deste step
  • Sib tham ntawm pino GND ua qauv GSM tsis muaj pino 1, 2, 39 OU 40 GND da Dragonboard, ambos indicados nas imagens de capa deste step. Isto é fundmental para constructilizar o tráfego de dados pelo RX TX

OBS: Não se esqueça de conectar uma antena no modulo GSM, pelos pinos NET ou IPX ANT, indicados na imagem de capa deste step.

Nyeem ntxiv txog software. Vamos utilizar a biblioteca mraa que instalamos anteriormente, para realizar a comunicação serial entre o modulo GSM e a Dragonboard 410C.

Siga os passos para importar a biblioteca e testar a comunicação com o módulo:

  • Crie um arquivo com a extensão.py, como sugestão 'gsm.py'
  • Tsis muaj arquivo, inicie importando a biblioteca mrra, e também a biblioteca time para definir delay

import mas

Defina uma variável para o caminho da UART que conectamos o modulo GSM

chaw nres nkoj = '/dev/tty96B0'

Instancie a UART com ajuda da biblioteca mraa

uart = mraa. Uart (chaw nres nkoj)

Crie uma função para enviar para os comando AT para o modulo GSM

def sau (msg):

uart.write (bytearray (str (msg)+'\ n', 'utf-8'))

Nyem rau ntawm lub xov tooj ntawm tes txuas rau GSM

thaum muaj tseeb: r = uart.read (128) yog r! = '': print (r.decode ('UTF-8')) i = str (input ()) write (i) time.sleep (0.5)

  • Khaws los ntawm arquivo e volte para o console
  • Ua los yog arquivo

nab hab sej gsm.py

Digite 'AT', e se tudo conectado corretamente, você irá receber na tela a mensgem 'OK'

Para que nosso módulo não dependa de digitarmos cada comando AT - encontrados neste link - faremos duas funções, uma que irá realizar a conexão com a APN e outra que irá consumir a nossa API.

Lub ntsiab lus tseem ceeb ntawm kev sib tham:

def txuas ():

time.sleep (0.5) sau ("AT") time.sleep (0.5) sau ('AT+CREG = 1') time.sleep (0.5) sau ('AT+COPS = 2') time.sleep (0.5) sau ('AT+SAPBR = 3, 1, "Contype", "GPRS"') time.sleep (0.5) sau ('AT+SAPBR = 3, 1, "APN", "*****"') time.sleep (0.5) sau ('AT+SAPBR = 3, 1, "USER", "*****"') time.sleep (0.5) sau ('AT+SAPBR = 3, 1, "PWD", "*****" ') time.sleep (0.5) sau (' AT+SAPBR = 1, 1 ') time.sleep (0.5) sau (' AT+SAPBR = 2, 1 ') time.sleep (6)

Sugiro que rode cada comanda antes de utilizar esta função. Segue algumas observações sobre estes comandos:

  • Para definir corretamente o valor do comando AT+COPS, que pabcuam para selecionar a sua rede, primeiro ua AT+COPS = ?, aguarde que apareça as redes disponíveis, e altere o valor na função connect () para o indexador da sua rede exibida após o comando AT_COPS =?
  • Os comandos de definição da APN estão com asteriscos pois depende de cada operadora do SIM Card, procure se informar com a operador para saber qual o endereço da APN, usuário e senha.
  • Rov ua dua qhov qub

Agora vamos implementar a função que irá enviar consumir a nossa API:

def xa (p, m, d = ``):

sau ('AT+HTTPINIT') sijhawm.sleep (0.5) sau ('AT+HTTPSSL = 1') time.sleep (0.5) sau ('AT+HTTPPARA = "CID", 1') time.sleep (0.5) sau ('AT+HTTPPARA = "URL", "_URL_APP_HEROKU _/'+p+'"') time.sleep (0.5) sau ('AT+HTTPPARA = "USERDATA", "Tso Cai: Tus Neeg Siv ******** ********* / r / n "') time.sleep (0.5) yog m ==' GET ': sau (' AT+HTTPACTION = 0 ') ntxiv: sau (' AT+HTTPPARA = "CONTENT", "application/x-www-form-urlencoded" ') time.sleep (0.5) write (' AT+HTTPDATA = '+str (len (d))+', 10000 ') time.sleep (0.5) sau (str (t)) time.sleep (10) sau ('AT+HTTPACTION = 1') time.sleep (6) sau ('AT+HTTPTERM')

Segue algumas observações para estes comandos:

  • Qhov zoo tshaj plaws tau txais 3 parametros. 'p' para o path que será executado da sua API, 'm' para o método que você irá utilizar da sua api (GET/POST/…), e 'd' para os dados enviados em caso do método não rau GET
  • O comando 'AT+HTTPS' é opcional, tsis muaj caso da sua api utilizar SSL
  • O argumento 'm' deverá ser enviado tsis muaj formato querystring (Ex: msg = ola+dragonboard & arg2 = teste & …)
  • O comando 'AT+HTTPPARA = "USERDATA …

Mais uma vez sugiro rodar cada comando, tus kheej tus kheej e em ordem, antes da utilização.

Antes de adquirir seu SIM Card, tham nrog ib tus neeg ua haujlwm trabalha com a mesma tecnologia que o modulo GSM que você estiver utilizando, mas é aconselhável utilizar o SIM Card de empresas especializadas em comunicação IoT, por questões de compatibilidade, custos.

Com raws li kev teeb tsa thiab ua raws li qhov tsim nyog, estamos prontos para nos comunicarmos com a nuvem através da nossa Dragonboard 410C.

Kauj Ruam 4: Npaj Npaj Ua Ntej Dispositivos Para Se Comunicar Com a Dragonboard

Preparando Dispositivos Para Se Comunicar Com a Dragonboard
Preparando Dispositivos Para Se Comunicar Com a Dragonboard

Tsis tas li ntawd, iremos utilizar a placa de prototipagem NODEMCU ESP8266 ESP-12, como exemplo. Esta e qualquer outra placa de prototipagem, como o nome já diz, é ótima para protótipos, mas tsis muaj momento em que o kho vajtse rau Definido como produto, deve ser desenvolvido um complexo dedicado. Koj tuaj yeem txuas nrog WiFi, ua kom yooj yim rau kev sib tham.

Para nos comunicarmos com nossa Dragonboard 410C, precisamos de 2 bibliotecas:

  • ESP8266WiFi> biblioteca para ativar a conexão da placa
  • PubSubClient> biblioteca para realizar a comunicação com o broker MQTT

Defina como variáveis globais, raws li lub ntsiab lus txhais tau tias Wi-nkaus thiab tus broker, ambos da nossa Dragonboard 410C:

  • const char* SSID = "_REDE_DRAGONBOARD_"; // Sau npe ntawm cov ntsiab lus ntawm Hotspot ntawm Dragonboard
  • const char* PASSWORD = ""; // Txheeb xyuas qhov muaj txiaj ntsig zoo tshaj plaws los ntawm kev teeb tsa Hotspot
  • const char* BROKER = "_IP_DRAGONBOARD_"; // Execute 'ip a' na sua Dragonboard para descobrir o ip da rede interna

Ua raws li ob qho tib si rov ua dua Wi-nkaus thiab tso rau hauv lossis tus neeg siv MQTT com yog objeto:

  • WiFiClient espWIFI;
  • PubSubClient MQTT (espWIFI);

Hauv kev teeb tsa, ua haujlwm sib txuas WIFI thiab sib txuas MQTT:

  • WiFi.begin (SSID, PASSWORD);
  • MQTT.setServer (BROKER, 1883);
  • MQTT.setCallback (callback_mqtt); // Caso você faça subscribe em algum tópico

Tsis muaj kev lom zem de loops, adicione a linha abaixo para que o MQTT entre em loop:

MQTT.loop ();

Você pode criar uma função de verificação de conexão de WIFI e tus broker, para não ter problemas com intermitência. Para isso crie um função com li linhas abaixo, e chame-a na função de loop:

void checkConnections () {

yog (! MQTT.connected ()) thaum (! MQTT.connected ());

yog (WiFi.status ()! = WL_CONNECTED) {WiFi.begin (SSID, PASSWORD); thaum (WiFi.status ()! = WL_CONNECTED);}

}

Thaum kawg, iremos enviar algum dado para Drabonboard 410C, los yog seguinte comando:

MQTT.publish ('_ NOME_DO_TOPICO_', "Ola Dragonboard");

Não vou entrar em detalhes para exemplificar a leitura de sensores e etc, pois vai varie muito de projeto para projeto e de hardware para hardware. Basta suav nrog qhov tseem ceeb tshaj plaws, que os dados serão enviados rau seu broker.

Voltando para a nossa Dragonboard410C, vamos criar um arquivo teste em nab hab sej, para checarmos os dados recebidos pelo broker, mas antes, vamos instalar uma biblioteca que nos auxiliará na conexão do broker. Para isso execute as linhas abaixo no console da Dragonboard 410C:

  • sudo apt-tau nruab python pip
  • pip nruab paho-mqtt

Agora vamos criar um arquivo python com o nome, como exemplo, mqtt.py. Nele vamos cov ntsiab lus algumas funções que serão explicadas seguir:

ntshuam paho.mqtt.client li mqttimport sys

Broker = "_IP_DRAGONBOARD_" port = 1883 timeout = 60 TopicSubscribe = "_MESMO_TOPICO_DISPOSITIVO_EXTERNO_"

def onConnect (tus thov kev pabcuam, tus neeg siv siv cov ntaub ntawv, tus chij, rc): tus thov kev pabcuam (sau npe)

def onMessage (tus neeg siv, cov ntaub ntawv siv, ntawv): lus = str (msg.payload) luam tawm (xov)

sim: client = mqtt. Client () client.on_connect = onConnect client.on_message = onMessage client.connect (Broker, port, timeout) client.loop_forever () tsuas yog: sys.exit (0)

Neste arquivo vamos definimos duas funções, a 'onConnect' que será chamada no momento em que houver conexão com com broker, e a função 'onMessage' que será executada quando houver mensagem recebida nos subscribes definidos na função 'onConnect'.

Ua los ntawm arquivo com 'nab hab sej mqtt.py', e se todas as conexões anteriores estiverem sido realizadas com sucesso, você receberá na sua tela os dados que estão sendo enviados pelo seu dispositivo externo, tsis muaj caso deste exemplo, pelo NODEM

Nco tseg que é na função onMessage, que recebemos a informação e exibimos nos seu console. Então é neste ponto que você tratará os dados recebidos e no momento certo, enviará via GSM para a sua API, pela função 'send' do seu arquivo de teste gsm.py, que criamos no passo 'Instalando e manipulando o modulo GSM'.

Uma qhov tseem ceeb: Para realizar a alimentação da placa NODEMCU ESP8266 ESP-12, em especifico, sugiro que consultem o documento deste link. Muito cuidado neste momento, pois uma simples falha de inversão de polos pode queimar a placa, mas caso isso aconteça a boa noticia é que tem um preço que facilita a troca rapidamente.

Kauj Ruam 5: Xav txog Finais

Se estiver tudo configurado como descritos nos steps anteriores, você já está comunicando o seu dispositivo IoT com o mundo, com auxilio da sua Dragonboard 410C. É importante ressaltar que neste instructable foram mencionados vários hardwares e softwares. Os sensores e outros recursos que serão utilizados no dispositivo externo, todo o preparo e implementação da sua API Cloud, os recursos de hardware ligados à Dragonboard, e também a forma com que os dados são tratados, fica a critério de quem for executar o projeto. Para definir como produto kawg, sugerimos apĺicar as tecnologias e procedureimentos adequados para tal

O uso de apps e aplicações de gestão, para os comerciantes ligados aos serviços, deixamos em aberto também, bastando trabalhar bem a sua API, e a consumindo através destas frentes.

Pom zoo: