Inhoudsopgave:

IN-FORMA: een Plataforma De Informações Sobre Sua Cidade - Ajarnpa
IN-FORMA: een Plataforma De Informações Sobre Sua Cidade - Ajarnpa

Video: IN-FORMA: een Plataforma De Informações Sobre Sua Cidade - Ajarnpa

Video: IN-FORMA: een Plataforma De Informações Sobre Sua Cidade - Ajarnpa
Video: Ajahn Chah - Tudo é Incerto e Impermanente 2024, Juli-
Anonim
IN-FORMA: een Plataforma De Informações Sobre Sua Cidade
IN-FORMA: een Plataforma De Informações Sobre Sua Cidade

Quem nunca saiu de casa com roupas de frio e quando chegou no destino estava fazendo o maior sol?! Imagine, então, poder acompanhar em tempo real a temperatura de diversos pontos de sua cidade, semper estando preparado para o que der e vier! Ou, então, evitaar transitar pelos principais pontos de alagamento uma forte tempestade e, até mesmo, saber o índice de radiação UV antes de ir para uma praia of um parque para se proteger adequadamente do sol os. Com a IN-FORMA, tudo isso é possível em um só lugar! Você pode acompanhar o trânsito de uma determinada região e ver os principais pontos turísticos por perto. Além de ter acesso a um banco de informações, você pode utilizá-las da forma que desejar. Se você gosta de velejar, por exemplo, pode saber a condição dos ventos no momento para analisar a melhor hora de sair de casa.

Een IN-FORMA en meer informatie over het internet dat is geïntegreerd in verschillende soorten informatie over een andere gelegenheid. Er zijn verschillende mogelijkheden voor temperatuursensoren, verlichting, verlichting, tussenliggende momenten, een echt tempo als condições daquele local. Além de contar com todos esses esses esses, a plataforma tem conexão direta com o Google Maps, trazendo informações sobre o trânsito and localização, e pode conectar-se a outros sistemas de mapeamento da região. Uma das inovações trazidas pela plataforma é que ela pode contar com a interação do usuário, sendo este permitido a sollicitar autorização para integrar à plataforma s próprias próprias aplicações fazendo uso dos dados disponibilizaces disponibilizaces.

A IN-FORMA, alle mogelijke integraties van verschillende toepassingen van gebruiksvoorwerpen en empresas, met een gezamenlijk aanbod van inundatiele activiteiten. As inundações trazem muitos problemas à população, tanto de saúde pública, quanto ambientais e sociais. Isso, em cidades com sistemas de drenagem ineficientes, é de extreme importância a pontuação das regiões mais criticas. Com a plataforma, então, é possível sabre o nível de água ruas em vários pontos da cidade, através de aparelhos instalados ts vias ou calçadas. Dit is een extreem gebruiksvoorwerp dat op de juiste manier kan worden gebruikt, op de juiste plaats kan worden gevonden. Além disso, o sistema de drenagem das ruas pode ser melhorado com os dados fornecidos pela plataforma, que mostram o nível da água ao longo do os os pontos de agamento da região.

Stap 1: Arquitetura Da Plataforma

Arquitetura Da Plataforma
Arquitetura Da Plataforma

Een voorstel voor de ontwikkeling van een plataforma aberta para integração de diversos dispositivos. Een basis van een communicatie tussen Dragonboard, aangesloten op 96boards, geleverd door AWS door Amazon en Framework Mosquitto voor eeuwigdurende communicatie via het protocol MQTT.

Een 96boards is samengesteld uit de Atmel ATMEGA328 die digitale en analoge producten bevatten, waarmee de integratie van Qualcomm Dragonboard 410c met sensoren kan worden toegestaan. Een communicatie tussen een Dragonboard en een 96-board is een van de protocollen van I²C (Inter-Integrated Circuit).

U kunt ook gebruikmaken van de mogelijkheid om gebruik te maken van het protocol voor de communicatie van TCP/IP. Er is geen enkele dienstdoende informatie beschikbaar over de uma API die beschikbaar is, de mogelijkheid om informatie te verkrijgen over de gebruikte kwaliteit van HTTP en de restfull API. Inclusief, inclusief, maneira simples de visualizar os dados em uma Dashboard baseada em HTML5.

Stap 2: Plaça Dragonboard

Plaça Dragonboard
Plaça Dragonboard

Een Qualcomm Dragonboard 410c met een ambiente van de desenvolvimento para prototipagem de projetos. Een hardware-equivalent van oa Moto G, fabricado van Motorola. Geen desenvolvimento da plataforma ela foi utilizada como servidor local para o sistema. Nela é executada o Framework Mosquitto para promoter a interação via MQTT entre o servidor local e o servidor principal. Geen link https://www.digitalocean.com/community/questions/h… é possível encontrar um tutorial de como instalar of MQTT no Debian. U kunt gebruik maken van een operationele versie van de desenvolvimento en Linux Linaro, gebaseerd op Debian. Geen link https://www.embarcados.com.br/linux-linaro-alip-na… Er is een mogelijkheid om een tutorial voor het installeren van Linux Linaro-ALIP met Qualcomm DragonBoard 410C te maken.

Een Qualcomm Dragonboard 410c is nauwkeurig in de communicatie met de mezzanine voor receber als informações coletadas no sensor en enviá-las voor o servidor MQTT local of remoto. Gebruik python en comunicação serial.

O código abaixo detalha este processo. Een função readData envia bytes até que o Mezzanine faça uma leitura e devolva a resposta. Ao receber a resposta, lê uma linha inteira do serial que deverá estar no formato "S(código do sensor):(valor do sensor)". Após a leitura, separa o código do valor e retorna.

import serial ser = serial. Serial('/dev/tty96B0', 115200)

def leesData(ser):

terwijl ser.inWaiting() == 0: ser.write([0])

txt = ''

while True: c = ser.read() if c == '\n': break elif c == '\r': doorgaan

txt = txt + c

dados = txt.split(":")

terug dados

dados = readData(ser)

Com os dados recebidos, é possível publicar no servidor MQTT. Een comunicação com o servidor é feita utilizando a biblioteca paho. O codigo abaixo se conecta a um servidor e, através da função publicar, publica no servidor com o tópico adequado.

importeer paho.mqtt.client als paho SERVIDOR_LOGIN = "" SERVIDOR_SENHA = "" SERVIDOR_ENDERECO = "localhost"

klant = paho. Client()

client.username_pw_set(SERVIDOR_LOGIN, SERVIDOR_SENHA) client.connect(SERVIDOR_ENDERECO, 1883) client.loop_start()

def publicar(dados, cli):

probeer: publish_name = '' if dados[0] == 'S1': publish_name = "/qualcomm/umidade" elif dados[0] == 'S2': publish_name = "/qualcomm/temperatura" elif dados[0] = = 'S3': publish_name = "/qualcomm/luminosidade" elif dados[0] == 'S4': publish_name = "/qualcomm/luzvisivel" elif dados[0] == 'S5': publish_name = "/qualcomm/infravermelho " elif dados[0] == 'S6': publish_name = "/qualcomm/ultravioleta" else: return False

while cli.publish(publish_name, dados[1])[0] != 0:

pass print publish_name+" = "+dados[1]

terwijl cli.loop() != 0:

doorgang

behalve:

doorgang

O código completo pode ser visto no arquivo "mezzanine_mqtt.py".

Voor het communiceren met een Dragonboard-netwerk dat verbonden is met het aansluiten van 3G, het gebruik van een 3G-modem HSUPA USB Stick MF 190 met het gebruik van TIM.

Para emissão de alertas, of sistema conta com um servidor PABX Asterisc. Semper que é é necessário emitir um alerta, o servidor é response por enviar uma chamada de voz of uma mensagem the texto para o sistema de emergência da região. Para installatie of Asterisc você pode seguir o link (https://www.howtoforge.com/tutorial/how-to-install-asterisk-on-debian/).

Stap 3: Placa Mezzanine Com-sensoren

Placa Mezzanine Com Sensoren
Placa Mezzanine Com Sensoren

Três Sensores se conectam com o Mezzanine: luminosidade, luz solar e temperatura en umidade.

I) Sensor de luminosade

O sensor LDR é um led ativado pela luminosidade que incide sobre ele. Een leitura é feita através da porta analógica A0.

Leitura do sensor: ldr = analogRead (LDRPIN)/10,0

II) Sensor de luz solar "Grove - Zonlichtsensor"

Este e um sensor multi-canal capaz de detectar luz ultravioleta, infra-vermelho en luz visível.

Biblioteca:

Gebruik een biblioteca disponível através do link abaixo, conectamos o sensor através da porta I2C disponível. Een leitura é feita da seguinte maneira:

SI114X SI1145 = SI114X(); void setup(){ SI114X SI1145 = SI114X(); }

lege lus(){

vl = SI1145. ReadVisible();

ir = SI1145. ReadIR();

uv = vloer ((float)SI1145. ReadUV()/100);

}

III) Temperatuursensor en temperatuursensor

"Grove - Temperatuur- en vochtigheidssensor Pro" https://wiki.seeed.cc/Grove-Temperature_and_Humidi… Este sensor voor temperatuurdetectie en relatieve gevoeligheid.

Biblioteca:

Sluit de sensor aan op een analoge A0 en gebruik deze als volgt:

DHT dht(DHTPIN, DHTTYPE);

ongeldige setup(){

dht.begin(); }

lege lus(){

h = dht.readVochtigheid();

t = dht.readTemperature();

}

Para juntar a leitura dos 3 sensores no Mezzanine, criamos up máquina de estados, onde cada estado é responsável uma leitura. Como são 6 leituras geen totaal, teremos 6 estados, organizado da seguinte forma:

int STAAT = 0;

lege lus(){

schakelaar(STAAT){

geval 0: … pauze;

geval 5:

… pauze;

}

STAAT = (STAAT+1)%6;

}

Het is noodzakelijk om de benodigde informatie te verstrekken, zodat u een Qualcomm DragonBoard 410c kunt uitvoeren als informatie. Para isto, utilizamos uma espera ocupada:

void loop(){ while (!Serial.available()) delay(10); while (Serial.available()) Serial.read();

}

De gegevens van de sensor en de individuele persoon kunnen worden gebruikt om de functie van de sensorgegevens te verzenden. Esta função recebe of código do sensor (inteiro), of dado a ser enviado o último dado utilizado. Bekijk de mudanças na leitura ela é enviada. Een função dtostrf converte de dubbele para string. Ja een função sprintf formata een string para ser enviada pela serial com een função Serial.println.

char sendBuffer [20], temp [10]; ongeldig sendSensorData (int sensorCode, dubbele data, dubbele lastData) {if(data == lastData) return; dtostrf(data, 4, 2, temp); sprintf(sendBuffer, "S%d:%s", sensorCode, temp); Serial.println (verzendbuffer); } void loop(){ … geval 0: h = dht.readHumidity(); sendSensorData(1, h, lastH); laatsteH = u; pauze; … }

O código completo pode ser visto no arquivo "sensores.ino".

Stap 4: Sensor De Alagamento Utililizando NodeMCU

Sensor De Alagamento Utililizando NodeMCU
Sensor De Alagamento Utililizando NodeMCU
Sensor De Alagamento Utililizando NodeMCU
Sensor De Alagamento Utililizando NodeMCU
Sensor De Alagamento Utililizando NodeMCU
Sensor De Alagamento Utililizando NodeMCU

O NodeMCU kan worden gebruikt voor het gebruik van nieuwe functies, gebruikssensoren voor het gebruik van ongeveer 30 cm van de kabel voor het verwijderen van fora. O processo de eletrólise cria um weerstand virtuele quando o dispositivo é inundado.

Voor het desenvolvimento do código, foi utilizada a IDE do Arduino com als bibliotecas: Pubsub-client (https://pubsubclient.knolleary.net/) ESP8266 (https://github.com/esp8266/Arduino).

O código completo pode ser visto no arquivo "sensorAlagamento.ino".

Stap 5: Dashboard

Dashboard
Dashboard

Een Dashboard met de belangrijkste doelstellingen van de organisatie en de presentatie van de informatie over de sensores en de andere informatie over het ontwerp en de andere informatie over de lokale activiteiten. Gebruik een tecnologia HTML5 para seu desenvolvimento.

Aanbevolen: