Introduction: Padrão Na Rede

Este projeto tem como objetivo tornar os sistemas de Smart Grids possíveis sem a necessidade de uma estrutura de rede grande e/ou complexa.

Trata-se de um sistema onde os Readers/Gateways são móveis (e não fixos como atualmente) indo até onde os dispositivos estão instalados.

No protótipo, foi utilizado uma DragonBoard 410c como Reader/Gateway e um Beacon programável com um sensor de corrente elétrica, medindo a potência acumulada.

Step 1: Materiais

1 - DragonBoard 410c

1 - Sensor de Corrente não invasivo SCT-013

1 - Resistor 220ohm

1 - Beacon Programável ( CSR1010 or other)

1 - 96Boards Sensors Mezzanine

Step 2: Sensor De Corrente SCT-013

Para usar o sensor SCT-013 basta seguir os seguintes passos:
- Colocar um resistor de 220ohm em paralelo com a saída do sensor.

- Ligar o sensor em uma entrada analógica do microcontrolador e o outro pino no GND.

- Testar variação de tensão com um multímetro (Apenas para verificar variação)

Step 3: Leitura Da Corrente E Potência Elétrica

Para facilitar a leitura, recomenda-se o uso da lib EmomLib. Abaixo segue os passos para efetuar a leitura:

- Instalar a biblioteca EmomLib. (Para entender o funcionamento, basta visualizar os exemplos)
- Calibrar a corrente com um equipamento resistivo com corrente fixa conhecida (lâmpada, ferro de solda...).

Para calibrar basta trocar o parâmetro "cal", até que o valor lido seja igual ao valor conhecido da corrente como no exemplo abaixo:

EnergyMonitor emon1;
#define cal 3.1
emon1.current(Pino_Corrente, cal)
double Irms = emon1.calcIrms(1480);

- Transformar o valor lido da corrente para potência (W) e integrar o valor para Wh (ou kWh).

No exemplo abaixo, foi usado uma rede 220V e transformado para Wh.

double PWh = 0;
unsigned long int time1 = millis(); // millis() = tempo decorrido
while(1){

double Pinst = Irms*220;
time1 = millis() - time1;
PWh += Pinst*time1/60/60/1000; // Transformando de milis para hora
time1 = millis();

}

Step 4: Módulo Relé

Para usar o módulo relé basta seguir os passos abaixo:

- Alimentá-lo com 3.3V

- Ligá-lo em pino digital do microcontrolador

- Setar o pino como saída

- Cortar um dos fios da rede e ligar as duas pontas na entrada do módulo relé.

Segue um exemplo abaixo de como configurar e acionar o relé

pinMode(Pino_Rele,OUTPUT);

while(1){

digitalWrite(Pino_Rele,estado);
estado = !estado;
delay(2000);

}

Step 5: Envio Dos Dados De Consumo No Beacon

Para envio dos dados alteramos o Device Name do beacon, informando o consumo.

No caso, as mensagens enviadas foram:

Indicação do consumo acumulado:
"QUALCOMM:XXXXX.XXWh"

Indicação do consumo Instantâneo:
"QUALCOMM:XXXXXXW "

As mensagens poderão ser lidas pela DragonBoard ou pelo celular do usuário, utilizando um aplicativo Scanner de Beacons.

Step 6: Leitura Do Consumo Pela DragonBoard E Envio Para Web

Para utilizar o Bluetooth LE utilizamos o módulo Bluepy.
É necessário instalar também o BlueZ na DragonBoard.

O código em anexo "FinalCode1_2" faz a leitura de Beacons e envio para Web utilizando Requests.

Step 7: Enviar Mensagem BLE (Beacon) Para Acionamento Pela DragonBoard

A configuração de envio BLE pode ser feita de duas formas:

1 - Prompt de comando:

Basta seguir os comandos abaixo
$ sudo hciconfig hci0 up
$ sudo hciconfig hci0 no leadv
$ sudo hciconfig hci0 leadv 0

2 - Utilizando o código em anexo

Circuits Contest 2016

Participated in the
Circuits Contest 2016

IoT Builders Contest

Participated in the
IoT Builders Contest