Tartalomjegyzék:

IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 lépés
IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 lépés

Videó: IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 lépés

Videó: IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 lépés
Videó: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, November
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 ?! Képzelje el, kezdje el, és kísérje el a tempót valódi hőmérsékleti változatban, de ne felejtse el, hogy készen áll a semmiből! 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 sobadamam contra os danos do sol. 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 examplelo, 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 informationções a 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, plataforma tem conexão directta com o Google Maps, trazendo informationções sobre o trânsito e localização, and pode conectar-se a outros systemas de mapeamento da região. Uma das inovações trazidas pela plataforma é que ela pode contar com a interactção do usuário, sendo este allowido a solicitar autorização para integrar à plataforma suas próprias aplicações fazendo uso dos dados disponibilizados e, inclusive, pode solicisis ais.

A IN-FORMA, além de poder integrar diversos tipos de aplicações desenvolvidas pelos usuários e empresas, conta com um system de mapeamento de inundações desenvolvida pela própria. As inundações trazem muitos problémák à população, tanto de saúde pública, quanto ambientais e sociais. Por isso, em cidades com sistemas de drenagem ineficientes, é de extremema 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 system é de extremema utilidade em dias de chuva, pois information os locais more prejudicados pela água, evitando que a população transite por estes. Além disso, o system 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.

1. lépés: Arquitetura Da Plataforma

Arquitetura Da Plataforma
Arquitetura Da Plataforma

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

A 96boards estam munida de um Atmel ATMEGA328 que provê entradas digitalis and analógicas e, com isto, permite a integrált Qualcomm Dragonboard 410c com sensores. A Comunicação entre a Dragonboard és a 96boards se dá através do protocolo I²C (Inter-Integrated Circuit).

Os dados coletados nos dispositivos são enviados para or servidor por meio do protocolo de comunicação TCP/IP. No servidor as informações são disponibilizadas através de uma API pública; Há, inclusive, uma maneira simples de visualizar os dados em uma Dashboard basepad to HTML5.

2. lépés: Placa Dragonboard

Placa Dragonboard
Placa Dragonboard

A Qualcomm Dragonboard 410c projektor prototipagem ambiente de desenvolvimento. A hardver megfelelője a Moto G -ben, a Motorola gyártmányában. No desenvolvimento da plataforma ela foi utilizada como servidor local para o system. Nela é executada o Framework Mosquitto para promover a interactção via MQTT entre o servidor local e o servidor principal. Nincs link https://www.digitalocean.com/community/questions/h… é possível encontrar um tutorial de como instalar or MQTT no Debian. A Linux operációs rendszer operációs rendszerének használata és a Linux Linaro, a Debian alapja. Nincs link https://www.embarcados.com.br/linux-linaro-alip-na… és a hozzá tartozó oktatóanyag a telepítéshez, vagy a Linux Linaro-ALIP és a Qualcomm DragonBoard 410C.

A Qualcomm Dragonboard 410c precízen kommunikál a félemeleten a vevőegységgel, mint információs adatokkal, és nincs érzékelője, vagy az MQTT helyi vagy távoli távvezérlője. Használja a python és a comunicação sorozatokat.

O código abaixo detalha este processo. A 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 do 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.

sorozat sor importálása = soros. Soros ('/dev/tty96B0', 115200)

def readData (ser):

míg ser.inWaiting () == 0: ser.write ([0])

txt ="

míg igaz: c = ser.read () if c == '\ n': break elif c == '\ r': folytassa

txt = txt + c

dados = txt.split (":")

vissza apa

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 sobado.

paho.mqtt.client importálása paho néven SERVIDOR_LOGIN = "" SERVIDOR_SENHA = "" SERVIDOR_ENDERECO = "localhost"

kliens = paho. Client ()

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

def publicar (dados, cli):

próbálkozz: közzététel_név = '' if dados [0] == 'S1': közzététel_név = "/qualcomm/umidade" elif dados [0] == 'S2': közzétételnév = "/qualcomm/temperatura" elif dados [0] = = 'S3': közzététel_neve = "/qualcomm/luminosidade" elif dados [0] == 'S4': public_name = "/qualcomm/luzvisivel" elif dados [0] == 'S5': közzététel_név = "/qualcomm/infravermelho "elif dados [0] == 'S6': public_name ="/qualcomm/ultravioleta "else: return Hamis

míg cli.publish (közzététel_neve, apa [1]) [0]! = 0:

pass print közzététel_neve+"="+dados [1]

míg cli.loop ()! = 0:

passz

kivéve:

passz

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

A kommunikációhoz vagy a Dragonboard szolgáltatáshoz a szolgáltatónak csatlakoznia kell a 3G -hez, a 3G modemhez vagy a modemhez, a HSUPA USB Stick MF 190 -hez és a TIM operációs rendszerhez.

A riasztás emissão, vagy a rendszer tartalmazza a PABX Asterisc szervizt. Semper que é needsário emitir um alerta, o servidor é responseável por enviar uma chamada de voz ou uma mensagem de texto para o system de emergência da região. Telepítse vagy Asterisc você pode seguir vagy linket (https://www.howtoforge.com/tutorial/how-to-install-asterisk-on-debian/).

3. lépés: Placa Mezzanine Com Sensores

Placa Mezzanine Com Sensores
Placa Mezzanine Com Sensores

Três Sensores se conectam com or Mezzanine: luminosidade, luz solar és Temperature and umidade.

I) Érzékelő luminozidádhoz

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

Leitura do sensor: ldr = analogRead (LDRPIN) /10.0

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

Este é um érzékelő többcsatornás capaz de detekátor luz ultravioleta, infra-vermelho e luz visível.

Biblioteca:

Használja a 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 (); void setup () {SI114X SI1145 = SI114X (); }

void loop () {

vl = SI1145. ReadVisible ();

ir = SI1145. ReadIR ();

uv = padló ((úszó) SI1145. ReadUV ()/100);

}

III) Hőmérséklet -érzékelő és hőérzékelő

"Grove - Hőmérséklet- és páratartalom -érzékelő Pro" https://wiki.seeed.cc/Grove-Temperature_and_Humidi… Este sensor for capaz de detectar Temperature and umidade relativa.

Biblioteca:

Conectamos érzékelő porta analógika A0 és hasznosítás vagy keverék kódolás a leitura:

DHT dht (DHTPIN, DHTTYPE);

void setup () {

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, on cada estado é responseável por uma leitura. Como são 6 leituras no total, teremos 6 estados, organizado da seguinte forma:

int ÁLLAPOT = 0;

void loop () {

kapcsoló (ÁLLAPOT) {

0. eset:… szünet;

5. eset:

… szünet;

}

ÁLLAPOT = (ÁLLAPOT+1)%6;

}

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

void loop () {while (! Serial.available ()) delay (10); while (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. A função dtostrf convert to de double para string. Já 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 (adatok, 4, 2, temp); sprintf (sendBuffer, "S%d:%s", sensorCode, temp); Serial.println (sendBuffer); } void loop () {… 0. eset: h = dht.readHumidity (); sendSensorData (1, h, lastH); lastH = h; szünet; …}

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

4. lépés: Sensor De Alagamento Utilizando NodeMCU

Érzékelő De Alagamento Utilizando NodeMCU
Érzékelő De Alagamento Utilizando NodeMCU
Érzékelő De Alagamento Utilizando NodeMCU
Érzékelő De Alagamento Utilizando NodeMCU
Érzékelő De Alagamento Utilizando NodeMCU
Érzékelő De Alagamento Utilizando NodeMCU

O NodeMCU foi utilizado para fazer a leitura do nível da água, utilizando um sensor de fácil criação. Utilizando um pedaço de aproximadamente 30cm de um cabo de par trançado, quatro fios foram dispostos. O processo de eletrólise cria um resistor virtal quando o dispositivo é inundado.

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

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

5. lépés: Műszerfal

Irányítópult
Irányítópult

A Dashboard tem como fő célkitűzés szervező és bemutató dallamok, információs és informatikai információs rendszerek, valamint az interaktív dizájn, az interaktív tervezés, az összes információ, valamint a különböző helyszínek különböző helyszíneken való megjelenítése. Használja a HTML5 technológiai technikákat a desenvolvimento.

Ajánlott: