Satura rādītājs:

IN-FORMA: Plataforma De Informações Sobre Sua Cidade: 5 soļi
IN-FORMA: Plataforma De Informações Sobre Sua Cidade: 5 soļi

Video: IN-FORMA: Plataforma De Informações Sobre Sua Cidade: 5 soļi

Video: IN-FORMA: Plataforma De Informações Sobre Sua Cidade: 5 soļi
Video: Tribo da Periferia - Magazine (Official Music Video) 2024, Jūlijs
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 e quando chegou no destino estava fazendo o maior sol ?! Iedomājieties, iesāciet, jūs varat pavadīt īsto temperatūru un dažādo temperatūru, kā arī 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 adekvatamente contra os danos do sol. Com in IN-FORMA, tudo isso é possível em um só lugar! Você pode acompanhar vai 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 informationções, você pode utilizá-las da forma que desejar. Se vokê 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 ir a nova plataforma web que integra diversos tipos de informationções a respeito da sua cidade. São espalhados em diversos precīz da região sensores de temperatura, umidade, luminosidade, entre outros, que fornecem em tempo real as condições daquele local. Sazinieties ar mums, lai uzzinātu vairāk par to, kas ir nepieciešams, lai uzzinātu vairāk par Google Maps, lai uzzinātu vairāk par pakalpojuma Google Maps iespējām, kā arī iegūtu informāciju par to, vai tā ir lokalizēta, kā arī par to, kā rīkoties. Uma das inovações trazidas pela plataforma é que ela pode contar com a interção do usuário, sendo este allowido and solicitar autorização para integrar à plataforma suas próprias aplicações fazendo uso dos dados disponibilizados e, inclusive, pode paraicisos acess.

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ēmas à 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 sistēma é 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, vai sistēma 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 täpts críticos de alagamento da região.

1. darbība: Arquitetura Da Plataforma

Arquitetura Da Plataforma
Arquitetura Da Plataforma

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

A 96boards estam munida de um Atmel ATMEGA328 que provê entradas digitalis and analógicas e, com isto, permite and a Integration of Qualcomm Dragonboard 410c com sensores. Komunikacijas ievadīšana Dragonboard un 96boards se dá através do protocolo I²C (Integrētā shēma).

Os dados coletados nos dispositivos são enviados para or servidor por meio do protocolo de comunicação TCP/IP. Nav pakalpojumu sniedzēja, kā informācijas disponibilizadas através de uma API pública; Hā, ieskaitot, ir vienkāršas vizuālās vizualizācijas iespējas un informācijas panelis HTML5.

2. darbība: Placa Dragonboard

Placa Dragonboard
Placa Dragonboard

Qualcomm Dragonboard 410c ir ambiente de desenvolvimento para prototipagem de projetos. Aparatūras ekvivalents, piemēram, Moto G, izgatavots no Motorola. 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. Nav saites https://www.digitalocean.com/community/questions/h… é possível encontrar um tutorial de como instalar o MQTT no Debian. Operētājsistēmas operatīvais lietojums un plašsaziņas līdzekļu izstrādes platforma, vai Linux Linaro, kā arī bāzes sistēma Debian. Nav saites https://www.embarcados.com.br/linux-linaro-alip-na…, kā arī iespēja apgūt instalācijas pamācību Linux Linaro-ALIP un Qualcomm DragonBoard 410C.

Qualcomm Dragonboard 410c ir precīzs, lai sazinātos ar starpstāvu uztvērēju kā informāciju, kas nav saistīta ar sensoru un apkārtējās vides pakalpojumu sniedzēju MQTT. Utilizamos python un comunicação sērijas.

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 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ēt sērijas ser = serial. Serial ('/dev/tty96B0', 115200)

def readData (ser):

kamēr ser.inWaiting () == 0: ser.write ([0])

txt = ""

kamēr True: c = ser.read () if c == '\ n': break elif c == '\ r': turpināt

txt = txt + c

dados = txt.split (":")

atdod tēti

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

importēt paho.mqtt.client kā paho SERVIDOR_LOGIN = "" SERVIDOR_SENHA = "" SERVIDOR_ENDERECO = "localhost"

klients = paho. Client ()

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

def publicar (dados, cli):

mēģiniet: publicēt_nosaukums = '' ja dados [0] == 'S1': publicēt_vārds = "/qualcomm/umidade" elif dados [0] == 'S2': publicēt_nosaukums = "/qualcomm/temperatura" elif dados [0] = = 'S3': publicēt_nosaukums = "/qualcomm/luminosidade" elif dados [0] == 'S4': publicēt_nosaukums = "/qualcomm/luzvisivel" elif dados [0] == 'S5': publicēt_nosaukums = "/qualcomm/infravermelho "elif dados [0] == 'S6': publicēt_nosaukums ="/qualcomm/ultravioleta "cits: atgriezties Nepareizi

kamēr cli.publish (publicēt_vārds, dados [1]) [0]! = 0:

caurlaide izdrukāt publicēt_nosaukums+"="+dados [1]

kamēr cli.loop ()! = 0:

iziet

izņemot:

iziet

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

Lai izveidotu savienojumu ar pakalpojumu Dragonboard, var izveidot savienojumu ar 3G, izmantot modemu 3G HSUPA USB Stick MF 190 un izmantot operētājsistēmu TIM.

Brīdinājuma emisija, vai sistēma ietver pakalpojumu PABX Asterisc. Semper que é nepieciešamība 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. Instalējiet vai pievienojiet Asterisc vokê pode seguir saiti (https://www.howtoforge.com/tutorial/how-to-install-asterisk-on-debian/).

3. solis: Placa Mezzanine Com Sensores

Placa Mezzanine Com Sensores
Placa Mezzanine Com Sensores

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

I) Luminosidādes sensors

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

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

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

Este ē um sensoru daudzkanālu capaz de detectar luz ultravioleta, infra-vermelho e luz visível.

Biblioteka:

Izmantojiet biblioteka disponível através do link abaixo, conectamos o sensor através da porta I2C disponível. Leitura é feita da seguinte maneira:

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

void loop () {

vl = SI1145. ReadVisible ();

ir = SI1145. ReadIR ();

uv = grīda ((pludiņš) SI1145. ReadUV ()/100);

}

III) Temperatūras un mitruma sensors

"Grove - Temperatūras un mitruma sensors Sensor Pro" https://wiki.seeed.cc/Grove-Temperature_and_Humidi… Este sensors un detalizācijas temperatūras un mitruma relatīvā attiecība.

Biblioteka:

Conectamos este sensor and porta analógica A0 and utilizamos o seguinte código para 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, onde cada estado é responseável por uma leitura. Como são 6 leituras no total, teremos 6 estados, organizado da seguinte forma:

int STATE = 0;

void loop () {

slēdzis (STATE) {

0. gadījums:… pārtraukums;

5. gadījums:

… Pārtraukums;

}

STATE = (STATE+1)%6;

}

Para evitar leituras desnecessárias, vai estgalio galīgo izpildi quando un Qualcomm DragonBoard 410c está pronta para receber as information. Para isto, utilizamos uma espera ocupada:

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

}

Cada leitura de sensor é enviada individualmento após and 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. Skatiet, kā mudanças na leitura ela é enviada. Funkcijas dubultā pārveidošana par virkni. Já a função sprintf formate 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 (dati, 4, 2, temp); sprintf (sendBuffer, "S%d:%s", sensorCode, temp); Serial.println (sendBuffer); } void loop () {… 0. gadījums: h = dht.readHumidity (); sendSensorData (1, h, lastH); pēdējaisH = h; pārtraukums; …}

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

4. solis: 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 var izmantot 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 procesors de eletrólise cria um rezistors virtuāls quando vai dispitivo é 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. darbība: informācijas panelis

Mērinstrumentu panelis
Mērinstrumentu panelis

A Dashboard tem como galvenais objekts organizēt un apresentar melhor os conteúdos informativos dos sensores coletados, dando a eles um design more interativo, além trazer informationções a respeito de precīzs turissticos de diversos pontos da cidade e do trânsito local. Izmantojiet HTML5 tehnoloăiju, lai to izmantotu.

Ieteicams: