Este artigo foi actualizado a 5 de Março, 2017, para incluir os resultados do EDP IoT Hackathon.

Vivemos na era da inovação no setor de energia. A energia renovável tem vindo a crescer significativamente na última década e a EDP, o líder na produção e distribuição de energia em Portugal, tem sido um líder desta revolução da energia limpa. A integração das tecnologias de informação e comunicação com a rede de distribuição secular, resultando num complexa infrastrutura usualmente denominada como smart grid, tem sido a chave para permitir a crescente penetração de energia renovável e maximizar o potencial de eficiência energética.

O desafio

A EDP decidiu desafiar as startups a encontrarem uma solução pouco onerosa para monitorização energética residencial destinada ao cliente final, fácil de instalar e utilizar. Esta solução deve permitir um cliente final recolher dados sobre o consumo energético e explorar formas de utilizar a informação recolhida. Visa-se explorar novos modelos de negócio que podem incluir abordagens open source até produtos comercializáveis, explorando a integração com a indústria de domótica.

A melhor abordagem para um desafio desta natureza seria através de um hackathon.

Perfil do cliente

Logotipo EDP

EDP – Energias de Portugal, S.A. é uma empresa de serviços integrados verticalmente, é a maior geradora, distribuidora e fornecedora de electricidade em Portugal e tem operações significativas em electricidade e gás em Espanha. A EDP é a terceira maior empresa de produção de electricidade e uma das maiores distribuidoras de gás da Península Ibérica.

A EDP tem presença relevante no panorama energético mundial, estando presente em 14 países, com mais de 10 milhões de clientes de eletricidade e 1,4 milhão de pontos de fornecimento de gás e mais de 12 mil funcionários em todo o mundo. A 31 de dezembro de 2015, a EDP tinha uma capacidade instalada de 24,4GW, gerando 63,7TWh, sendo 72% provenientes de usinas eólicas e hídricas.

Em 2015, seguindo o desempenho nas dimensões económica, social e ambiental, a EDP integrou índices de sustentabilidade (DJSI World e Europa).

Vivemos na era da inovação no setor de energia. A energia renovável tem vindo a crescer significativamente na última década e a EDP tem sido um líder desta revolução da energia limpa. A integração das tecnologias de informação e comunicação com a rede de distribuição secular tem sido a chave para permitir a crescente penetração de energia renovável e maximizar o potencial de eficiência energética. A geração solar nos agregados familiares, combinada crescentemente com o armazenamento estático, e a gerência integrada das cargas de dispositivos elétricos é o futuro do retalho energético. Os carros elétricos estão em crescimento exponencial e serão a referência na mobilidade, moldando a relação entre clientes de energia e recursos. Um novo mundo energético emerge, onde o conforto do serviço, a mobilidade, a sustentabilidade e a economia serão impulsionados por uma abordagem multitech apoiada em IoT emergente, machine learning e tecnologias Big Data. A EDP é forte crente na inovação aberta. A EDP trabalha com universidades, instituições científicas, startups, fornecedores da cadeias de valor e muitas outras fontes de inovação. A EDP colabora com empresários, grandes business angels corporativos, fundos de capital de risco e outros investidores. Eles disponibilizam um conjunto de ferramentas que incluem financiamento, suporte de gestão e uma base de teste orientada a negócios com presença internacional. A EDP está empenhada em estar na vanguarda da inovação energética.

EDP Starter

EDP Starter é o ecossistema de empreendedorismo da EDP. Corresponde ao programa para apoiar projetos na indústria de energia, do estágio da idéia ao investimento de capital de risco.

Um conceito de incubação inovador para startups no setor de energia. Muito mais do que um espaço físico, a EDP Starter é um potenciador de rede de contactos, dentro e fora do Grupo EDP, e um disseminador de conhecimento, permitindo que as empresas iniciantes se preparem melhor para o crescimento nos mercados doméstico e internacional. A rede de parceiros é um catalisador para o sucesso, orientando as startups ao longo das diferentes etapas da sua jornada. Portanto, a EDP Starter já avaliou 500 projetos, ajudaram 25 startups e criaram 250 empregos.

Narrow Net

Logotipo Narrow Net

Portugal foi sempre um País pioneiro nos Descobrimentos, geográficos e tecnológicos. É bem sabido que “demos novos mundos ao Mundo” e, nos exemplos tecnológicos, podemos realçar, como exemplo, o pioneirismo, e rápida adoção pelos Portugueses, nos casos da Via Verde©, massificação das caixas Multibanco© ou penetração de telemóveis. Todas estas descobertas e adoções foram orientadas no sentido de melhorar a qualidade de vida das pessoas.

A Narrow Net, seguindo esta filosofia, definiu a sua Missão como empresa, ou seja, que mais uma vez, Portugal lidere um dos desafios mais atraentes do Sec. XXI: permitir que os objetos falem entre si, para melhorar a qualidade de vida das pessoas, com custos insignificantes.

Para isso põe à disposição de todos a tecnologia de comunicação Ultra Narrow Band (UNB), exclusivamente desenhada para a Internet das Coisas, e com grandes possibilidades de poder vir a converter-se num standard da comunicação entre os objetos no futuro. Mas, acima de tudo, esta tecnologia, com custos insignificantes, permite o acesso a toda a população de serviços até agora inacessíveis a todos, convertendo-o num grande benefício social.

A Narrow Net S.A., é uma empresa portuguesa que detém os direitos exclusivos da aplicação desta tecnologia (patenteada pela SIGFOX) para Portugal, com o intuito de desenvolver uma rede de comunicação especifica no nosso país, e simultaneamente desenvolver o ecossistema.

Ecossistema de Startups

Apesar da sua história relativamente recente, foram identificados em Portugal 40 scaleups (startups com financiamento de mais de > $1M desde a fundação e pelo menos uma ronda de investimento nos últimos 5 anos). Foram acumuladas mais de $166M de capital de risco desde o início, com uma média de $4,2M cada. 24 outras empresas foram capazes de garantir financiamento na faixa de $0,5-$1M.

Hoje, o ecossistema de Startups está numa posição muito diferente da que era há alguns anos. Após a loucura inicial, startups, empresários e os diferentes intervenientes tornaram-se mais maduros. Agora, startups como Uniplaces, Feedzai, Unbabel, Talkdesk, Veniam e Seedrs estão liderando o caminho. Empresários como Miguel Amaro, Cristina Fonseca, Nuno Sebastião, João Barros, Vasco Pedro e Carlos Silva lideram a comunidade e inspiram uma nova geração de empresários a construir empresas com mentalidade internacional. Hoje, empresas internacionais de VC, como Index Ventures, Balderton ou Accel Partners olham para Portugal como uma boa fonte de startups com verdadeiro potencial.

Portugal está a crescer a partir da crise financeira dos finais de 2000 e emergir rapidamente no mapa de startups europeu, com uma comunidade empresarial muito vibrante capaz de produzir resultados tangíveis, apesar da sua história relativamente jovem. Embora ainda não possa ser comparado com os principais países como o Reino Unido, a Alemanha ou França, Portugal partilha muitas das mesmas semelhanças - e uma diferença menor - com a Espanha e, em particular, com a Itália.

Domótica e medidores inteligentes

Os sistemas de medição inteligente medem o consumo de eletricidade e são implementados para substituir os métodos manuais de coleta de informações sobre o uso de energia. Ao permitir acompanhar o consumo, os medidores inteligentes são uma ferramenta útil para entender onde o uso de energia pode ser cortado e onde é necessário implementar medidas de optimização de consumo. Da mesma forma, pode-se comunicar com os sistemas de automação residencial para ajudar a controlar o uso de energia, particularmente nos momentos em que os custos estão no auge.

Solução

A preparação de um hackthon público, desta natureza, requer no entanto, um trabalho que envolve competencias técnicas de hardware e software. A EDP cedo optou por dimensionar o hackathon para um máximo de 20 equipas de 3 elementos. As candidaturas dos participantes será avaliado pela Microsoft e EDP.

Cedo entendeu-se que o desafio principal seria o desenvolvimento de hardware que permitisse a equipas com menos skills em Hardware competir de forma justa. Desejava-se que equipas fortes no desenvolvimento de software tivessem a oportunidade de aplicar os seus conhecimentos, sem ter obrigatoriamente de desenvolver o hardware. Do mesmo modo, não era desejável que equipas com experiencia em hardware - os makers - não fossem recompensados apropriadamente.

Entregas

  • Algoritmo de compressão SIGFOX – Comprime mensagem de 16b para um volume menor que 12b.
  • SIGFOX Callback, IoT Hub, Azure Stream Analytics, Power BI, Logic Apps, Notification Hub Setup – Para processar mensagens SIGFOX, processar, visualizar e notificar.
  • EDP IoT Box – Shield de Arduino customizado, Caixa customizada impressa em 3D
  • edpComm Library – Biblioteca C++ para a comunicação da EDP IoT Box
  • Azure Ramp Up Material – Documentação, tutoriais e exemplos de código;
  • Arduino Ramp Up Material – Documentação, tutoriais e exemplos de código;
  • EDP Hackathon Website – Pode visitar o site em http://edpiothackathon.edp.pt.

EDP IoT Hackathon Logo

Autores:

  • João Almeida – Senior Technical Evangelist, Microsoft Portugal
  • Luis Calado – Principal Technical Evangelist, Microsoft Portugal
  • Jon Gallant – Principal Software Developer, Microsoft Corp.
  • Francisco Maria Santos – Software Developer, EDP
  • Diogo Ribeiro – Electrical Engineer, EDP
  • João Sabido – Entrepreneurship & Business Incubation, EDP Starter
  • António Baptista – Entrepreneurship & Business Incubation, EDP Starter

Quadro de trabalho da equipa e Francisco Santos

Preparação do Hackathon

Um dos grandes objectivos ficou definido como a criação adequada de documentação para o Hackathon publico. Foi classificada a possível audiencia do Hackathon e como resultado foram identificadas três personas distintas: Iniciante, Intermédio e Avançado. O objectivo seria criar documentação apropriada a a cada persona.

  • Iniciante: Haverão equipas com menos experiencia nas componentes de Hardware e/ou software. Poderão ser startups dedicadas ao desenvolvimento de hardware e que terão mais facilidade em deduzir como extrair dados do leitor inteligente da EDP (EDP Box); De igual forma, os candidatos poderão ter fortes skills apenas no desenvolvimento de software, nomeadamente nas áreas de visualização de dados ou mesmo Cloud.

  • Intermédio: As equipas candidatas também terão elementos com conhecimento intermédios nas áreas de Hardware e/ou Software. O objetivo será de providenciar documentação adequada aos conhecimentos para que sejam o mais produtivos possívels. A aprendizagem é um objectivo claro e devem ser criadas as condições ideais para tal acontecer. Desta forma os resultados serão mais valiosos. Para este tipo de candidatos, pretende-se que facilmente apliquem os seus conhecimentos, evoluam e sejam bem sucedidos a criar valor acrescentado.

  • Avançado: É objetivo da EDP ter aplicações de startups com experiencia comprovada nas áreas de Hardware e/ou Software. Para que o hackathon lhes seja uma experiencia valiosa, será necessário ter desafios e documentação adequada. Estes candidatos quererão por em pratica os seus conhecimentos e investigar abordagens inovadoras enquadrado no desafio colocado. Deseja-se que estes candidatos tenham a orientação certa para surpreender os jurados.

Foi decidido disponibilizar documentação apropriada a cada uma das personas, segmentando a documentação por Software e Hardware.

Do ponto de vista técnico, o desafio seria permitir uma experiencia de desenvolvimento de Hardware, aos candidatos, que não fosse excessivamente exigente. Tendo em conta que poderão haver participantes com poucos conhecimentos de Hardware, seria importante poder dar uma solução testada e garantida - Seria desejável que estas startups possam querer investir mais na área de softwre onde têm skills.

O maior desafio técnico na elaboração da EDP IoT Box, foi a integração com SIGFOX. A comunicação SIGFOX, como protocolo wireless de baixo consumo energético, define um limite de 12 Bytes para o tamanho das mensagens e um máximo de 140 mensagens na Europa (ETSI 300-220).

A informação que se pretende retirar da EDP Box, no entanto, tem uma dimensão maior, logo seria necessário definir uma estrutura de dados acomodadas às necessidades e/ou apostar num mecanismo de compressão.

Arquitectura Técnica

A arquitectura técnica foi definida previamente após um trabalho de pesquisa feito pelas equipas de engenharia da EDP. Um dos pontos relevantes seria a comunicação via SIGFOX que envolveu a colaboração da empresa Narrow Net, responsável pela disponibilização de SIGFOX em Portugal.

Esta arquitectura corresponderá á proposta da organização, do hackathon, para o hardware. Desta forma as equipas com mais dificuldades em desenvolver o hardware, conseguirão seguir as indicações com base nos diagramas e instruções que serão disponibilizadas.

Neste projecto, o maior objetivo seria definir, testar e documentar esta composição, a que foi dado o nome de EDP IoT Box:

Akery 3.3 beta

EDP Box - Smart Meter

Component Provider Details Description
Placa de desenvolvimento IoT SnootLab Akeru beta 3.3 Esta nova versão do Akeru oferece um melhor acesso às funcionalidades avançadas do modem com um baixo consumo de energia. Permite prototipagem rápida com as tecnologias SIGFOX e Arduino/Genuino. Com aplicação no desenvolvimento de dispositivos para leitura de medidore da água/eletricidade, contagens de execução ou aviso da poluição. A comunicação via tecnologia IoT SIGFOX é feita mediante o envio de dados para uma porta serie através do Arduino.
EDP Box EDP (Janz C380 Prime) Energy Counter Monofásico, gama de corrente10-80A, tensão de referência 220/230V, energia activa e reactiva, soluções AMM e para Smart Grids, 32 tarifas (capaz de operar em 2 tarifas em simultâneo). Capacidade de Comunicação GSM, GPRS, PSTN, Ethernet e PLC.

A EDP IoT Box sofreu várias interações até ao formato final. Foram utilizados vários componentes:

Diagram EDP IoT Box

Fase de prototiapagem da EDP IoT Box

Circuito integrado

Phase Component Details Description
Prototipagem Bread board ABS Prototyping Board Foi utilizada um bread board na fase de prototipagem para testar a conectividade entre a EDP Box (porta Han) e a placa da Akeru. Placas semelhantes a este encontram-se em qualquer fornecedor de electrónica.
Prototipagem Fritzing (software) Fritzing Fritzing é uma aplicação open source que torna a eletrónica acessível. Ferramenta de software que permite definir diagramas de eletrónica e fortemente suportado pela comunidade. Promove um ecossistema criativo que permite aos utilizadores documentar seus protótipos, compartilhá-los, ensinar eletrónica e fabricar PCBs profissionais.
Prototipagem MAX485CPA+ IC MAX485CPA+ O MAX485 é transceptor de baixa potência para comunicação RS-485. Cada parte contém um driver e um receptor. Possui drivers de taxa reduzida reduzindo o EMI e reflexos causados por cabos mal terminados, permitindo transmissão de dados sem erros até 250kbps.
Caixa exterior Placa de prototipagem 54T9823 A placa de prototipage (PCB) foi utiliza para criar um circuito integrado (IC) como uma peça única. A placa utilizada foi comprada localmente. A grande preocupação seria a de criar um circuito integrado que tivesse dimensões menores que a placa Akeru, de forma a caber dentro de uma caixa exterior única.
Caixa exterior Caixa impressa em 3D Fusion 360 Model Uma vez terminado circuito integrado, em conjunto com a placa Akeru, foi possível desenhar um modelo 3D para a caixa exterior, acrescentando o logotipo da EDP. Ficava terminada a EDP IoT Box. Foi utilizado o Fusion 360, da Autodesk, para a criação do modelo 3D. A impressão ficou a cargo da equipa da EDP Labelec e foi feita no FabLab.

Edp IoT Box com caixa impressa em 3D

EDP Box e EDP IoT Box com caixa impressa em 3D

A placa Akeru

A placa AKeru manipula-se como um Arduino Uno, podendo inclusivé utilizar as ferramentas de desenvolvimento de Arduino.

O desenvolvimento no Akeru é igualmente feito na linguagem de Arduino, que é um sub conjunto de C/C++, com algumas funções especificas para o hardware. São gerados sketchs e passado directamente para um compilador de C/C++ (avr-g++).

Este desenvolvimento consistiu na implementação do protocolo Modbus, utilizado para comunicar através da porta HAN na EDP Box. Recorreu-se ao projeto open source Modbus-Master-Slave-for-Arduino para garantir a comunicação ModBus.

Para implementar a comunicação de SIFOX, a SnootLab disponibiliza uma Biblioteca Akeru, onde são disponibilizados funções para inicialização da comunicação e envio de dados.

O principal desafio, foi o algoritmo de compressão de dados para envio via SIGFOX. Com base na informação recolhida via Modbus da EDPBox, foram identificados os dados relevantes e analisados:

  Ano Mês Dia Offset Clock Status AMR Profile Status Payload
Exemplo 16 09 26 xx xx xx xx
Dimensão 1B 1B 1B 1B 1B 1B 4B

Notes:

  • Assumindo uma implementação até ao ano 2099. Permite apenas ano com dois caracteres.(1Byte);
  • Offset deve ser considerado como a contagem de intervalos de 15 minutos desde as 00h00.
  • Um total de 96 intervalos por dia.

Com este algoritmo foi possível baixar a dimensão das mensagens a um valor inferior a 12 Bytes - o limite em SIGFOX.

Seguem alguns snippets de código que fazem parte da biblioteca EDPcomm, que reuniu toda esta implementação:

// Initialize Libs
Akeru akeru(RX, TX);
Modbus master(0); //0 for master and [1,247] for slave
modbus_t telegram; //structure for query slave
SoftwareSerial mySerial(10, 11); //Create a SoftwareSerial on pins 10&11
EDPComm edpComm(&mySerial, &akeru); //start EDPComm lib

O envio de dados através de SIGFOX, foi trivial, utilizado a biblioteca fornecida pela SnootLab:

void EDPComm::sendToSigfox(const String payload)
{
	bool send = akeru->sendPayload(payload);
	if(send)
	{
		Serial.println("Message sent to Sigfox.");
	}
	else
	{
		Serial.println("Message could not be sent to Sigfox.");
	}
    resetSerial(BAUD_RATE);
}

Fazer a leitura de dados da EDP Box, exigia ler as estruturas de dados de acordo com a implementação Modbus e as especificidades da EDP Box:

int EDPComm::getLoadProfileData(uint16_t dataArray[16]){
	/*this function returns the last load profile data considering the default load profile structure with a variable size of 4 bytes
	*/
	 int profileValue_1half= (((dataArray[6]<<8)&0xFF00) | ((dataArray[7]>>8)&0xFF))*0x10000; 
     int profileValue_2half= ((dataArray[7]<<8)&0xFF00) | ((dataArray[8]>>8)&0xFF);
	 int totalValue = profileValue_1half+profileValue_2half;
	 
	return totalValue;         
}

Arquitectura da plataforma cloud

Para permitir o envio das leituras da EDP Box para uma plataforma cloud, como o Microsoft Azure, seria necessário definir um arquitectura para o backend cloud. Os principais objetivos identificados foram:

  • Integrar as mensagens enviadas via SIGFOX para a plataforma Microsoft Azure;
  • Persistir os dados recebidos na plataforma cloud e garantir a sua veracidade. Os dados persistidos deveriam ter a capacidade de serem processados e reutilizados para diferentes tipos de análise. Idealmente deveria ser possível utilizar qualquer solução de dados para processar os dados;
  • Implementar uma arquitectura que permitisse visualizar as leituras em near-real time, utilizado os serviços de Microsoft Azure;
  • Testar e investigar cenários de detecção de anomalias na leitura.

Cloud Arquitecture

Para tal foi seguida uma implementação de acordo com a Azure IoT Reference Architecture. A ingestão de dados, foi o principal ponto na qual foi identificado o Azure IoT Hub, como peça fundamental. No entanto iniciámos pelo protocolo de comunicação.

SIGFOX

SIGFOX é uma empresa francesa que constrói redes sem fio para conectar objetos de baixa energia, como medidores de energia elétrica, smartwatches e máquinas de lavar, que precisam estar continuamente ligados e emitindo pequenas quantidades de dados. SIGFOX foi fundada em 2009 fornecendo conectividade celular global para cenários de Internet of Things (IoT). Sua infra-estrutura é independente das redes existentes, como as redes de telecomunicações.

A SIGFOX implementa as chamadas Low-Power Wide Area Networks (LPWAN) que integram com hardware que os fabricantes podem adicionar aos seus produtos. Em termos de compatibilidade, a rede adopta uma abordagem semelhante às redes GSM tradicionais. Qualquer dispositivo com hardware SIGFOX integrado poderá ter conectividade à Internet - em regiões com cobertura da rede SIGFOX - sem qualquer hardware externo, como um router Wi-Fi ou Zigbee. Todavia, a rede SIGFOX é totalmente diferente das redes GSM tradicionais, na medida em que só pode transmitir pequenas quantidades de dados.

O principal factor que levou à opção de SIGFOX, está relacionado com o baixo consumo energético e a fiabilidade da comunicação. Em seguida deixamos um resumo da tecnologia:

SIGFOX Radio Technology  
Propósito Especialmente concebida para M2M/IoT.
Identidade Cada dispositivo tem um identificador únivoco (não um IP);
Ultra Narrow Band - Energeticamente eficiente; - Resistente a jamming;
Espectro - Livre utilização ISM (ETSI 300-220); - Estações base necessitam ser certificadas.
Frequência 828 MHz (Europa); 902 MHz (EUA);
Curta Distância e Protocolos Comunicação bidirectional com perdas em 162 dB;
Conteúdo Mensagens de 12 bytes com um máximo de 140 messagens por dia na Europa (ETSI 300-220).

Neste projeto seria necessário fazer chegar as mensagens com as leituras de consumo da da EDP BOX à plataforma cloud. A SIGFOX disponibiliza formas de integrar com sistemas aplicacionais - foram utilizadas as custom callbacks. O SIGFOX permite recuperar as mensagens enviadas a partir dos dispositivos através de callbacks. É possível configurar callbacks para que em eventos específicos, as mensagens sejam enviadas para um nosso serviço/aplicação/servidor. Por exemplo, o dispositivo pode enviar uma mensagem SIGFOX, a partir de extimulo especifico; Poderá ser notioficado quando esse evento ocorreu. A SIGFOX permite pre-configurar a retransmissão das mensagens para os principais fornecedores cloud, entre os quais Microsoft Azure.

Creating a new SIGFOX custom callback

Estando o dispositivo (capacitado de SIGFOX) registado e capaz de enviar mensagens, seremos capazes de criar uma custom callback a partir da página de serviço da SIGFOX. No caso da EDP, a configuração foi bastante simples, uma vez que apenas foi necessário configurar os seguintes items:

  • Configuração do formato da mensagem: Este campo permite especificar como você gostaria que o SIGFOX decodificasse a carga útil de seu dispositivo. Você pode, por exemplo, desejar descodificar um byte de entrada como um inteiro sem sinal. A configuração neste caso foi:
year::uint:16:little-endian month::uint:16:little-endian day::uint:16:little-endian offset::uint:16:little-endian amr::uint:16:little-endian payload::uint:16:little-endian
  • A configuração de acesso ao Azure IoT Hub (ver em baixo). Em vaixo é possivel avaliar a estrutura da connection string que identifica qual a instância de IoT HUb, fornecendo também as respectivas configurações de segurança.
HostName=xxx.azure-devices.net;SharedAccessKeyName=xxxx;SharedAccessKey=xxxxxxxxxxxxxxxxxxxxxxxxxx
  • Definir a estrutura da mensagem num formato JSON: Este é o conteúdo principal da sua mensagem. É possível especificar qualquer formato, desde que dentro do limite máximo. É ainda possível recorrer a variáveis disponiveis para qualquer mensagem. Neste caso o formato da mensagem teve a seguinte estrutura:
{
"deviceId" : "{device}",
"year" : "{customData#year}",
"month" : "{customData#month}",
"day" : "{customData#day}",
"offset" : "{customData#offset}",
"amr" : "{customData#amr}",
"payload" : "{customData#payload}"
} 

SIGFOX custom callback

Desta forma conseguimos integrar os dispositivo através de comunicação SIGFOX com a plataforma de backend cloud base utilizando o Windows Azure. O seviço de Azure que utilizamos para receber todas as mensagens é o IoT Hub que descrecemos em seguida:

IoT Hub

A implementação do cloud backend tem como peça principal o Azure IoT Hub, um serviço cloud que permite o upload de dados de forma segura e capacitado de receber elevados volumes de dados. Na implementação do backend da EDP, seria interessante garantir que os dados pudessem ser persistidos e processados com multiplos propósitos.

Neste caso em particular, apesar de estar a utilizar um dispositivo baseado em Arduino (Akeru), não foi necessário recorrer a um dos Azure IoT SDK disponiveis para comunicar com o IoT Hub. Esta comunicação é garantida através das custom callbacks da plataforma SIGFOX.

Um dos pontos analisados, foi a possibilidade de tratar os dados de input de IoT Hub. O cenário foi idealizado, tendo em conta a necessidade de compressão das mensagens. Actualmente o IoT Hub não fornece capacidade de processar as mensagens chegadas, ou seja descomprimir mensagens. No entanto foi um cenário que chegou à equipa de produto e será analisada.

Stream Analytics

Foi utilizado o Azure Stream Analytics integrado com o IoT Hub, para processar os dados em real time, de acordo com as várias necessidades de processamento. Na realidade o Stream Analytics corresponde a um serviço que disponibiliza um sistema complex event processing (CEP).

Configuração para Azure Stream Analytics

  • Foi definida uma query, que enviará os dados para o PowerBI (ver em baixo), efectuando algumas transformações dados. O motivo prende-se com o algoritmo de compressão que foi criado dadas as limitações de SIGFOX. Desta forma conseguimos recuperar a totalidade dos dados. O Stream Analytics é na realidade responsável pela descompressão dos dados, provenientes das EDP Box.

  • Simultaneamente, outra query define como output o Service Bus. Este cenário inicia implementação de deteção de anomalias no consumo energético.

Visualização de dados com Power BI

Com o objectivo de demonstrar a visualização de dados em near real time, uma das opções imediatas foi o Power BI. Corresponde a um conjunto de ferramentas de análise de dados e uma forte componente visual. Encontra-se munido com painéis de controle avançados e é multi plataforma, significando que pode ser consumido através da Web ou qualquer dispositivo móvel. A criação de um painel de controle é bastante simples, pois o acesso aos dados é bastante ágil. É possível combinar bases de dados, dados de web services ou mesmo modelos de Analysis Services.~

Estando a receber as mensagens via SIGFOX, temos disponivel no Stream Analytics (ASA) a integração directa com Power BI. É possível definir o PowerBI como output do ASA. Nota para a necessidade de autorizar o Stream Analytics para aceder à subscrição de Power BI. Um vez enviados dados, e processados pelo ASA, estes são disponibilizados no Power BI através de um dataset. A partir deste ponto será possível criar relatórios e dashboards. Com a EDP foi customizado uma página que apresenta dados provenientes de um despositivo real e um emulador.

Visualização de dados com o Power BI

Para mais informação consultar um excelente tutorial disponivel no artigo A real-time analytics dashboard for streaming data.

Anomalias no consumo energético

O objetivo seria simular a detecção de anomalias no consumo energético, recolhido a partir da EDP Box. Depois de configuração do Stream Analytics, serão enviadas mensagens acima de um determinado valor. Este fluxo de dados é iniciado apenas para mensagens que indiquem valores acima do predefinido. As mensagens são enviadas para Service Bus Topics permitindo a comunicação de um para muitos seguindo um padrão de publish/subscribe. Visto que num cenário real, seriam envolvidos multiplos utilizadores, a utilização de Topics seria a mais adequada. Cada mensagem publicada é disponibilizada para cada assinatura registrada com o tópico. As mensagens são enviadas para um tópico e são entregues a uma ou mais assinaturas associadas. As mensagens não são recebidas diretamente do tópico. Em vez disso, eles são recebidos nas assinaturas. Uma assinatura de tópico é semelhante a uma fila virtual que recebe cópias das mensagens que são enviadas para o tópico. As mensagens são recebidas de uma assinatura de forma idêntica à forma como são recebidas de uma fila.

Neste cenário, foi criada um tópico chamado energy tal como é demonstrado na figura seguinte.

Configuração da Service Bus

O consumidor das mensagens neste tópico foram asseguradas pelo serviço de Logic Apps. Este serviço fornece uma maneira simples de implementar integrações de forma escalável. Fornece um designer visual para modelar e automatizar qualquer processo como uma série de etapas conhecidas como um fluxo. Existe uma panóplica de conectores que garantem a integração com outros serviços e protocolos. No cenário de detecção de anomalias a Logic App é responsável por detectar mensagens no Service Bus Topic e reenvia-la para um Notification Hub.

Configuração da Logic App

O objectivo final seria notificar os utilizadores através de uma aplicação móvel, pelo que a utilização da Notification Hub iria garantir que as notificações fossem entregues em qualquer tipo de plataforma : Windows, iOS ou Android. A maior vantagem do serviço Notification Hubs é que permite abstrair os detalhes das diferentes platform notification systems (PNS) com uma única API e com flexibilidade nos destinatários (um ou milhões de utilizadores).

Configuração da Notification Hub

Com esta implementação foi atingido o objectivo de detectar alterações nos padrões de consumo energético, e notificar o utilizador. Os cenários de aplicabilidade são vastos, e certamente haverão surpresas no EDP IoT Hackathon.

Segurança

Estando em fase de preparação do Hackathon, a segurança não foi tema abordado em fase de implementação. O hackathon irá decorrer num ambiente controlado e face a EDP Boxes ligadas a pontos energéticos simulados. Tanto para avaliar a veracidade dos dados recolhidos, como para por em prática medidas de segurança a aplicar nos cenários residenciais.

Decidiu-se que a Segurança seria uma dos áreas de avaliação dos participantes. A EDP pretende verem exploradas várias técnicas para prevenir utilizações incorrectas da tecnologia. Durante o hackathon, foram também discutidas algumas medidas a poderem ser implementadas pela EDP:

  • Aplicação da EDP IoT Box, protegida por selo de instalação à semelhança da EDP Box.
  • Controlo dos identificadores de SIGFOX, pela EDP e associação a contas de cliente.
  • Comunicação entre EDP IoT Box e Azure, garantida por código. Instalação em cliente, não necessitaria customização e/ou configuração.
  • Herança de modelo de segurança de tecnologias inerentes: SIGFOX e Microsoft Azure.

Conclusões

As conclusões relevantes deste projecto prendem-se comas aspectos técnicos e de negócio, com um forte impacto para a EDP.

Do ponto de vista técnico as conclusões são inerentes a Internet of Things (IoT). Neste cenário em particular foi possivel comprovar a utilzação de uma tecnologia Low Power Wide Area Network (LPWAN) como um solução viável. Tecnologias como SIGFOX ou LoRaWan devem ser contempladas quando outras redes sem fio não são adequadas - Bluetooth e BLE (e, em menor extensão, WiFi e ZigBee) geralmente não são a melhor opção para desempenho de longo alcance e as redes M2M celulares consomem muita energia e são onerosas, tanto em hardware como serviços.

Em IoT, existem várias arquitecturas para a instalação dos dispositivos. Entre os quais arquitecturas star e mesh. No cenário particular da EDP pretende-se uma solução de near-real time, mas as leituras energéticas poderão ser espaçadas no tempo, poupando drasticamente no consumo energético. A necessidade de conectividade à Internet não pode depender dos clientes finais, logo a opção por SIGFOX torno-se a mais adequada.

O consumo energético, o alcance e o volume de dados são particularmente importantes na escolha da tecnologia:

Característica Descrição
LONGO ALCANCE Os dispositivos podem estar até 10Km da gateway, dependendo da tecnologia implantada.
BAIXO VOLUME DE DADOS Menos de 5.000 bits por segundo. Muitas vezes, apenas 20-256 bytes por mensagem são enviados várias vezes ao dia.
BAIXO CONSUMO DE ENERGIA Isso torna a vida da bateria muito longa, podendo alcançar cinco e 10 anos.

Para a EDP esta iniciativa é transformadora uma vez que aposta num modelo de execução totalmente diferenciador. Com a aposta em promover iniciativas relacionadas com Internet Of Things (IoT), a EDP aproxima-se igualmente do ecossistema de startups europeu. Desta forma conseguem inovar, descobrir talento,aumentar a rede de contactos e renovar os processos de negócio. Neste caso, o foco dos esforços realizados está intimamente ligado com o principal negócio da EDP - a energia e no espaço residencial.

“The hackathon has become one of the latest vogue terms in business”

-Ferry Grijpink, principal at McKinsey, Singapore

Com os resultados do EDP IoT Hackathon, espera-se um conjunto de novos cenários na permissa de monitorização remota, real-time e integração com a EDP Box. Estrategicamente, a visão da EDP passa até por uma solução final que permita empresas/startups comercializarem produtos integrados com a EDP Box. Aqui poderemos idealizar a mera necessidade de desenvolver aplicações assentes num hardware económicamente viável. Deseja-se que a comunidade, developers disponibilizem soluções de monitorização do consumo energético. Esta abordagem open source poderá ser um motor importante para a proliferação de IoT com a EDP. No final, o resultado ajudará sempre os clientes da EDP a controlarem o seu consumo energético.

Oportunidades futuras

Este foi um projeto totalmente orientado a oportunidades futuras. Este modelo de preparação para um IoT Hackathon publico organizado pela maior empresa energética do país promove um conjunto de benefícios que consideramos prometedores:

  • Analisar os resultados das startups participantes numa prespectiva de negócio e técnico, tendo em conta os objetivos claros da EDP como empresa no sector energético domiliário.
  • Colaborar na implementação dos melhores cenários, em conjunto com a EDP, caminhando para produtos comercializados orientados ao consumo (clientes da EDP).
  • Descobrir, através do Hackathon, novas formas de recolha de leituras energéticas com base no contador inteligente da EDP. É um objectivo claro desafiar as startups a investir nas compoentens de hardware e software cloud-based.
  • Promover a colaboração da EDP com startups na área de IoT. Melhorar o serviço da EDP junto dos consumidores. Permitir um consumo energético mais aproriado às necessidades de cada habitação e familias. Sendo a EDP o maior fornecedor energético em Portugal o impacto tem potencial para transformar o país.

Labelec & Hackfest team

Resultados do EDP IoT Hackathon

O EDP IoT Hackathon decorreu entre os dias 8 de fevereiro e 24 de fevereiro de 2017. As equipas dedicaram 15 dias para trabalhar remotamente. A EDP disponibilizou várias EDP Boxes (EB) para serem utilizadas durante o desenvolvimento e testes. A avaliação final foi feita em vários vetores, incluindo pitch, produto, qualidade técnica de hardware e software. As 8 equipas finais tiveram a oportunidade de fazer o seu pitch e apresentar seus projetos no evento de encerramento. Foram atribuídos, aos melhores projectos, prémios e uma possível incubação na EDP Starter. Apresentamos em seguida os primeiros classificados:

1º : Crowd2Data - Joana Albuquerque, Nuno Santos, Rafael Evaristo

O seu objectivo foi criar dois equipamentos: um primeiro que fica junto do contador EDP, lê consumos e envia os valores destas leituras via Sigfox. Adicionalmente este equipamento permite também a leitura via bluetooth através de uma app para exclusiva para pessoal técnico EDP. Já o segundo equipamento, instalado dentro da casa do cliente EDP, recolhe dados de temperatura humidade e presença e relaciona-os com os consumos de energia da habitação. Quiseram, através deste equipamento, dentro da casa do cliente EDP, criar uma base tecnologia aberta à inovação permitindo a integração com outros dispositivos que implementem o seu protocolo aberto de comunicação e integração. O objectivo foi criar uma plataforma para que outras marcas possam construir as suas soluções aproveitando este hub técnico. O trabalho passou por construir o código para que a placa Akero pudesse ler o contador EDP e enviar os dados sobre consumo para Azure usando Sigfox. Para isto utilizaram o event hub, integrado com um endpoint REST chamado por uma função de Azure. Criaram uma app de Android e um interface web utilizando uma Azure Web App e uma base de dados SQL em Azure. Pretenderam indexar os custos de serviço à utilização, sem ter de pagar custos fixos de infraestrutura e pagando apenas por recursos utilizados.

2º iThings/NESTO - Marcelo Lopes, Michaël Memeteau

Focados na satisfação dos clientes EDP com uma proposta de alto valor agregado. O hardware empregou arquitetura ARM® (32bits Cortex®-M0+) e chip exclusivo para criptografia. O reduzido payload Sigfox não foi obstáculo para a coleta de dados em intervalos de 1’30”. Além de ferramentas open souce como InfluxDB, Grafana, e Linux, poderosos recursos do Microsoft Azure (IoT Hub, Stream Analytics, Functions, Web Apps, SQL, Virtual Machines, Bing Maps, e Power BI) foram utilizados para dar vida ao projeto. O resultado final permite ao Cliente EDP acompanhar seu consumo detalhado e receber notificações por SMS ou push sobre equipamentos deixados ligados. Por sua vez, a EDP pode identificar de forma automática faltas de energia e anormalidades. A equipa planeja evoluir o projeto utilizando o Azure ML para realizar Non-Intrusive Load Monitoring (NILM).

iThings/NESTO

3º Innowave/Thought Creator: João Amaro, José Araujo, Pedro Moscoso, Rafael Pires

O sistema utilizou o Azure PaaS para lidar com a recepção e gestão de mensagens Sigfox provenientes da EDP Box. Estas mensagens continham todas as informações necessárias para criar um painel de controle em tempo real que fornece informações para o cliente final da EDP, tal como, indicadores técnicos de consumo energético. Paralelamente, foi desenvolvido um motor de gamificação para dar “Pontos de Energia” aos clientes que gerem os seus padrões de consumo de energia através da aplicação. Esses pontos poderiam ser posteriormente trocados na rede de parceiros da EDP.