Orodha ya maudhui:

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

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

Video: IN-FORMA: Plataforma De Informações Sobre Sua Cidade: Hatua 5
Video: Jovem cortado ao meio por empilhadeira implorou a médico para "salvar ao menos a cabeça" 2024, Julai
Anonim
IN-FORMA: Plataforma De Informações Sobre Sua Cidade
IN-FORMA: Plataforma De Informações Sobre Sua Cidade

Quem nunca saiu de casa com roupas de frio na quando chegou no destino estava fazendo o maior sol ?! Fikiria, fikiria, utaftaji wa picha halisi ya hali halisi ya anuwai ya maonyesho ya mkutano, semper estando Prepado 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 adequadamente contra os danos do sol. Com IN-FORMA, tto isso is the 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, for exemplo, pode saber a condição dos ventos no momento for analisar a melhor hora de sair de casa.

IN-FORMA ni orodha kubwa ya wavuti kwa njia anuwai ya anuwai kwa njia ya habari kwa njia ya utaftaji. 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 esses sensores, a plataforma tem conexão direta com o Google Maps, trazendo informações sobre o trânsito and localização, na 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 solicitar autorização para integrar à plataforma suas próprias aplicações fazendo uso dos dados disponibilizados e, incosos allososososososososososososososososososososososososososososces.

IN-FORMA, além de poder Integrar diversos tipos de aplicações desenvolvidas pelos usuários e empresas, conta com um sistema de mapeamento de inundações desenvolvida pela própria. Kama inundações trazem muitos problemas à população, tanto de saúde pública, quanto ambientais e sociais. Por isso, em cidades com sistemas de drenagem upungufu, ni kutoka nje extâ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. Hii ni kwa sababu ya matumizi ya vifaa vya ziada, ikiwa ni pamoja na maelezo ya ndani ya maeneo yanayopendelea watu wote, na kwa sababu hiyo watu wengi watasafiri. 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.

Hatua ya 1: Arquitetura Da Plataforma

Arquitetura Da Plataforma
Arquitetura Da Plataforma

Proposta é o desenvolvimento de uma plataforma aberta para integração de diversos dispositivos. Arquitetura do the sistema in the baseada na comunicação entre uma placa Dragonboard, munida da placa de conexão 96boards, com or serviço AWS kwa Amazon utumiaji wa Mfumo wa Mbu kwa ajili ya kuendeleza comunicação kupitia protokolo MQTT.

96boards ni moja ya uwanja wa Atmel ATMEGA328 ikiwa ni pamoja na kusoma na kuchapisha barua pepe, com, na kuruhusu idhini ya Qualcomm Dragonboard 410c com sensores. A comunicação entre Dragonboard na 96boards kwa sababu ya itifaki I²C (Inter-Integrated Circuit).

Os dados coletados nos dispositivos são enviados para o servidor por meio do protocolo de comunicação TCP / IP. Hakuna huduma kama maelezo ya habari yanayotumiwa kwa kutumia API ya API, ambayo inaweza kutumika kama orodha ya habari kwa ajili ya kufuzu kwa mahitaji ya HTTP ya API ya uma restfull. Kwa pamoja, ikiwa ni pamoja na, mane maneira inarahisisha taswira ya uma ya Dashibodi msingi wa HTML5.

Hatua ya 2: Joka la Placa

Joka la Placa
Joka la Placa

Joka la Qualcomm 410c ni moja ya viunga vya desenvolvimento kwa mfano wa projetos. Placa possui vifaa sawa na ao Moto G, Fabado Pela Motorola. Hakuna desenvolvimento da plataforma ela foi utilizada como servidor local para o sistema. Nela ni utekelezaji wa Mfumo wa Mbu kwa ajili ya kuhamasisha huduma kupitia MQTT ndani ya huduma ya mtaa na mkuu wa huduma. Hakuna kiunga https://www.digitalocean.com/community/questions/h… ni uwezekano wa kusoma na kuandika mafunzo ya MQTT na Debian. O sistema operacional usado na placa de desenvolvimento kwa Linux Linaro, na ni msingi wa Debian. Hakuna kiunga https://www.embarcados.com.br/linux-linaro-alip-na… iko kwenye orodha ya mafunzo ya usakinishaji wa Linux Linaro-ALIP na Qualcomm DragonBoard 410C.

Jukwaa la Qualcomm 410c linalotumiwa kama njia ya kupokezana Mezzanine kwa mpokeaji kama maelezo ya kielektroniki bila sensorer inayoweza kutumiwa na MQTT ya eneo lako. Utatu wa chatu na comunicação serial.

O código abaixo detalha este processo. Habari inayosomwaData inates byéée que o Mezzanine faça uma leitura e devolva a resposta. Upokeaji wa majibu, wewe ni mtu anayeweza kufanya mfululizo kwa njia ya "S (sensa ya sensa):(sensorer ya sensa)". Após a leitura, separa o código do valor e retorna.

kuagiza seri ya serial = serial. Serial ('/ dev / tty96B0', 115200)

def readData (ser):

wakati ser.in Kusubiri () == 0: ser.write ([0])

txt ="

wakati Kweli: c = ser.read () ikiwa c == '\ n': break elif c == '\ r': endelea

txt = txt + c

baba = txt.split (":")

kurudi dados

baba = kusomaData (ser)

Com os dados recebidos, ni publicar hakuna huduma ya MQTT. A comunicação com o servidor é feita utilizando a biblioteca paho. Je! Unapewa huduma hii ya huduma, utafute matangazo kwa umma, usitumie huduma yoyote kwa sababu ya utaftaji.

kuagiza paho.mqtt.client as paho SERVIDOR_LOGIN = "" SERVIDOR_SENHA = "" SERVIDOR_ENDERECO = "localhost"

mteja = paho Mteja ()

jina la mtumiaji_pw_set (SERVIDOR_LOGIN, SERVIDOR_SENHA) mteja.connect (SERVIDOR_ENDERECO, 1883) mteja.loop_start ()

def publicar (dados, ehl):

jaribu: publish_name = "ikiwa 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 "mwingine: rudisha Uongo

wakati ehl. chapisha (chapisha_ jina, dados [1]) [0]! = 0:

pitisha chapisha chapisha_ jina + "=" + dados [1]

wakati cli.loop ()! = 0:

kupita

isipokuwa:

kupita

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

Para comunicação com o servidor a Dragonboard está conectada com o servidor através de uma conexão 3G, utumiaji wa modemu 3G HSUPA USB Stick MF 190 utumiaji wa TIM.

Kwa sababu ya tahadhari, maoni yako yanatokana na PABX Asterisc. Semper que is needário emitir um alerta, to servidor is an Respável por enviar uma chamada de voz ou uma mensagem de texto para o sistema de emergência da região. Para instalar o Asterisc você pode seguir o link (https://www.howtoforge.com/tutorial/how-to-install-asterisk-on-debian/).

Hatua ya 3: Placa Mezzanine Com Sensores

Placa Mezzanine Com Wapimaji
Placa Mezzanine Com Wapimaji

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

I) Sensor de luminosidade

O sensor LDR imesababisha kuongozwa na taa ya mwangaza ikiwa ni pamoja na maelezo zaidi. Leitura é feita através da porta analógica A0.

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

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

Hii ni sensa ya njia nyingi za kugundua utaftaji wa habari, infra-vermelho na luz visível.

Biblioteca:

Utilizando a biblioteca disponível através do link baixo, conectamos o sensor através da porta I2C disponível. Leitura é feita da seguinte maneira:

SI114X SI1145 = SI114X (); kuanzisha batili () {SI114X SI1145 = SI114X (); }

kitanzi batili () {

vl = SI1145. Soma Inaonekana ();

ir = SI1145. SomaIR ();

uv = sakafu ((kuelea) SI1145. ReadUV () / 100);

}

III) Sensor de temperatura e umidade

"Grove - Joto na Sensor Pro"

Biblioteca: https://github.com/Seeed-Studio/Grove_Temperature …….

Conectamos este sensor na porta analógica A0 na utumiaji wa kitu kinachoweza kutekelezwa kwa njia hii:

DHT dht (DHTPIN, DHTTYPE);

usanidi batili () {

kuanza (); }

kitanzi batili () {

h = dht. kusomaUnyenyekevu ();

t = dht. soma Joto ();

}

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

int HALI = 0;

kitanzi batili () {

badilisha (STATE) {

kesi 0:… kuvunja;

kesi 5:

… Kuvunja;

}

HALI = (HALI + 1)% 6;

}

Para evitar leituras desnecessárias, ni sehemu ya kawaida ya kutekelezwa kwa Qualcomm DragonBoard 410c kwa sababu ya mpokeaji kama habari. Para isto, utilizamos uma espera ocupada:

kitanzi batili () {wakati (! Serial.available ()) kuchelewa (10); wakati (Serial.available ()) Serial.read ();

}

Cada leitura de sensor é enviada individualmento após a leitura através da função sendSensorData. Esta função receiver of the código do sensor (inteiro), na wewe utumie huduma yako kwa sababu wewe utafute. Se sevo mudanças na leitura ela é enviada. Função dtostrf converte de mara mbili kwa kamba. Já a função sprintf formata a string for ser enviada pela serial com a função Serial.println.

char sendBuffer [20], temp [10]; batili sendSensorData (int sensorCode, data mbili, mara mbili ya mwisho) {if (data == lastData) kurudi; dtostrf (data, 4, 2, temp); sprintf (sendBuffer, "S% d:% s", sensorCode, temp); Serial.println (sendBuffer); } kitanzi batili () {… kisa 0: h = dht.readHumidity (); tumaSensorData (1, h, lastH); mwishoH = h; kuvunja; …}

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

Hatua ya 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 utumiaji wa matumizi ya habari kwa sababu unaweza kufanya aragua, utumie sensor ya faragha. Utumiaji wa vifaa vya 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, to do utilizada a IDE do Arduino com as bibliotecas: Pubsub-client (https://pubsubclient.knolleary.net/) ESP8266 (https://github.com/esp8266/Arduino).

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

Hatua ya 5: Dashibodi

Dashibodi
Dashibodi

Dashibodi kuu ya maoni kuu ya waandaaji na wawakilishi wa vyombo vya habari kama vile habari za habari, dando na muundo wa mahusisho, yote yatatekelezwa kwa njia ya utaftaji wa vipindi vya utaftaji wa njia tofauti za mitaa na kufanya mitaa. Kutumia utaftaji HTML5 kwa seu desenvolvimento.

Ilipendekeza: