Innholdsfortegnelse:

IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 trinn
IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 trinn

Video: IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 trinn

Video: IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 trinn
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Juli
Anonim
IN-FORMA: a Plataforma De Informações Sobre Sua Cidade
IN-FORMA: a 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 ?! Tenk deg, 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, evitar transitar pelos principais pontos de alagamento durante uma forte tempestade e, até mesmo, saber o índice de radiação UV antes de ir para uma praia ou um parque para se proteger adequateadamente contra os danos do sol. Com in IN-FORMA, tudo isso é possível em um so 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, for eksempel, pode saber a condição dos ventos no momento para analisar a melhor hora de sair de casa.

A IN-FORMA é a mais nova plataforma web que integra diversos tipos de informações and respeito da sua cidade. São espalhados em diversos pontos da região sensores de temperatura, umidade, luminosidade, entre outros, que fornecem em tempo real as condições daquele local. Além de contar com todos esses sensores, a plataforma tem conexão direta com o Google Maps, trazendo informações sobre o trânsito e localização, and pode conectar-se a outros systememas 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 solicitar autorização para integrar à plataforma suas próprias aplicações fazendo uso dos dados disponibilizados e, inclusive, pode solosar.

A IN-FORMA, além de poder integrar diversos tipos de aplicações desenvolvidas pelos usuários e empresas, conta com um system of mapeamento de inundações desenvolvida pela própria. As inundações trazem muitos problemas à população, tanto de saúde pública, quanto ambientais e sociais. For isso, em cidades com sistemas de drenagem ineficientes, é de extrema importância a pontuação das regiões mais críticas. Com a plataforma, então, é possível saber o nível de água nas ruas em vários pontos da cidade, através de aparelhos instalados nas vias ou calçadas. Este sistema é de extrema utilidade em dias de chuva, pois informa os locais mais prejudicados pela água, evitando que a população transite por estes. 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 dia e os pontos críticos de alagamento da região.

Trinn 1: Arquitetura Da Plataforma

Arquitetura Da Plataforma
Arquitetura Da Plataforma

A proposta é o desenvolvimento de uma plataforma aberta para integração de diversos dispositivos. A arquitetura do sistema é baseada na comunicação entre uma placa Dragonboard, munida da placa de conexão 96boards, com o serviço AWS da Amazon utilizando o Framework Mosquitto for perpetuar a comunicação via protocolo MQTT.

A 96boards kan brukes på Atmel ATMEGA328 som gir deg muligheten til å analysere og analysere den, slik at den tillater integrering av Qualcomm Dragonboard 410c -sensorer. En komunikasjon av en Dragonboard og en 96boards viser protokoll I²C (interintegrert krets).

Os dados coletados nos dispositivos são enviados para o servidor por meio do protocolo de comunicação TCP/IP. Ingen informasjon om hvordan vi kan disponere en API -versjon, og muligens ha informasjon om hvordan vi kan bruke HTTP og restfull API. Inkluderende, enkle, enkle eksempler på visualiseringer for å få oversikt over Dashboard basert på HTML5.

Trinn 2: Placa Dragonboard

Placa Dragonboard
Placa Dragonboard

En Qualcomm Dragonboard 410c er en ambiente de desenvolvimento for prototipagem de projetos. En plassering av maskinvare som tilsvarer Moto G, produsert av Motorola. No desenvolvimento da plataforma ela foi utilizada como servidor local para o sistema. Nela é executada o Framework Mosquitto for promover a interação via MQTT entre o servidor local e o servidor principal. Ingen lenke https://www.digitalocean.com/community/questions/h… é encivrar encontrar um tutorial of como instalar o MQTT no Debian. Operativ system for bruk og plassering av desenvolvimento eller Linux Linux, som er basert på Debian. Ingen lenke https://www.embarcados.com.br/linux-linaro-alip-na… og muligens installere en opplæringsprogram for installasjon av Linux Linaro-ALIP og Qualcomm DragonBoard 410C.

En Qualcomm Dragonboard 410c får informasjon om en mezzanin for å motta informasjon om andre deler av sensoren. Utnyttelse av python e comunicação serial.

O código abaixo detalha este processo. A função readData envia bytes até que que 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 readData (ser):

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

txt = ''

mens True: c = ser.read () hvis c == '\ n': break elif c == '\ r': fortsett

txt = txt + c

dados = txt.split (":")

returner pappaer

dados = readData (ser)

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

importer paho.mqtt.client som paho SERVIDOR_LOGIN = "" SERVIDOR_SENHA = "" SERVIDOR_ENDERECO = "localhost"

klient = paho. Client ()

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

def publicar (dados, cli):

prøv: 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

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

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

mens cli.loop ()! = 0:

sende

unntatt:

sende

Du kan se en fullstendig oversikt over "mezzanine_mqtt.py".

Para comunicação com servitor and Dragonboard est con conctada com o servidor atraes for uma conexão 3G, use of modem 3G HSUPA USB Stick MF 190 utilizando and operadora TIM.

Para emissão de alertas, o sistema conta com um servidor PABX Asterisc. Det er nødvendig å sende en melding, og vi kan også svare på en melding om hvordan du kan skrive en tekst eller skrive ut et system for utvikling av região. For installasjon av Asterisc você pode seguir o link (https://www.howtoforge.com/tutorial/how-to-install-asterisk-on-debian/).

Trinn 3: Placa Mezzanine Com Sensores

Placa Mezzanine Com Sensores
Placa Mezzanine Com Sensores

Três Sensores se conectam com mezzanine: luminosidade, luz solar and temperatura e umidade.

I) Sensor de luminosidade

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

Se sensor: ldr = analogRead (LDRPIN) /10.0

II) Sensor de luz solar "Grove - Sunlight Sensor"

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

Biblioteca:

Utnyttelse av biblioteca disponível através do link abaixo, conectamos o sensor através da porta I2C disponível. A leitura é feita da seguinte maneira:

SI114X SI1145 = SI114X (); ugyldig oppsett () {SI114X SI1145 = SI114X (); }

void loop () {

vl = SI1145. ReadVisible ();

ir = SI1145. ReadIR ();

uv = gulv ((flyte) SI1145. ReadUV ()/100);

}

III) Sensor temperatur og temperatur

"Grove - Temperature and Humidity Sensor Pro" https://wiki.seeed.cc/Grove-Temperature_and_Humidi… Este sensor é capaz de detectar temperatura e umidade relativa.

Biblioteca:

Tilbake til toppen

DHT dht (DHTPIN, DHTTYPE);

ugyldig oppsett () {

dht.begin (); }

void loop () {

h = dht.readHumidity ();

t = dht.readTemperature ();

}

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

int STATE = 0;

void loop () {

bytte (STATE) {

sak 0: … pause;

sak 5:

… gå i stykker;

}

STATE = (STATE+1)%6;

}

Para evitar leituras desnecessárias, o estágio atual so executa quando a Qualcomm DragonBoard 410c está pronta para receber as informationações. Para isto, utilizamos uma espera ocupada:

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

}

Cada leitura de sensor é enviada individualmento após a Leitura através da função sendSensorData. Esta função recebe o código do sensor (inteiro), o dado a ser enviado e o último dado utilizado. Se houver mudanças na leitura ela é enviada. En função dtostrf converte de double para streng. Ja a função sprintf formata a string para ser enviada pela serial com a função Serial.println.

char sendBuffer [20], temp [10]; void sendSensorData (int sensorCode, double data, double lastData) {if (data == lastData) return; dtostrf (data, 4, 2, temp); sprintf (sendBuffer, "S%d:%s", sensorCode, temp); Serial.println (sendBuffer); } void loop () {… case 0: h = dht.readHumidity (); sendSensorData (1, h, lastH); sisteH = h; gå i stykker; …}

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

Trinn 4: Sensor De Alagamento Utilizando NodeMCU

Sensor De Alagamento Utilizando NodeMCU
Sensor De Alagamento Utilizando NodeMCU
Sensor De Alagamento Utilizando NodeMCU
Sensor De Alagamento Utilizando NodeMCU
Sensor De Alagamento Utilizando NodeMCU
Sensor De Alagamento Utilizando NodeMCU

O NodeMCU kan brukes for å få en bedre oversikt over brukeren, slik at du kan bruke sensoren til å bruke 30 cm. O processo de eletrólise cria um resistor virtal quando o dispositivo é inundado.

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

Du kan ikke se noe mer "sensorAlagamento.ino".

Trinn 5: Dashboard

Dashboard
Dashboard

A Dashboard tem como principal objetivo organizar e apresentar melhor os conteúdos informativos dos sensores coletados, dando a eles um design mais interativo, além trazer informações and respeito de pontos turísticos de diversos pontos da cidade e do trânsito local. Bruker en teknologisk HTML5 for seen desenvolvimento.

Anbefalt: