Relatorio Projeto Final Mestrado
Relatorio Projeto Final Mestrado
Relatorio Projeto Final Mestrado
Implementação de um sistema
de Rega Inteligente
Novembro de 2019
3 / 102
ABSTRACT
4 / 102
AGRADECIMENTOS
Gostava de agradecer a todos aqueles que ao longo dos últimos dois anos me
apoiaram e tornaram este trabalho possível.
Aos meus orientadores, Eng.ª Ana Lopes e Eng.º Luís Oliveira, pela
disponibilidade demonstrada durante todo o mestrado e particularmente
durante o desenvolvimento deste projeto.
5 / 102
6 / 102
ÍNDICE GERAL
RESUMO..................................................................................................................................... 3
ABSTRACT ................................................................................................................................ 4
AGRADECIMENTOS .............................................................................................................. 5
ÍNDICE GERAL......................................................................................................................... 7
ÍNDICE DE FIGURAS ............................................................................................................. 9
ÍNDICE DE TABELAS ........................................................................................................... 10
1 - INTRODUÇÃO .................................................................................................................. 11
1.1 - Sumário ......................................................................................................................... 11
1.2 - Contexto e motivação .................................................................................................. 11
1.3 – Objetivos do projeto .................................................................................................... 13
1.4 – Contribuições ............................................................................................................... 16
1.5 - Estado atual do projeto ............................................................................................... 17
2 - ESTADO DA ARTE EM TECNOLOGIAS IOT impar .......................................... 19
2.1 - Introdução ..................................................................................................................... 19
2.2 - Tecnologias emergentes .............................................................................................. 20
2.3 – Protocolos e métodos de comunicação..................................................................... 24
2.3.1 – Protocolos IoT das camadas física e de ligação ................................................ 26
2.3.1.1 – NB-IoT – Narrowband IoT ............................................................................... 26
2.3.1.2 - LoRa – Long Range ............................................................................................ 33
3.1.3 - 802.15.4 (6LowPAN) ............................................................................................. 41
2.3.5 – Protocolos IoT da camada de transporte........................................................... 45
2.3.5 – Protocolos IoT da camada de aplicação ............................................................ 48
3 – PLATAFORMA PARA REGA INTELIGENTE ...................................................... 55
3.1 - Requisitos ...................................................................................................................... 55
3.2 - Arquitetura global da solução .................................................................................... 58
3.3 - Redes de sensores – Dispositivos e gateways .......................................................... 60
3.4 - Plataforma de gestão de dispositivos ........................................................................ 67
3.5 - Plataformas de integração (Node-RED).................................................................... 71
4 – RESULTADOS EXPERIMENTAIS ........................................................................... 81
4.1 – Cenário e instalação de sistemas ........................................................................... 81
4.2 – Testes de validação............................................................................................ 82
7 / 102
4.3 – Resultados dos testes de validação ................................................................. 90
5 – CONCLUSÕES .................................................................................................................. 99
REFERÊNCIAS – ver ordem ................................................................................................ 101
8 / 102
ÍNDICE DE FIGURAS
9 / 102
ÍNDICE DE TABELAS
10 / 102
1 - INTRODUÇÃO
1.1 - Sumário
O foco principal deste projeto será a utilização de tecnologias Internet of Things (IoT),
uma vez que no final da sua instalação se pretende realizar uma análise às opções
tecnológicas tomadas e utilizar o estudo e a experiência adquirida como
fundamentação para as escolhas tecnológicas a adotar em projetos futuros de Smart
Cities (cidades inteligentes).
A Internet das coisas tem como principal objetivo ligar à internet equipamentos
eletrónicos utilizados no quotidiano. A ideia consiste em massificar a presença de
objetos IoT na sociedade (conforme representado metaforicamente na figura 1), tal
como sensores, atuadores, ou outros equipamentos que sejam capazes de executar
tarefas sem necessidade de interação humana. Ou seja, uma sociedade onde a Internet
marca presença em todos os locais e equipamentos [1].
11 / 102
A IoT tem o potencial de influenciar a forma como vivemos, através de alterações
significativas dos ambientes domésticos e empresariais. A nível doméstico pode ser
aplicada em diversas áreas, nomeadamente em casas automatizadas, assisted living, e-
health e enhanced learning, entre outros. Na esfera empresarial e corporativa, as mais
valias afetarão essencialmente áreas como a automação, a produção, a logística e o
transporte, melhorando a eficiência e rentabilidade [1].
O conceito de Smart Cities está a crescer em todo o mundo e a IoT é uma peça essencial
para a sua viabilização.
As soluções de Smart Cities têm por objetivo transformar a vida das cidades, dos seus
habitantes e dos turistas que as visitam. Através da utilização das tecnologias é
possível tornar as populações mais seguras, eficientes, económicas e amigas do
ambiente [3].
Para o Município de Tomar, este projeto vai permitir chegar a uma melhor arquitetura
IoT, com especial relevância na plataforma de integração agnóstica, que não olhe a
marcas, patentes ou licenças de propriedade. Só assim será possível desenvolver uma
solução que permita integrar equipamentos IoT (sensores, routers, atuadores, etc.) de
todas as marcas e modelos, independentemente dos protocolos de comunicação
utilizados.
12 / 102
Através da comparação a realizar às diversas tecnologias de comunicação, exemplo:
Lora/LoraWan, NB-IoT, Ethernet, WiFi, etc. pretende-se perceber em que
circunstâncias e em que locais melhor se adaptam cada uma delas (ex. figura 3).
Um dos aspetos que serão analisados no final deste projeto serão os custos de
desenvolvimento e de manutenção associados a cada tecnologia instalada.
13 / 102
O diagrama de arquitetura global deverá ser projetado por forma a responder às
necessidades existentes, com foco especial na compatibilidade entre as tecnologias de
comunicação e entre as plataformas integrantes deste projeto IoT .
Para que tal aconteça é necessário que os dispositivos escolhidos sejam capazes de
comunicar com a camada de gestão de dispositivos e que as soluções IoT possuam
capacidade de comunicação com a camada de integração.
A primeira para que dispositivos de vários fornecedores e tecnologias se possam
autenticar centralmente de forma segura e a segunda para que seja possível integrar
dados de vários projetos e soluções (adicionando funcionalidades e inteligência). Para
que tal seja possível, um dos requisitos obrigatórios é que as soluções a implementar
permitam a criação de APIs (Application programming interface).
A escolha das tecnologias a integrar na arquitetura deste projeto deverá ter em conta
o requisito de comunicação com qualquer equipamento IoT, sem olhar ao protocolo de
comunicação (MQTT, COAP, HTTP, etc.) ou à tecnologia de comunicação (NB-IoT,
LoRa/LoRaWan, 802.15.4 (6LowPAN), 3G/4G, WiFi, Ethernet, etc).
O objetivo é que esta camada seja responsável pelo registo e autenticação de todos os
dispositivos na plataforma central.
14 / 102
3 - Desenvolver uma plataforma de integração e validação de dados (middleware em
Node-RED)
Os objetivos desta camada passam pelo desenvolvimento de uma solução que permita
realizar a integração de diversas plataformas IoT e que permita realizar o tratamento
e a validação dos dados recolhidos pelos sensores e enviados para os atuadores.
Pretende-se que a exclusão deste tipo de dados traga mais fiabilidade ao conjunto dos
dados recolhidos e, mediante o tipo de contrato realizado com as plataformas de
armazenamento, contribuir para uma eventual redução nos custos, uma vez que ao
excluir valores errados ou com uma frequência demasiado elevada, irá diminuir o
volume de dados armazenados.
Será também através desta plataforma que deverão ser realizados os backups dos
dados recolhidos pelos sensores.
No sentido inverso, na comunicação das plataformas para os atuadores instalados no
terreno, esta ferramenta virá a ter uma importância elevada, uma vez que terá
capacidade para contrariar as ordens dadas pelas plataformas de gestão. A análise das
variáveis ambientais ou das previsões meteorológicas poderá resultar no
cancelamento dessas instruções.
15 / 102
Na componente física é pretendido testar as redes de sensores e respetivos dispositivos
de sensorização e atuação, incluindo os protocolos e métodos de comunicação.
Na componente aplicacional é pretendido testar a plataforma de gestão de
dispositivos, a camada de integração, as aplicações de gestão e IoT.
No final dos testes realizados deverá ser possível reunir dados que permitam suportar
escolhas tecnológicas para projetos futuros, dando especial foco à comparação entre as
tecnologias utilizadas.
1.4 – Contribuições
16 / 102
Em suma, sendo o foco principal a utilização de tecnologias IoT, través da realização
deste projeto foi possível reunir conhecimentos técnicos e realizar testes, de modo a
poder escolher e fundamentar as melhores opções tecnológicas a adotar em projetos
futuros.
Este projeto foi iniciado com o estudo das necessidades, com a definição de objetivos,
com o desenho da arquitetura global da solução e a definição da equipa de projeto. De
seguida estudaram-se projetos semelhantes e por fim efetuou-se um estudo às
tecnologias existentes.
17 / 102
18 / 102
2 - ESTADO DA ARTE EM TECNOLOGIAS IOT impar
O objetivo deste capítulo é apresentar uma visão geral sobre plataformas e protocolos
IoT, com especial foco nas tecnologias LoRa, NB-IoT e 802.15.4 (6LoWPAN).
2.1 - Introdução
Os principais desafios deste projeto passaram pela criação da rede de sensores, pelo
estudo das diversas tecnologias IoT, pelos testes aos diversos protocolos de
comunicação entre sensores e plataformas, e pelo desenvolvimento e implementação
de uma plataforma de integração de sistema IoT, de modo a responder às necessidades
do Município de Tomar.
Só assim seria possível no futuro, perceber das tecnologias emergentes, quais serão as
melhores apostas para implementação de projetos IoT, no âmbito do conceito de Smart
Cities.
Uma das principais componentes deste projeto passa pela criação de uma rede de
sensores bem dimensionada, de modo a garantir fiabilidade e bom desempenho nas
comunicações entre os dispositivos (tendo em conta todas as questões da segurança
aplicada à Internet das Coisas).
19 / 102
802.15.4
Deste modo, neste capítulo, o principal foco passa pela análise de vários protocolos e
métodos de comunicação utilizados em sistemas IoT, dando especial relevância aos
que mais impacto terão no desenvolvimento do projeto final, e aos que se encontram
com mais frequência associados a projetos de IoT, nomeadamente LoRa, NB-IoT e
802.15.4 - 6LowPAN.
20 / 102
Termos como Internet of Things, Big Data, Mobile & Social Internet, Artificial Intelligence,
Virtual Reality, Automation, Robots, Cloud Computing e muitos outros, estão cada vez
mais presentes no nosso dia-a-dia e o seu impacto em áreas como a cultura, os
mercados e as sociedades será enorme no decorrer da próxima década. [3]
Por muitos considerada a quarta revolução industrial, a era da nova geração de redes
sem fios vai permitir conectividade entre biliões de máquinas e objetos.
Para dar resposta a este paradigma, os sistemas de comunicação sem fios precisam de
suportar a conetividade de um enorme número de dispositivos.
Prevê-se que no próximo ano (2020), mais de vinte e cinco biliões de dispositivos
estejam conectados através de redes sem fios. [12]
O rápido crescimento do mercado da internet das coisas (IoT), faz com que as
tecnologias de comunicação sem fios de baixa potência e de baixa largura de banda se
tornem cada vez mais populares.
- Redes de área local - Com alcance inferior a 1000 metros, onde incluímos IEEE
802.15.4, IEEE P802.1ah, Bluetooth / LE, etc.
- Redes de área alargada - Com alcance superior a 1000 metros, onde incluímos
LoRaWAN, Sigfox, DASH7, NB-IoT, etc. [11]
21 / 102
recentemente, surgem muitas outras tecnologias LPWAN, sendo 2 dos exemplos mais
consolidados o LoRa e o NB-IoT. [3]
LoRa (Long Range) - LoRa é uma tecnologia de comunicação sem fios para redes de
longa distância / área alargada, baixa potência e de baixa largura de banda (LPWAN)
onde os dispositivos comunicam diretamente com os gateways. É atualmente
considerada uma das tecnologias mais adaptadas para IoT, essencialmente devido ao
baixo custo dos equipamentos e dispositivos, ao baixo consumo de energia e devido
ao seu modelo de negócio.
SigFox – É uma alternativa intermedia entre o WiFi e as redes de longo alcance, como
as redes móveis (3G, 4G, etc.). A banda utilizada é a ISM (industrial, scientific and
medical band). A tecnologia base do Sigfox é chamada de UNB (Ultra Narrowband) e
foi projetada apenas para níveis de transferência entre 10 bit/s e 1 kbit/s. O seu alcance
vai até 50Km.
Neul – O protocolo Neul baseia-se num conceito similar ao Sigfox e é baseado no chip
Iceni. A tecnologia base é a chamada Weightless, é baseada em redes WAN e
desenhada para competir com as já existentes GPRS, 3G, CDMA e LTE WAN. A taxa
22 / 102
de transferência de dados vai até 100 kbps. Possui um alcance de até 10 km e consumo
de cerca de 20-30 mA.
NFC (Near Field Communication) - É uma tecnologia para troca de informações entre
dois equipamentos eletrónicos. Basicamente é uma extensão da tecnologia de cartões
RF (RFIDs) que permite aos equipamentos trocarem informações a distâncias de
alguns centímetros. É especialmente interessante para smartphones, pois pode ser
utilizada para transferir dados entre equipamentos. O alcance geral do protocolo é de
10 cm, e a taxa de transmissão vai até 420 kbps.
Bluetooth – Protocolo mantido pelo Bluetooth SIG (Special Interest Group). Possui uma
extensa documentação e inúmeros exemplos de aplicações.
O alcance varia conforme a classe do módulo: a classe 1 alcança até 100 metros e tem
uma potência de 100 mW, a classe 2 tem alcance de até 10 metros e uma potência de
2,5mW, e a classe 3 que tem um alcance de 1 metro e dissipa no máximo 1 mW.
Já teve várias versões lançadas, mas foi no 4.0 (Bluetooth Low Energy) e na mais recente
5.0 que o foco se concentrou na Internet das Coisas. O baixo consumo energético das
últimas versões foi um requisito colocado exatamente pelas novas aplicações IoT. [16]
23 / 102
2.3 – Protocolos e métodos de comunicação
Na figura 5 apresenta-se uma visão das várias camadas protocolares que compõe as
principais tecnologias IoT, comparativamente com o protocolo TCP/IP (Transmission
Control Protocol / Internet Protocol).
Figura 4 – Camadas protocolares das várias camadas dos principais protocolos IoT
24 / 102
Camada física
Camada de ligação
Esta camada deteta e corrige erros que possam ocorrer na camada física. É responsável
por controlar o fluxo e também estabelece um protocolo de comunicação entre
sistemas. A tarefa desta camada é entregar os pacotes para o destino definido, através
do endereçamento e entrega.
Por exemplo, no protocolo 802.15.4, para que seja possível comunicar através do
protocolo IPv6, foi criada uma camada intermédia entre esta e a camada de rede,
denominada 6LoWPAN (IPv6 over Low power Wireless Personal Area Networks).
Camada de transporte
Camada de aplicação
25 / 102
2.3.1 – Protocolos IoT das camadas física e de ligação
26 / 102
NB-IoT é uma tecnologia de comunicação sem fios, padronizada pelo 3GPP,
desenvolvida especificamente para comunicações máquina em grande quantidade
“Massive Machine-Type Communications”.
27 / 102
Comparativamente ao LTE comum, o LTE cat NB-IoT apresenta uma capacidade de
transferência de dados muito mais reduzida, apresenta uma latência muito maior, só
trabalha em half-duplex e não permite a mobilidade dos dispositivos terminais (tabela
3). Por outro lado, possui maior economia de energia e um custo mais baixo.
Mas o NB-IoT não pode ser encarado como a solução tecnológica ideal para todos os
cenários. Sistemas que necessitem de transferir grandes volumes de dados e que
necessitem de tempos de resposta muito reduzidos não podem ser implementados
com as normas e padrões existentes atualmente.
28 / 102
Na figura 7 encontram-se representados os processos de uplink e de downlink.
A tecnologia NB-IoT permite uma maior cobertura de 20dB GSM / GPRS, através da
utilização de sinais de uma banda mais estreita e através da diversidade de tempo de
transmissão. Um sinal de banda estreita permite que o recetor filtre mais ruído,
melhorando assim o “Signal to Interference and Noise Ratio” (SINR).
29 / 102
energia: a receção descontínua estendida eDRX (extended Discontinuous Reception) e
o modo de poupança de energia PSM (Power Saving Mode).
A um terminal também pode ser permitido mudar para PSM, sendo que o
equipamento está registado na rede, mas não acessível.
No final do ciclo de PSM, o terminal realiza uma Atualização da Área de Rastreio TAU
(Tracking Area Update).
30 / 102
O número de repetições utilizadas é calculado considerando -100dB e -110dB como
potência de sinal recebida.
31 / 102
Figura 9 – Gráficos com percentagem de recursos livres e ocupação da rede [5]
O eixo dos x representa o tráfego gerado pelos terminais, enquanto o eixo y mostra a
percentagem de recursos livres e a ocupação da rede.
A rede satura a uma taxa de transferência de 62 kbps (curva a tracejado) porque todos
os recursos rádio foram usados (curva em sólido). As curvas com os marcadores em
forma de estrela representam configuração onde o NPRACH é significativamente
menor.
Neste caso, a rede satura para uma taxa de transferência muito menor, 20 kbps, porque
apenas alguns terminais podem completar o procedimento RA (cerca de 70% dos
recursos não foram utilizados).
32 / 102
2.3.1.2 - LoRa – Long Range
LoRa é uma tecnologia de comunicação sem fios para redes de longa distância / área
alargada, baixa potência e de baixa largura de banda (LPWAN).
33 / 102
Podemos separar o LoRa em duas camadas distintas: a camada física da rede,
utilizando a técnica de modulação de rádio Chirp Spread Spectrum (CSS), e a camada
lógica da rede, que define a arquitetura e os parâmetros da comunicação (LoRaWAN
- protocolo da camada MAC).
Com o avanço das tecnologias passou a ser viável utilizar estas mesmas técnicas
usando cristais e outros componentes mais baratos, sendo a tecnologia LoRa a primeira
implementação de baixo custo desenvolvida para uso comercial.
34 / 102
O protocolo LoRaWAN implementa os detalhes do funcionamento, segurança,
qualidade do serviço, ajustes de potência visando maximizar a duração da bateria dos
módulos, e os tipos de aplicações tanto do lado dos dispositivos como do lado do
servidor LoRaWAN.
Neste teste foram enviados de um dispositivo LoRa para o gateway cerca de 10.000
pacotes, tendo os indicadores de intensidade do sinal (RSSI) dos pacotes recebidos sido
registados.
35 / 102
em que os pacotes se começaram a perder foi de 100 metros. Os RSSIs mínimos
observados estão representados na figura 13.
Figura 12 – Gráfico representativo dos RSSIs face a fatores de spreading diferentes [11]
No entanto, os pacotes que atingiram os RSSIs mais baixos também foram recebidos
com um alto SINR, próximo a 20 dB. Isto deveu-se provavelmente ao facto do gateway
estar dentro de casa.
Foram escolhidos cinco pontos para testes, sempre com distâncias diferentes em
relação ao gateway, conforme figura 14.
36 / 102
Figura 13 - Mapa representativo das localizações do gateway e dos dispositivos terminais [11]
Figura 14 - Gráfico com rácio de pacotes entregues com locais e spreadings diferentes [11]
37 / 102
Vale a pena referir que o gateway estava localizado no segundo andar, que ficava a
cerca de 5 m acima do solo (normalmente, essa estação base estaria localizada em
altitude para obter uma melhor cobertura), e o ponto de teste D estava logo atrás de
um prédio de sete andares.
LoRaWAN
É um protocolo MAC, criado com base na utilização da camada física LoRa. Foi
projetado principalmente para sensores que trabalhem em redes com baixa capacidade
de transferência de dados e com intervalos de transmissão bastante espaçados (de uma
transmissão por hora até vários dias).
38 / 102
As especificações indicam que as redes LoRaWAN devem usar frequências sujeitas a
regulamentações referentes à potência do sinal de transmissão e ao ciclo de serviço.
Essas limitações do ciclo de trabalho traduzem-se em atrasos dos dados enviados pelos
dispositivos. Se a limitação é de 1%, o dispositivo terá que esperar 100 vezes a duração
do último envio até enviar novamente no mesmo canal.
O objetivo deste teste é avaliar o rendimento máximo que um dispositivo pode obter.
Os testes foram efetuados com seis canais de 125 kHz e utilizando fatores de
propagação de 7 a 12. Como nenhum comando MAC foi enviado, então o tamanho do
cabeçalho MAC foi sempre 13 bytes.
Figura 15 - Gráfico comparativo da taxa de transferência média com 1 único dispositivo [11]
Esta experiência revelou que em pacotes pequenos, o fator limitador não foi canal,
como poderia ter sido esperado, mas a duração das janelas de receção.
A maior limitação deveu-se ao facto de o dispositivo ter que esperar pelas duas janelas
de receção de downlink após a transmissão ter acabado, para depois poder enviar
outro pacote.
39 / 102
No entanto, uma vez que o LoRaWAN foi projetado para gerir grandes quantidades
de dispositivos, com transmissão de pequenos volumes de dados espaçados no tempo,
ao enquadrarmos esta tecnologia neste âmbito, chegamos à conclusão de que este fator
limitador do LoRaWan não pode ser considerado como uma menos valia na
implementação de projetos IoT.
Capacidade total e carga do canal - A capacidade total da rede não está relacionada
apenas com o tamanho da carga útil. Como duas transmissões na mesma frequência,
mas com diferentes fatores de propagação, podem ser descodificadas em simultâneo,
é definido um canal lógico por par (frequência e fator de spreading).
40 / 102
Conclui-se então que, de acordo com testes analisados, graças à modulação do espectro
de propagação chirp e à alta sensibilidade dos receptores, o LoRa oferece boa
resistência a interferências.
Testes de campo mostram que o LoRa pode oferecer uma cobertura de rede satisfatória
até 3 km, em áreas com moradias residenciais densas.
O fator de propagação tem impacto significativo na cobertura de rede e na taxa de
transferência, mas o desempenho degrada-se rapidamente à medida que a carga do
link aumenta. [9] [11]
O IEEE 802.15.4 trabalha nas bandas de frequências ISM (Industrial, Scientific and
Medicine), que são gamas abertas e que não necessitam de licenciamento.
41 / 102
Figura 16 - Canais e frequências da camada física do protocolo 802.15.4 [26]
6LowPAN (IPv6 over Low-power wireless Personal Area Network) é uma camada que
define o encapsulamento, os cabeçalhos e os mecanismos de compressão, utilizado em
42 / 102
redes de sensores com limitações energéticas, de baixo alcance, baixas taxas de
transmissão e baixo custo.
Foi criado para que fosse possível comunicar através de IPv6 em protocolos de rede
como é o caso do padrão 802.15.4.
6LowPAN cria uma camada de adaptação entre o IEEE 802.15.4 e o IPv6, com
cabeçalhos específicos para cada uma dessas funções.
Como suporta IPv6, tornou possível atribuir a cada objeto ou equipamento do mundo
um IP único e conectá-lo à internet. Desta forma todos os dispositivos passam a fazer
parte no mundo da Internet ou "Internet of Things".
Cada rede 6LoWPAN partilha o mesmo prefixo do endereço IPv6 (os primeiros 64 bits)
e está limitada a 64000 dispositivos.
43 / 102
Este limite é imposto pelo endereçamento utilizado pelo IEEE 802.15.4, que usa 16 bits
de endereços para cada dispositivo na rede.
44 / 102
É necessária a existência de um border-router sempre que uma rede 6LoWPAN
necessita de comunicar com uma rede IPv4. Só este nó permite a interligação entre
estas duas redes (conforme representado nas imagens 20).
Neste subcapítulo demonstra-se que 6LowPAN é uma camada que trabalha sobre
outros protocolos de rede, nomeadamente o protocolo 802.15.4, não se podendo
comparar diretamente com NB-IoT ou com LoRaWan.
Embora existam vários protocolos da camada de transporte, como por exemplo, RTP,
DCCP, SCTP ou RSVP, os dois protocolos mais utilizados desta camada são o UDP e
o TCP.
Nas soluções e projetos IoT, o protocolo da camada transporte mais utilizado é o UDP.
Esta opção deve-se essencialmente a uma dimensão mais reduzida dos pacotes,
comparativamente com o protocolo TCP.
O cabeçalho dos pacotes do protoclo TCP utiliza um número mais elevado de bits do
que o do UDP.
45 / 102
Por exemplo, conforme se consegue verificar na figura 21, o cabeçalho do protocolo
TCP indica o Sequence number e o Acknowledgment Number, que permitem garantir a
ordem e a confirmação de entrega do pacote.
Já no cabeçalho do protocolo UDP esses dados não aparecem uma vez que cada pacote
UDP é único e indivisível.
Porém, este protocolo não apresenta garantias de entrega de pacotes no destino, não
apresentando confiabilidade. Caso sejam necessárias garantias de entrega de pacotes,
é necessário proceder à implementação de várias estruturas de controlo, tais como
timeouts, retransmissões, acknowledgements, controlos de fluxo, etc.
Ao contrário do TCP, que é um protocolo orientado a fluxos de bytes sem início e sem
fim, cada datagrama UDP é único e pode ser considerado como um registo indivisível.
46 / 102
servidor e de seguida enviar um outro datagrama com o mesmo socket para um outro
servidor. Da mesma forma, através de um único socket é possível a um servidor poder
receber informação vinda de diversos clientes.
O protocolo UDP não suporta SSL / TLS. Em alternativa, para fornecer segurança nas
transferências de dados, este utiliza o DTLS, Datagram Transport Layer Security.
A utilização do protocolo UDP faz-se principalmente nos serviços que não precisam
de garantir a chegada de pacotes. Streamings de vídeo e serviços de voz sobre IP são
exemplos de utilização UDP.
Embora não seja o mais adequado para projetos IoT, continua a ser muito utilizado
neste tipo de projetos.
47 / 102
A utilização deste protocolo deve-se em grande parte à utilização massificada da
Internet, que é suportada por este, e ao facto de muitas das plataformas IoT alojadas
na cloud comunicarem através de APIs HTTP (REST).
Embora os protocolos mais adaptados para IoT sejam o MQTT e o CoAP, existem
muitos projetos IoT implementados com recurso ao protocolo HTTP (Hypertext
Transfer Protocol) e ao conceito RESTful APIs (Representational State Transfer).
A utilização desta última deve-se em grande parte à utilização massificada que esta
tem no desenvolvimento das soluções Web modernas, justificada pela sua
simplicidade e pelo conhecimento já adquirido por parte dos programadores.
Tanto o MQTT como o CoAP são normas abertas, mais adequados para ambientes com
restrições de processamento, de largura de banda e de consumo energético, do que o
HTTP (REST), que consome mais recursos e necessita de mais recursos por parte dos
dispositivos e das redes. O MQTT oferece flexibilidade nos padrões de comunicação e
atua apenas como um canal para dados binários, enquanto que o CoAP foi projetado
para interoperabilidade com a web. [14]
48 / 102
Existem atualmente online diversas ofertas de APIs, desenvolvidas especificamente
para IoT (ex. https://www.programmableweb.com/category/internet-things/api).
Desenvolvido pela IBM no final dos anos 90, com base no protocolo TCP/IP, acabou
por se tornar um padrão para comunicações IoT. É um protocolo de mensagens com
suporte para a comunicação assíncrona e utiliza um modelo de publicação / assinatura.
No final de 2014, tornou-se oficialmente um padrão aberto, com suporte nas
linguagens de programação mais populares e usado em diversas implementações de
soluções de software [17].
O MQTT é um protocolo de rede leve e flexível, que oferece o equilíbrio ideal para os
programadores IoT, permitindo implementações em hardware com baixas
capacidades e em redes com largura de banda limitada e alta latência.
Embora a maioria dos serviços da Web corram via HTTP, este padrão tem algumas
limitações graves, nomeadamente o facto de ser síncrono, de ser unidirecional, de ser
um-para-um e de ser um protocolo pesado com muitos cabeçalhos e regras.
49 / 102
Figura 20 - Ilustração representativa de transmissão de dados entre 1 sensor e 2 clientes [30]
Ao mesmo tempo, o MQTT é leve, uma vez que tem um cabeçalho simples. Pode usar
qualquer formato de dados, quer seja JSON, XML, binário criptografado ou Base64,
desde que os clientes de destino o possam interpretar.
50 / 102
para endereçamento, seguindo um modelo cliente / servidor. Os clientes fazem
solicitações e os servidores devolvem respostas (GET, PUT, POST e DELETE). [17]
O CoAP foi projetado para operar com o HTTP e a Web REST por meio de proxies
simples. Como o CoAP é baseado em datagramas pode ser usado tanto em SMS como
noutros protocolos de comunicação baseados em pacotes.
A nível de aplicação QoS, as solicitações e mensagens de resposta podem ser marcadas
como “confirmable” ou “nonconfirmable”. Mensagens confirmadas são respondidas
pelo recetor com um pacote ack e mensagens não-confirmadas são esquecidas.
Como o CoAP trabalha sobre UDP e não sobre TCP, o SSL / TLS não está disponível
para fornecer segurança. Neste caso utiliza-se o DTLS, Datagram Transport Layer
Security, que fornece as garantias semelhantes ao TLS, mas para transferências de
dados por UDP.
Para que a transferência de dados seja realizada, o protocolo HTTP necessita estar
agregado a outros dois protocolos de rede: TCP (Transmission Control Protocol) e IP
(Internet Protocol).
Embora não possa ser considerado um protocolo IoT, devido às suas necessidades de
computação e de largura de banda, mesmo assim verifica-se que existem muitos
projetos IoT desenvolvidos com recurso ao protocolo HTTP, principalmente devido à
grande quantidade de programadores que trabalham atualmente com o mesmo no
desenvolvimento de solução Web.
51 / 102
O REST, considerado um conceito e não um protocolo, é atualmente a principal base
de comunicação com a maior parte das APIs existentes na Internet.
Os aplicativos que são RESTful são aqueles cujas APIs seguem um conjunto universal
de requisitos de arquitetura, de modo a que várias linguagens de programação se
possam interligar facilmente, através de uma abordagem unificada.
As APIs REST trabalham via HTTP para executar ações, como por exemplo, POST,
GET, PUT e DELETE. Estas ações podem ser mapeadas para as funções SQL CREATE,
SELECT, UPDATE e DELETE (conhecido como CRUD).
Uma vez que trabalha sobre HTTP, qualquer dispositivo que se possa ligar à web e
fazer pedidos através de uma página Web, pode usar uma API REST.
52 / 102
Os programadores podem criar rapidamente um modelo REST para muitos
dispositivos IoT. Podem por exemplo, obter facilmente o estado de uma lâmpada: se
ela está desligada, então podemos enviar um pedido a ligar.
A camada da API é utilizada pela arquitetura de IoT para garantir a ligação aos
servidores Web, fornecendo a consistência, o controlo, a orientação e a segurança
necessários. [14]
RESUMO
O protocolo HTTP, embora não se possa considerar adequado a projetos IoT, é muito
utilizado nesta área, principalmente devido à sua simplicidade e à grande quantidade
de programadores que possuem conhecimentos de desenvolvimento nesta tecnologia
(REST é considerado um conceito e não um protocolo).
53 / 102
observação de recursos, o CoAP é mais adequado para um modelo de transferência de
estados e não para comunicações baseadas em eventos. [13]
HTTP é um protocolo que necessita estar agregado a outros dois protocolos de rede:
TCP (Transmission Control Protocol) e IP (Internet Protocol).
As APIs REST trabalham via HTTP para executar ações. Estão massificadas nas
soluções Web modernas e a transferência de dados pode ser efetuada através de JSON
ou XML.
REST é um conceito stateless, ou seja, os clientes ligam-se e consomem dados a pedido
através da API, transmitindo dados sem que seja necessária uma conexão aberta. [14]
54 / 102
3 – PLATAFORMA PARA REGA INTELIGENTE
3.1 - Requisitos
Relativamente às plataformas IoT, para além das funcionalidades genéricas deste tipo
de produtos, as mesmas deverão ter capacidade de comunicar com a camada de
integração (Node-RED). O objetivo é tornar possível a integração de dados de vários
projetos e soluções (adicionando funcionalidades e inteligência).
Para que tal seja possível, um dos requisitos obrigatórios é que as soluções
aplicacionais a implementar permitam comunicar via API (Application programming
interface).
55 / 102
A escolha das tecnologias a integrar na arquitetura deste projeto deverá ter em conta
o requisito de comunicação com qualquer equipamento IoT, sem olhar ao protocolo de
comunicação (MQTT, COAP, HTTP, etc.) ou à tecnologia de comunicação (NB-IoT,
LoRa/LoRaWan, 802.15.4 (6LowPAN), 3G/4G, WiFi, Ethernet, etc).
O requisito principal desta camada é que esta seja responsável pelo registo e
autenticação de todos os dispositivos numa plataforma central.
Deste modo o principal requisito é que a mesma seja capaz de integrar todos os
dispositivos, sejam eles sensores ou atuadores, todas as plataformas IoT e todos os
protocolos e tecnologias de comunicação.
56 / 102
Requisitos da plataforma de integração:
Esta plataforma deverá ser desenvolvida em software de código aberto e sem custos
de licenciamento.
Esta ferramenta deverá permitir efetuar a ponte entre os dados enviados por todos os
sensores e as plataformas IoT de controlo e gestão, e comunicar através dos protocolos
MQTT, CoAP e HTTP (REST).
Esta plataforma deverá permitir a realização dos backups dos dados recolhidos pelos
sensores LoRa, NB-IoT e 802.15.4 para um repositório central (IBM Cloudant).
Outro dos requisitos que esta camada deverá possuir passa pela capacidade de agir
diretamente sobre os atuadores instalados no terreno e de ter capacidade para
contrariar as ordens dadas aos mesmos pelas plataformas de gestão.
57 / 102
3.2 - Arquitetura global da solução
O diagrama abaixo (figura 23) representa de uma forma global, quais os principais
módulos envolvidos no processo de recolha e tratamento de dados e o respetivo
sentido do fluxo de dados.
58 / 102
Figura 21 - Ilustração representativa da arquitetura de comunicação com os sensores
No diagrama abaixo (figura 24) é feita uma representação, de uma forma global, de
quais os principais módulos envolvidos no processo de atuação e qual o respetivo
sentido do fluxo de dados.
59 / 102
Figura 22 - Ilustração representativa da arquitetura de comunicação com os atuadores
60 / 102
Dispositivos 802.15.4 6LowPAN (sensores e atuadores)
Nos trabalhos realizados com esta tecnologia foi montado um cenário onde foram
utilizados 6 dispositivos Zolertia (temperatura do ar, humidade do ar e luminosidade),
2 Raspberry PI (Contiki, Node-JS e Node-RED), 1 Arduino Uno, 1 Eletroválvula e 1
Relé.
Foi criada uma rede 6LowPAN IPv6 de 5 sensores Zolertia utilizando o protocolo de
encaminhamento RPL sobre UDP.
Neste cenário os dados ambientais recolhidos são enviados para o nó border router
(Zolertia). Este, por sua vez, através de um túnel USB (tunslip6 script) transfere os
dados recolhidos para o Raspeberry PI, que processa a informação e a encaminha,
através do protoclo IPv4, para a plataforma de gestão de dispositivos (Watson IoT).
O Watson foi a ferramenta escolhida para efetuar o registo dos sensores e obter o
respetivo TOKEN, uma vez que reunia os requisitos técnicos e funcionais que se
procuravam. Nesta decisão também pesou o facto de o Município de Tomar estar a
planear implementar um projeto de eficiência energética com esta solução e de ficar
responsável pela gestão da solução.
Por sua vez, no sentido inverso, no que diz respeito aos atuadores (comando de
electroválvulas), foram utilizados um RaspBerry Pi e um Arduino.
No Raspberry Pi foi instalado o Node-RED e foi criado um fluxo que ciclicamente faz
consultas à plataforma de IoT, com o objetivo de saber se tem ordem para regar.
61 / 102
A verificar-se essa confirmação, o Node-RED dá ordem ao Arduino para passar
energia para o pin onde está ligado a relé.
Ao receber este impulso, a relé ativa o circuito principal dos 9V que faz atuar a
electroválvula (abrir ou fechar o circuito de rega).
A ligação entre o RaspBerry e o Arduino foi realizado por USB. Já a comunicação entre
o Arduino e a relé que ativa a electroválvula foi efetuada através da ligação a um pino
digital de saída.
62 / 102
Dispositivos LoRaWan (sensores)
Nos trabalhos realizados com esta tecnologia foram utilizados sensores de medição
LoRa (temperatura, humidade e luminosidade), um gateway LoRa e um LoraWan
Server alojado na cloud.
63 / 102
o desenvolvimento e a implementação do mesmo, participando ativamente na
realização do survey que serviu de base para a definição dos locais ideais para
instalação das antenas (gateways).
Nesta fase, a rede LoRaWAN vai servir para conectar os sensores de todas as
luminárias da rede pública de iluminação, um sensor que mede o nível da água
do rio Nabão, um sensor que controla a utilização da água de uma boca de
incêndio e um sensor que mede a qualidade do ar.
Para além de questões físicas, como o alcance, a largura de banda, etc., este
projeto piloto também serviu para perceber como se aprovisionam dispositivos
no servidor LoRaWAN. Este procedimento consiste em adicionar, o mac address
na lista de equipamentos que se podem registar na rede LoRa. A partir desse
momento o dispositivo passa a estar disponível para utilização.
Para que os dados recolhidos nesta rede pudessem ser encaminhados para a
plataforma de integração, foi disponibilizada na plataforma IoT da Wavecom o
envio de dados via API. Através desta é possível enviar dados para a plataforma
de gestão de dispositivos (Watson IoT).
64 / 102
Dispositivos NB-IoT (sensores e atuadores)
Nos trabalhos realizados com esta tecnologia foram utilizados 6 sensores NB-IoT (2 de
temperatura do ar, 2 de humidade do ar e de humidade solo) e 2 controladoras GPRS
de 254 canais (2 x 254 circuitos para electroválvulas).
Os sensores foram fornecidos pela Vodafone e ativação dos serviços nas antenas de
telecomunicações móveis demorou cerca de três meses. Na figura 27 estão
representadas as antenas de telecomunicações do concelho de Tomar onde já está ativo
o serviço do protocolo NB-IoT.
Os sensores IoT fornecidos foram instalados dentro de caixas estanques, com as sondas
de medição derivadas para o exterior das mesmas, conforme representado na figura
26. De seguida foram enterrados em localizações definidas tendo em conta as questões
geográficas e morfológicas do terreno.
65 / 102
As controladoras IoT fornecidas, foram instaladas em quadros elétricos exteriores e
fixadas nos barramentos dos disjuntores, tendo as cablagens de controlo das
electroválvulas sido passadas até às caixas de chão onde foram efetuadas as derivações
dos circuitos de rega e onde as mesmas foram instaladas.
Uma vez que esta tecnologia utiliza as infraestruturas de comunicação das operadoras
de comunicações móveis, não foi necessário proceder à instalação de equipamentos
gateway.
66 / 102
Nesta tecnologia, a arquitetura de comunicações utilizada na camada de aplicação foi
muito semelhante à efetuada nos trabalhos realizados com a tecnologia LoRa.
IBM Watson IoT (Plataforma Internet das Coisas da IBM) – A criação da instância de
trabalho (recurso na cloud) que suporta esta plataforma foi realizada através da área
de lista de recursos, disponibilizada na plataforma IBM CLoud.
67 / 102
Figura 28 – Dashboard de registo e gestão de dispotitivos do Watson IoT
Na figura 30 é possível ver o registo dos logs de conexão do sensor Zolertia da “igreja-
santa-maria”, com referência à autenticação por Token.
Na arquitetura atual esta camada serve de ponte (para todos os sistemas que se
pretendam integrar) entre os dispositivos IoT e a plataforma de integração.
68 / 102
Para a comunicação entre plataformas são disponibilizadas APIs (MQTT, COAP ou
REST).
69 / 102
Em apoio à gestão dos dispositivos, foi desenvolvido um dashboard de controlo do
sistema de rega inteligente, que permite também apoiar na visualização do histórico
dos dados recebidos e na localização dos dispositivos instalados no terreno, através de
georreferenciação (figura 32).
Uma vez que os dispositivos NB-IoT comunicam através do protocolo CoAP, não é
possível manter uma conexão aberta. A única forma de controlar a conetividade e o
funcionamento de um dispositivo é através do controlo e verificação do cumprimento
do agendamento predefinido das comunicações. Por exemplo, se um determinado
dispositivo está configurado para comunicar de duas em duas horas e falhar numa
dessas comunicações, então poderá estar a ocorrer uma falha de conetividade.
70 / 102
Já na plataforma de gestão de dispositivos Wavesys LoraWan Server, só após a criação
da aplicação que gera a application key é que é possível proceder à criação de
dispositivos e receber os dados recolhidos pelos mesmos.
É nesta camada que é realizada a integração entre as diversas plataformas IoT e que é
efetuado o tratamento e a validação dos dados recolhidos pelos sensores.
71 / 102
Node-RED é uma ferramenta de desenvolvimento baseada em fluxos e nós, com uma
interface que permite realizar programação com algum apoio visual.
Foi desenvolvida originalmente pela IBM para conectar dispositivos, para comunicar
via APIs e para aceder a serviços online.
Apresenta um editor de fluxos que corre em ambiente Web, que tem a capacidade de
criar e interpretar funções JavaScript (podendo os elementos desenvolvidos ser
guardados e partilhados para outras reutilizações).
O compilador é construído “em cima” da framework do Node.js, sendo os fluxos
gerados e armazenados no formato JSON.
Para poder trabalhar online com o Node-RED, optou-se por utilizar a versão suportada
pela cloud da IBM. Para tal foi necessário proceder previamente à criação de uma
conta. De seguida foi necessário proceder à criação do Starter Kit que permitiu gerar
os dados de acesso e autenticação. Na figura 34 podemos ver a instância de Node-RED
criada na cloud da IBM.
72 / 102
Para tentar perceber se esta ferramenta cumpria os requisitos técnicos e funcionais
necessários, foram efetuados diversos fluxos de teste, como por exemplo:
73 / 102
“inj-Atualizar-Temperatura” - Nó do tipo inject, que permite iniciar a função
“Função – SELECT” – Nó do tipo função em JavaScript:
msg.topic = "select valor from temphistory order by id desc";
return msg;
“DB_temptest” – Nó do tipo conexão de letiura em DB
“Função – ENVIAR TEMP” - Nó do tipo função em JavaScript:
var str = msg.payload;
var temp = str[0]['valor'];
msg.payload = temp;
return msg;
“Função – sem título” - Nó do tipo função em JavaScript
var str = msg.payload;
var temp = str[0]['valor'];
var basic_url = "https://emoncms.org";
var apikey = "a78c34207046097575ce46e9c4ac9ad6";
var nomenode = "Portugal";
var final_url = "/input/post?node=" + nomenode + "&data={Temperatura:" +
temp + "}&apikey=" + apikey;
msg.url = (basic_url + final_url);
return msg;
“http request” – Nó do tipo pedido HTTP
4 - Fluxo de escrita em ficheiro CSV de 1 registo de BD MySQL
“inject MySQL to CSV / inject to CSV” - Nó do tipo inject que permite iniciar a função
“Função – sem título 1” – Nó do tipo função em JavaScript:
msg.topic = "select valor from temphistory order by id desc";
return msg;
“DB_temptest” – Nó do tipo conexão de letiura em DB
“Função – sem título 2” – Nó do tipo função em JavaScript:
var str = msg.payload;
var time = str[0]['timestamp'];
var idOrg = str[0]['idOrg'];
var idLocal = str[0]['idLocal'];
var idDisp = str[0]['idDisp'];
var unid = str[0]['unid'];
var temp = str[0]['valor'];
var all = [time, idOrg, idLocal, idDisp, unid, temp];
msg.payload = all;
return msg;
“csv” – Nó de conversão de dados em CSV
74 / 102
Foram ainda realizados outros fluxos de testes, nomeadamente:
Pesquisar dados num CSV por coordenadas;
Escrever dados num CSV;
Chamar e executar rotinas e ficheiros remotamente no servidor;
Pesquisar registos numa BD de MySQL;
Escrever e ler registos do Watson IoT;
Escrever e ler registos do IBm Cloudant Bluemix;
Enviar instruções para um Arduino Uno;
Após a análise aos testes realizados, concluiu-se que esta seria a plataforma ideal para
desenvolvimento da camada de integração.
Figura 34 – Fluxo desenvolvido para envio de dados do Watson IoT para o Cloudant
Enquanto que no IBM Watson IoT foi necessário criar a instância e os dispositivos
individualmente, no IBM Cloudant as bases de dados de armazenamento dos dados
75 / 102
recolhidos e tratados pelo Node-RED são criadas em tempo real, no momento em que
são enviadas.
Para concluir foi incluído um nó Cloudant Out. Através deste nó foi realizado o envio
dos dados tratados para uma base dados de backup (IBM Cloudant).
Após o desenvolvimento deste fluxo, todos os dados enviados pelos dispositivos para
a plataforma de gestão de dispositivos passaram a ser encaminhados automaticamente
para a plataforma de backups (IBM Cloudant).
Na figura 35 conseguimos ver o fluxo que analisa valores aleatórios enviados para o
sensor “Watson-Igreja-Santa-Maria”.
76 / 102
Os valores das temperaturas, humidades e luminosidades, que são validados são
enviados para a plataforma de backup e os valores que são excluídos, por não
cumprirem alguma das regras de validação, são enviados para uma base de dados
error_log_watson-igreja-santa-maria, criada para fazer o log dos registos excluídos
Figura 36 – Fluxo que realiza o log dos valores excluídos pelas regras de validação
Para feed dos registos de backup pretende-se utilizar o IBM Cloudant e testar as
respetivas funcionalidades disponíveis.
Para evitar regar nos períodos de tempo que antecedem as chuvas, reduzindo os
desperdícios de água, desenvolveu-se também um fluxo que permite ler as previsões
meteorológicas disponibilizadas pelo IPMA, mediante a utilização de uma API REST,
e que as envia para o IBM Cloudant, para consulta por parte dos atuadores (figura 38).
77 / 102
Figura 37 - Fluxo que trata as previsões meteorológicas da API do IPMA
Esses dados, em conjunto com as instruções dadas pelas plataformas IoT, são
analisados pelos atuadores, de acordo com os agendamentos predefinidos e de acordo
com as ordens de atuação recebidas.
Para operacionalizar este cenário foi desenvolvido um fluxo que avalia todas as
variáveis existentes e decide qual a ação a executar.
Conforme figura 39, este fluxo foi desenvolvido com recurso aos seguintes nós:
Cloudant in - que realiza consultas às bases de dados do IBM Cloudant;
Delay - que limita o intervalo de leitura da base de dados;
Função - que analisa as instruções dadas pela plataforma IoT;
Http request – que efetua a consulta à API do IPMA e analisa as previsões
meteorológicas armazenadas na base de dados
“previsão_meteorologica_5_dias;
JSON – que converte o formato dos dados recebidos;
Função – que analisa os dados recebidos e dá as ordens de atuação”
Arduino out - palette adicionada que comunica com a camada de hardware e
que transmite ao Arduino informação de quais os circuitos a ativar.
78 / 102
Figura 38 – Fluxo de validação e atuação com Arduino
Esta camada poderá contrariar ordens ou instruções dadas pelas plataformas de gestão
e controlo IoT.
Por exemplo, de acordo com um determinado agendamento, pode ser dada ordem de
rega para um atuador de uma electroválvula. No entanto, considerando que esta
camada se encontra entre o dipositivo e a plataforma IoT e que esta tem capacidade de
interferir nessas decisões, as validações desenvolvidas nas rotinas dos fluxos Node-
RED poderão anular ou alterar essas ordens.
Questões como as previsões meteorológicas, avarias, manutenção de espaços ou
realização de eventos em espaços públicos, são alguns desses exemplos.
79 / 102
80 / 102
4 – RESULTADOS EXPERIMENTAIS
O cenário montado para este projeto teve como principal preocupação a escolha e
implementação de dispositivos e plataformas compatíveis com as diversas tecnologias
e protocolos de comunicação IoT, que melhor se enquadrassem no âmbito de um
projeto de rega inteligente.
A primeira etapa da componente IoT do projeto passou pela criação das redes de
sensores e atuadores, compostas por dispositivos LoraWan, NB-IoT e 6LowPAN.
81 / 102
Seguiu-se a fase do estudo, configuração e desenvolvimento das plataformas de gestão
de dispositivos, nomeadamente o IBM Watson IoT, o Vodafone/Thinkdigital AEP e
Wavesys LoraWan Server.
Através desta camada passou a ser possível autenticar dispositivos e utilizar os dados
recolhidos pelos mesmos.
Por último e para concluir o cenário de instalação dos sistemas da camada aplicacional,
procedeu-se à configuração das plataformas IoT. Esta componente envolveu diversas
plataformas, nomeadamente, IBM Watson IoT, IBM IOC, IBM Cloudant,
Vodafone/Thinkdigital Plataforma IoT, Vodafone/Thinkdigital AEP (Coletores e APIs)
e Vodafone/Thinkdigital GTC (SCADA).
Neste capítulo são apresentados os testes efetuados aos componentes envolvidos neste
projeto, nomeadamente os testes efetuados às plataformas utilizadas e aos protocolos
de comunicação das camadas físicas e de aplicação.
82 / 102
Testes à camada física
De um lado temos NB-IoT e LoRaWan como protocolos de rede de longo alcance e por
outro temos 802.15.4 (6LowPAN) que atua no quadro das redes de curto alcance.
Nos testes realizados com esta tecnologia foram utilizados sensores NB-IoT de
medição de variáveis ambientais e 2 controladoras de atuação.
Foi criada uma rede de sensores fornecidos pela Vodafone, onde foi possível testar as
configurações disponíveis, a conetividade e o desempenho.
Para realização dos testes subterrâneos, os sensores foram instalados dentro de caixas
estanques, com as sondas de medição derivadas para o exterior das mesmas.
Foram também efetuados testes em várias localizações do concelho e dentro de vários
edifícios.
83 / 102
Dispositivos LoRaWan (sensores)
Nesta componente não foram testados alcances, uma vez que o gateway era um
equipamento de indoor. Foram testados os procedimentos de aprovisionamento
de sensores no servidor LoRa e validados aspetos de configuração e
compatibilidade com as soluções tecnológicas escolhidas para este projeto.
84 / 102
Dispositivos 802.15.4 6LowPAN (sensores e atuadores)
Nesta tecnologia foram realizados testes com seis dispositivos Zolertia (equipados com
sensores de temperatura do ar, humidade do ar e luminosidade), 2 Raspberry PI (S.O.
Debian/Contiki, Node-JS e Node-RED), 1 Arduino Uno, 1 Eletroválvula 50mm de 9V
e 1 Relé de dois circuitos 5V/9V.
Nestes testes foi criada uma rede 6LowPAN IPv6, utilizando o protocolo de
encaminhamento RPL sobre UDP. Foi testado o envio dos dados ambientais recolhidos
através do nó border router.
Mediante a criação de um túnel USB (tunslip6 script), os dados recolhidos são enviados
para o Raspeberry PI. Neste último os dados são processados, tratados e transferidos
através do protocolo TCP/IPv4 para a plataforma de gestão de dispositivos (Watson
IoT).
Nos testes realizados foram analisados os alcances dos dispositivos, a duração das
baterias, a capacidade de processamento de dados do border-router, etc.
85 / 102
Testes à Camada de aplicação
86 / 102
Figura 39 – Segurança das plataformas da camada de gestão de dispositivos
Para conseguir cumprir o objetivo de utilizar esta camada como ponte entre os
dispositivos IoT e a plataforma de integração, foram utilizadas e testadas 3 plataformas
de gestão de dispositivos (Watson IoT, AEP Vodafone/Thinkdigital e Wavesys
LoraWan Server), onde foram realizadas as abordagens necessárias.
Considerando que um dos requisitos para esta solução seria o alojamento na cloud,
foram realizados diversos testes de disponibilidade, fiabilidade e desempenho.
Plataforma de Integração
87 / 102
Foram realizados testes de integração das diversas plataformas, nomeadamente no
que diz respeito à comunicação através dos protocolos da camada de aplicação MQTT,
CoAP e HTTP (REST).
Para testar se esta solução se encontra habilitada para desempenhar funções de backup
para um repositório de dados centralizado, foi desenvolvido de um fluxo que copia
todos os dados recolhidos pelos sensores LoRa, NB-IoT e 802.15.4, e os replica para as
diversas bases de dados criadas no IBM Cloudant.
Já na área de atuação, foram testados fluxos no Node-RED alojado na cloud para tratar
as ordens de atuação das plataformas IoT.
No Node-RED local, instalado nos Raspberry Pi, foram realizados testes para o
comando do Arduino utilizado para controlo das eletroválvulas.
A necessidade de instalação da versão local deveu-se ao facto de não ter sido possível
interagir com o Arduino na versão cloud do Node-RED, através da portas usb.
88 / 102
Plataformas de controlo e gestão IoT
Os testes realizados nas soluções escolhidas para esta camada foram centrados nas
funcionalidades, nomeadamente no desenvolvimento de feeds e dashboards, na
capacidade de comunicação com a camada de integração e na comunicação com os
atuadores instalados no terreno.
89 / 102
4.3 – Resultados dos testes de validação
Neste capítulo são apresentados os resultados dos testes efetuados aos componentes
envolvidos neste projeto, nomeadamente às plataformas utilizadas e aos protocolos de
comunicação das camadas físicas e de aplicação.
90 / 102
Resultado dos testes efetuados à camada física
Nesta tecnologia foram realizados testes com dois sensores NB-IoT de medição de
variáveis ambientais e duas controladoras de atuação.
No contacto com as empresas envolvidas neste projeto, ficou a ideia de que embora o
NB-IoT tenha surgido em 2017, ainda hoje a sua cobertura a nível nacional é muito
reduzida e a sua implementação no território nacional está abaixo das espectativas das
operadoras de telecomunicações.
91 / 102
enterrar os dispositivos, reduzindo assim a probabilidade de furto e de atos de
vandalismo.
Nos testes realizados não foi possível aceder ao firmware dos dispositivos, uma vez
que se trataram de equipamentos proprietários da Vodafone. O firmware destes
dispositivos já vem instalado de fábrica, consistindo os trabalhos da parte dos clientes
apenas na instalação física dos mesmos no terreno.
Ainda não foi possível testar a capacidade da bateria, mas de acordo com as
especificações disponibilizadas pelo fabricante será muito semelhante à dos
dispositivos LoRa.
Face aos testes efetuados, tirando a facilidade com que se adicionam novos
dispositivos aos projetos, não se encontram vantagens em termos de funcionalidades,
concluindo-se que o recurso a esta tecnologia faz mais sentido nos locais onde seja
difícil instalar infraestruturas de comunicação sem fios, ou nas situações em que o
baixo número ou a dispersão de dispositivos não justifiquem o investimento em
antenas e gateways.
Por outro lado, sendo que o custo desta tecnologia tem a tendência de baixar nos
próximos anos, a curto prazo poderá vir a ser economicamente mais vantajosa do que
as outras tecnologias que obrigam a investimentos em infraestruturas.
Verificou-se que tanto os sensores como os atuadores vêm equipados com um router
NB-IoT, ao qual é atribuído um 1 IP público por parte da operadora de
telecomunicações fornecedora do serviço. Tal como os routers 3G/4G, estes
equipamentos necessitam de um cartão SIM semelhante ao de um telemóvel, e
autenticam-se através de um IMEI.
92 / 102
Confirmou-se que, em dispositivos Vodafone, a transmissão de dados estre
dispositivos Narrowband é efetuada, na camada de transporte, através do protocolo
UDP e que na camada de aplicação o protocolo de comunicação utilizado é COAP.
Verificou-se que os dispositivos LoRa utilizados tinham a capacidade para operar nas
bandas de frequências ISM dos 863MHz aos 870MHz.
93 / 102
Os testes efetuados durante o survey confirmaram que existe qualidade de sinal em
distancias até 5km e em zonas urbanas e de locais de baixa quota, como por exemplo
o vale da Roda Grande e da Roda Pequena, o sinal diminui de intensidade e chega até
a perder-se.
Nesta componente não foram testados alcances, uma vez que o gateway era um
equipamento de indoor mas deu para testar a fiabilidade das comunicações,
confirmando-se as melhores espetativas, uma vez que não foram registadas percas de
dados.
No que diz respeito aos testes com atuadores LoRa, nestes dois projetos ainda não foi
possível efetuar qualquer teste, tendo sido simulada esta componente do projeto.
Nesta tecnologia foram realizados testes com seis dispositivos Zolertia, 2 Raspberry
PI, 1 Arduino Uno, 1 Eletroválvula e 1 Relé.
Foi testado o protocolo de encaminhamento RPL sobre UDP e foi testado o envio dos
dados ambientais recolhidos através do nó border router com sucesso.
Também foi possível fazer chegar ao Raspeberry PI os dados recolhidos pelo border-
router, através de um túnel USB (tunslip6 script).
Neste último, através de uma rotina desenvolvida em Node.js foi possível ultrapassar
a dificuldade de estabelecer comunicação via protocolo MQTT (já através do protocolo
TCP/IPv4) para a plataforma de gestão de dispositivos (Watson IoT), e efetuar a
separação dos pacotes recebidos pelos respetivos MAC Address dos dispositivos.
94 / 102
Nos testes realizados foi analisada a cobertura dos dispositivos, verificando-se que o
alcance máximo é inferior a 50 metros.
Mesmo assim concluiu-se que a qualidade do sinal é aceitável, uma vez que se cumpre
as especificações do protocolo 802.15.4 (entre 10 e 100 metros).
Na componente de atuação, os testes efetuados vieram a confirmar que não foi possível
conectar a versão Node-RED Cloud aos vários Arduinos testados.
Em alternativa teve que ser instalada a versão local num Raspeberry Pi, permitindo
desta forma a realização da ligação.
95 / 102
Foi possível gerir dispositivos NB-IoT, LoRa e 802.15.4 (sensores ou atuadores) e foi
testada com sucesso a integração com todas as plataformas IoT adotadas no projeto.
Desta forma concluiu-se que a solução implementada se poderia considerar agnóstica,
uma vez que possui capacidade de aprovisionar todos os dispositivos e plataformas,
independentemente da sua tecnologia ou proprietário.
Os testes de segurança na comunicação via APIs MQTT, CoAP e HTTP (REST) foram
efetuados entre diversos dispositivos e foram validadas as funcionalidades de
atribuição do Tokens, de validação de MACs e de IPs, etc.
Plataforma de Integração
Os resultados dos testes efetuados nesta camada vieram comprovar que o Node-RED
possui os requisitos e funcionalidades entendidos como necessários, servindo para o
cumprimento dos objetivos definidos para esta camada do projeto.
Grande parte dos testes foram efetuados com sucesso à medida que ia sendo efetuado
o desenvolvimento da solução.
96 / 102
Foi validado o facto de se tratar de uma ferramenta de código aberto, não havendo
funcionalidades bloqueada por questões de licenciamento.
Com recurso a mais um fluxo de Node-RED, foi desenvolvido com sucesso um fluxo
que automaticamente recolhe as previsões meteorológicas do IPMA, através de
consultas realizadas à API disponibilizada e as guarda numa base de dados do
Cloudant.
Na área de atuação, os testes vieram mostrar que o Node-RED alojado na cloud não
consegue agir diretamente sobre equipamentos Arduino ligados por USB. Para
ultrapassar esta limitação foi necessário utilizar um Raspberry Pi com a instalação do
Node-RED local.
97 / 102
De acordo com os trabalhos e testes realizados a adoção do Node-RED como
plataforma principal da camada de integração foi um sucesso, uma vez que para além
de todas as capacidades de integração com dispositivos e plataformas, também
apresentou os recursos necessários para o desenvolvimento da programação e
desenvolvimento de algoritmos
Já a opinião que fica do IBM Cloudant, é que para plataforma de backups serve
perfeitamente, para armazenamento de dados também, mas fica a ideia que as
funcionalidades disponíveis são muito limitadas (eventualmente por se tratar da
versão gratuita de demonstração/testes).
De acordo com os testes realizados, esta ferramenta, no contexto deste trabalho, tem
como principal vantagem o facto de integrar diretamente com o Node-RED e com o
Watson IoT.
98 / 102
5 – CONCLUSÕES
De acordo com a investigação e com os testes realizados no âmbito protocolos IoT das
camadas física e de ligação, conclui-se que o LoRa e o NB-IoT competem no quadro
dos projetos IoT para redes de longo alcance e que o 802.15.4 compete na área das redes
de curta distância. Enquanto o LoRa e o 802.15.4 têm o seu lugar consolidado no
mercado IoT, o NB-IoT ainda está em fase de expansão e consolidação.
O NB-IoT apresenta uma elevada cobertura e capacidade de penetração. O custo dos
dispositivos é elevado, mas como não necessita de investimento em equipamentos
gateway, em projetos com poucos dispositivos ou muito dispersos no terreno, acaba
por se tornar a opção mais vantajosa. O facto de as operadoras possuírem
infraestruturas de comunicações compatíveis com NB-IoT é um fator de vantagem face
às restantes tecnologias IoT. Encontra-se mais direcionado para projetos
implementados em áreas de maior dimensão, que exijam um QoS mais elevado e
necessitem de uma mais baixa latência
O LoRa apresenta dispositivos com baixo consumo energético e baixo custo. A
necessidade de instalação de infraestruturas de comunicação (gateways) e a baixa
largura de banda são alguns dos obstáculos encontradas na utilização deste protocolo.
Separada em duas camadas, uma camada física da rede, que utiliza a técnica de
modulação de rádio Chirp Spread Spectrum (CSS) e na camada lógica, que define a
arquitetura e os parâmetros da comunicação (LoRaWAN - protocolo da camada
MAC). Concentra-se principalmente em projetos de longa duração e com maior
densidade e quantidade de dispositivos face à área de implantação
O 802.15.4 (6LowPAN) especifica a camada física e a camada de ligação (MAC) e foi
desenvolvido para sistemas de comunicações de baixo custo em redes de curta
distância, apresentando baixas necessidades de infraestruturas e baixo consumo de
energia. Para ultrapassar o baixo alcance desta tecnologia, permite a implementação
de redes de tipologia mesh, reduzindo o número de gateways. Enquadra-se
principalmente em projetos de pequenas áreas e dimensão.
99 / 102
De acordo com o estudo e com os trabalhos realizados no âmbito das camadas
aplicacionais, conclui-se que é viável centralizar a gestão de diversos projetos IoT
através de uma única plataforma de integração. Através do Node-RED, que possui os
requisitos técnicos e as funcionalidades necessárias para desenvolvimento da camada
de integração, tanto ao nível da integração com plataformas IoT (ex. IBM Watson IoT,
AEP Vodafone/Thinkdigital, IBM Cloudant, etc.), como ao nível da integração com
dispositivos de hardware (ex. Arduino), é possível utilizar diversas soluções, de
diversos fornecedores e tecnologias, integradas e a comunicar entre si via API.
Como trabalho futuro no âmbito deste projeto, serão realizados testes durante os
próximos 12 meses e será desenvolvido um dashboard de gestão e controlo de sistemas
de rega. Paralelamente, com a infraestrutura tecnológica à disposição no concelho de
Tomar, será possível avançar com a expansão desta solução de rega inteligente para os
restantes espaços verdes do concelho, e eventualmente para outras áreas de atuação
no âmbito de atuação dos Municípios.
100 / 102
REFERÊNCIAS – ver ordem
[1] The Internet of Things: A survey. (2010, outubro). Comput. Netw. pp. 2787-2805.
[2] Smart cities of the future (2012). Batty M, Axhausen KW, Giannotti F,
Pozdnoukhov A, Bazzani A, Y.
[3] The Top 30 Emerging Technologies 2018–2028 (Abril 30, 2018) Sean Moffitt.
[4] The Internet in IoT-OSI, TCP/IP, IPv4, IPv6 and Internet Routing. (2017).
[5] Narrowband-IoT: A Survey on Downlink and Uplink Perspectives, Luca Feltrin,
Galini Tsoukaneri, Massimo Condoluci, Member, Chiara Buratti, Toktam Mahmoodi,
Mischa Dohler, Fellow, and Roberto Verdone
[6] Random Access Preamble Design and Detection for 3GPP Narrowband IoT
Systems, 2016, Xingqin Lin, Ansuman Adhikary, and Y.-P. Eric Wang
[7] LoRaWAN Specification V1.0. LoRa Alliance, 2015. (August 2016).
[8] LoRa technology - MAC layer operations and Research issues. Chékra El Fehria,,
Mohamed Kassabb,, Slim Abdellatifc, Pascal Berthouc, Abdelfettah Belghithd. (2018)
[9] Long-Range Communications in Unlicensed Bands: The Rising Stars in the IoT
and Smart City Scenarios Marco Centenaro, Lorenzo Vangelista, Andrea Zanella, and
Michele Zorzi (outubro 2016)
[10] LoRa - A Survey of Recent Research Trends, M. Saari*, A. Muzaffar bin
Baharudin **, P. Sillberg*, S. Hyrynsalmi* and W. Yan** (maio 2018)
[11] A Study of LoRa: Long Range & Low Power, Networks for the Internet of Things
Aloÿs Augustin1, Jiazi Yi 1, Thomas Clausen 1 and William Mark Townsley 2
LORA vs NB
[12] A survey on LPWA technology: LoRa and NB-IoT, (21 março 2017), Rashmi
Sharan Sinha, Yiqiao Wei, Seung-Hoon Hwang (setembro 2016)
[13] Toby Jaffey, Eclipse Foundation Newsletter, 2014, MQTT and CoAP, IoT
Protocols
[14] Alexandra Bowen, (setembro 2018), IoTZone, IoT Is Eating the World: APIs and
REST
[15] Michael Yuan, (outubro 2017, Conhecendo o MQTT)
[16] Vitor Vidal, (nov. 2017), Desenvolvimento de Software, Internet of Things (IoT)
[17] A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets,
(June 14, 2017), Antonio Almeida and Jaime González-Arintero
[18] Postscapes (maio de 2019, IoT Standards and Protocols)
[19] E. Ferreira, Rubem. (jan. 2013) Linux:guia do adminitrador do sistema.
101 / 102
[20] Kais Mekkia, Eddy Bajica, Frederic Chaxela, Fernand Meyer, (Dec. 2017), A
comparative study of LPWAN technologies for large-scale IoT deployment
[21] Vaishali Maru (February 13, 2019), 10 Best Opinions about IoT based Smart Cities
[22] Standardization of NB-IOT completed. 3gpp.org. 3GPP. June 22, 2016. p. 1.
Retrieved August 19, 2016.
[23] NB-IoT - The choice of Frequency, Deployment Mode and Coverage
March 22, 2017 | By Junaid Afzal @ SIGFOX
[24] EW Staff (30th August 2018), IoT smart cities: the long-range forecast for wireless
connectivity
[25] osoyoo, (jul 20018), What is LoRa Radio Network?
[26] Pablo Melo, (May 2017), Padrão IEEE 802.15.4 - A base para as especificações
Zigbee, WirelessHart e MiWi
[27] Thanh-Dien Tran · Ricardo Silva · David Nunes · Jorge Sa Silva, (2011)
Characteristics of Channels of IEEE 802.15.4 Compliant Sensor Networks
[28] Alfadoni Prisantama, Widyawan, and I. Wayan Mustika, (july 2016), Tunneling
6LoWPAN protocol stack in IPv6 network
[29] Microchip Technology, Inc. (2019), Wi-Fi and Ethernet, TCP/IP Protocol Suite,
TCP vs. UDP
[30] Leor Brenman, (March 2018), API Builder and MQTT for IoT – Part 1
102 / 102