Sisukord:

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

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

Video: IN-FORMA: Plataforma De Informações Sobre Sua Cidade: 5 sammu
Video: COMO É O DIA A DIA DO SAMU? - ACHISMOS PODCAST #49 2024, Juuli
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 ?! Kujutlege, então, podker acompanhar em tempo reaalne temperatuur ja mitmekesine täpne sua cidade, semper estando preparado para o que der e vier! Ou, então, evitar transitar pelos principais täps de alagamento durante uma forte tempestade e, até mesmo, saber or índice de radiação UV antes de ir para uma praia ou um parque para se proteger adekvaatne vastand os danos do sol. Com in IN-FORMA, tudo isso é possível em um só lugar! Você pode acompanhar või 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. See kõne on tema kaaslane, näiteks, pode saber a condição dos ventos no momento para analisar a melhor hora de sair de casa.

A IN-FORMA e a mais nova plataforma web que integra diversos tipos de informationções a respeito da sua cidade. São espalhados em diversos täps 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 directta com o Google Maps, trazendo informationções sobre or 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 loadido and solicitar autorização para integrar à plataforma suas próprias aplicações fazendo uso dos dados disponibilizados e, inclusive, pode solicososcess.

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 problems à 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 täps da cidade, através de aparelhos instalados nas vias ou calçadas. Este süsteem é de extremema utilidade em dias de chuva; Além disso, või süsteem 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äpne críticos de alagamento da região.

Samm: Arquitetura Da Plataforma

Arquitetura Da Plataforma
Arquitetura Da Plataforma

A proposta é o desenvolvimento de uma plataforma aberta para integração de diversos dispositivos. Arhitektuurisüsteem ja baas, mis on loodud ühenduse loomiseks Dragonboardi, 96 -tahvli platside, AWS -i teenuste ja Amazonase raamistiku teenuste vahel või Mosquitto protokolli MQTT kaudu.

A 96boards estam munida de um Atmel ATMEGA328 que provê entradas digitalis and analógicas e, com isto, permite a integração da Qualcomm Dragonboard 410c com sensores. Kommunikatsioonisüsteem Dragonboard ja 96boards se dá através do protocolo I²C (Integreeritud ahel).

Os dados coletados nos dispositivos são enviados para or servidor por meio do protocolo de comunicação TCP/IP. No servidor as information as são disponibilizadas através de uma API pública, võimalus ja obtenção dessas informations of qualquer usuário por meio requisições HTTP and uma Restfull API. Kaasas, kõik lihtsad visuaalsed kujutised ja isade juhtpaneel HTML5 -s.

2. samm: Placa Dragonboard

Placa draakonlaud
Placa draakonlaud

Qualcomm Dragonboard 410c on ambientte de desenvolvimento para prototipagem de projetos. Moto G riistvara samaväärne riistvara, Motorola. No desenvolvimento da plataforma ela foi utilizada como servidor local para o system. Nela é executada o Framework Mosquitto para propover a interactção via MQTT entre o servidor local e o servidor principal. Link puudub: https://www.digitalocean.com/community/questions/h… e possível encontrar um tutorial de como instalar or MQTT no Debian. Operatsioonisüsteemi operatsioonisüsteemi ja Linuxi Linaro plaadi kasutamine, mis on Debiani aluseks. Link puudub https://www.embarcados.com.br/linux-linaro-alip-na… ja selle sisuga tutvumise õpetus või Linux Linaro-ALIP ja Qualcomm DragonBoard 410C.

A Qualcomm Dragonboard 410c on täpne ja kommunikeeritud. Mezzanine para vastuvõtja teabena ei ole andur ega keskkond MQTT kohalik või remoto. Kasutage pythonit ja comunicação seeriat.

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 serial que deverá estar no formatato "S (código do sensor):(valor do sensor)". Após a leitura, separa o código do valor e retorna.

impordi seeria ser = jada. Seriaal ('/dev/tty96B0', 115200)

def readData (ser):

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

txt = ""

samas tõsi: c = ser.read () kui c == '\ n': murda elif c == '\ r': jätka

txt = txt + c

dados = txt.split (":")

tagasi isad

dados = readData (ser)

Com os dados recebidos, e possível publicar no servidor MQTT. 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.

importige paho.mqtt.client nimega 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 ()

avalik (dados, cli):

proovige: avaldada_nimi = '' kui dados [0] == 'S1': avaldamisnimi = "/qualcomm/umidade" elif dados [0] == 'S2': avaldamisnimi = "/qualcomm/temperatura" elif dados [0] = = 'S3': avaldama_nimi = "/qualcomm/luminosidade" elif dados [0] == 'S4': avaldamisnimi = "/qualcomm/luzvisivel" elif dados [0] == 'S5': avaldamisnimi = "/qualcomm/infravermelho "elif dados [0] == 'S6': avaldamise_nimi ="/qualcomm/ultravioleta "else: return Väär

samas cli.publish (avaldada_nimi, isad [1]) [0]! = 0:

pass print_nimi+"="+dados [1]

samas cli.loop ()! = 0:

üle andma

välja arvatud:

üle andma

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

Kui soovite ühendada Dragonboardi, saate selle teenusepakkujalt ühenduse luua, kasutades 3G -ühendust, modemi 3G HSUPA USB -mälupulk MF 190 ja operatiivset TIM -i.

Hädaolukorras, süsteemis on teenusepakkuja PABX Asterisc. Semper que é vajadus 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. Installige või tärniga sõnavõtu segu või link (https://www.howtoforge.com/tutorial/how-to-install-asterisk-on-debian/).

3. samm: Placa Mezzanine Com Sensores

Placa Mezzanine Com Sensores
Placa Mezzanine Com Sensores

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

I) Valgusandur

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

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

II) Päikeseandur "Grove - Sunlight Sensor"

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

Biblioteca:

Kasutage biblioteka disponível através do link abaixo, conectamos or sensor através da porta I2C disponível. A leitura fe fe da da seguinte maneira:

SI114X SI1145 = SI114X (); tühine seadistus () {SI114X SI1145 = SI114X (); }

void loop () {

vl = SI1145. ReadVisible ();

ir = SI1145. ReadIR ();

uv = põrand ((float) SI1145. ReadUV ()/100);

}

III) Temperatuuri ja niiskuse andur

"Grove - temperatuuri ja niiskuse andur Pro" https://wiki.seeed.cc/Grove-Temperature_and_Humidi… Este sensor ja detekteerimistemperatuuri ja niiskuse suhtarv.

Biblioteca:

Kontaktanduri andur ja portatiivne A0 ja nende kasutamine või segunemine:

DHT dht (DHTPIN, DHTTYPE);

tühine seadistus () {

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 STATE = 0;

void loop () {

lüliti (STATE) {

juhtum 0:… paus;

juhtum 5:

… Murda;

}

RIIK = (RIIK+1)%6;

}

Ebameetodid, mis on vajalikud ja kas Qualcomm DragonBoard 410c on võimeline teabe vastuvõtjana jõudma. Para isto, utilizamos uma espera ocupada:

void loop () {while (! Serial.available ()) delay (10); samas (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. Vaadake mudanças na leitura ela é enviada. Funktsiooni dtostrf teisendus kahekordseks para stringiks. Já a função sprintf format the 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 (andmed, 4, 2, temp); sprintf (sendBuffer, "S%d:%s", sensorCode, temp); Serial.println (sendBuffer); } void loop () {… juhtum 0: h = dht.readHumidity (); sendSensorData (1, h, viimaneH); viimaneH = h; murda; …}

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

Samm: andur De Alagamento Utilizando NodeMCU

Andur Alagamento Utilizando NodeMCU
Andur Alagamento Utilizando NodeMCU
Andur Alagamento Utilizando NodeMCU
Andur Alagamento Utilizando NodeMCU
Andur Alagamento Utilizando NodeMCU
Andur Alagamento Utilizando NodeMCU

O NodeMCU on kasutuses fazer ja 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 protsessor de eletrólise cria um resistor virtal quando o dispositivo é inundado.

Codigo, desenvolvimento do código, IDI do Arduino com bibliotecas kasutamiseks: Pubsub-client (https://pubsubclient.knolleary.net/) ESP8266 (https://github.com/esp8266/Arduino).

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

Samm: armatuurlaud

Armatuurlaud
Armatuurlaud

A Armatuurlaua peamised objektid korraldavad ja esitavad meloodiaid, mis on informatiivsed ja kui nad ei tea, millised on disainilahendused, millised on disainilahendused ja millised on interaktiivsed, kui teil on teavet selle kohta, mis on täpne ja mitmekesine, kui see on kohalik. Kasutage HTML5 tehnoloogiat ja kasutage seda desenvolvimento.

Soovitan: