Sadržaj:

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

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

Video: IN-FORMA: Plataforma De Informações Sobre Sua Cidade: 5 koraka
Video: 10 привычек, чтобы стать счастливым 2024, Juli
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 ?! Zamislite, então, poder acompanhar em tempo realne temperature 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, sablja 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, 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 exemplo, pode sabre a condição dos ventos no momento para analisar a melhor hora de sair de casa.

IN-FORMA je nova web stranica koja nudi integraciju informacija o informacijama i poštovanju. São espalhados em diversos pontos to região sensores de temperature, umidade, luminosidade, entre outros, que fornecem em tempo realno kao uslovi daquele local. Além de contar com todos esses sensores, plataforma tem conexão direta com o Google Maps, trazendo informações sobre o trânsito i lokalizacija, ili podešavanje konektara-se i izvan sistema za mapeamento da região. Uma das inovações trazidas pela plataforma é que ela pode contar com a interação do usuário, sendo este allowido a solicitar autorização para integrator à plataforma suas próprias aplicações fazendo uso dos dados disponibilizados e, inclusive, pode solicásios lasiosários las las.

IN-FORMA, alter de poder integrator diversos tipos de appliciones desenvolvidas pelos usuários e empresas, contact com um system de mapeamento de inundações desenvolvida pela própria. Kao što inundações trazem muitos problemas à população, tanto de saúde pública, quanto ambientais e sociais. Porisso, em cidades comistemas de drenagem ineficientes, é de extremema importância a pontuação das regiões mais criticas. Com a plataforma, então, é possível sabre o nível de água nas ruas em vários pontos da cidade, através de aparelhos instalados nas vias ou calçadas. Este sustavi i ekstremi koriste se u dijaspori chuva, a to su informacije koje se nalaze na predrasudama koje su prejudicirane u egipatskoj populaciji. Além disco, o sistemu 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 kriticos de alagamento da região.

Korak 1: Arquitetura Da Plataforma

Arquitetura Da Plataforma
Arquitetura Da Plataforma

Proposta é o desenvolvimento de uma plataforma aberta para integração de diversos dispositivos. Arhitektura sistema zasnovana je na komunikaciji sa entre uma placa Dragonboard -om, sa danocom conexão 96boards, koja služi za servisiranje AWS -a za Amazon koristeći Framework Mosquitto za trajnu komunikaciju preko protokola MQTT.

A 96 ploče nude muzici iz Atmela ATMEGA328 za digitalne i analitičke analize, koje omogućavaju integraciju Qualcomm Dragonboard 410c senzora. Komunikacijski entor Dragonboard i 96boards su dá através do protokol I²C (Inter-Integrated Circuit).

Osim toga, koletada nema dispozitiva u vezi sa okruženjem za servidor preko meio protokola za komunikaciju TCP/IP. Nema poslužitelja kao informacija sa disponibiliziranih i dostupnih API -ja za uma, moguće je i ažuriranje informacija o kvalitativnom korištenju putem mojih zahtjeva HTTP -a i API -ja Restfull API. Uključujući, jednostavne i jednostavne jednostavne upute za vizualizaciju osnove baze podataka nadzorne ploče u HTML5.

Korak 2: Placa Dragonboard

Placa Dragonboard
Placa Dragonboard

Qualcomm Dragonboard 410c je ambijent desenvolvimento za prototipažu projektora. Plava possui hardverska ekvivalentna za Moto G, izrađena od Motorole. No desenvolvimento da plataforma ela foi utilizada como servidor local para or system. Nela izvršite Framework Mosquitto za promoter i interakciju putem entiteta MQTT ili lokalnog poslužitelja ili direktora poslužitelja. Nema veze https://www.digitalocean.com/community/questions/h… ¡e moguće je unijeti uputstvo za instalaciju o MQTT -u bez Debiana. Operativni sistem operativnog sistema je instaliran na Linux -u Linaro, koji je baziran na Debianu. Nema veze https://www.embarcados.com.br/linux-linaro-alip-na… ¡e moguće je unijeti uputstvo za instaliranje Linux Linaro-ALIP-a na Qualcomm DragonBoard 410C.

Qualcomm Dragonboard 410c već se nalazi u komunikaciji sa mezaninom za primaoce kao informacije o koletama bez senzora i okruženju za servis ili MQTT lokalni ili daljinski upravljač. Koristite python e comunicação serijski.

O codigo abaixo detalha este processo. Função readData envia bytes até que o Mezzanine faça uma leitura e devolva a resposta. Ao receber a response, lê uma linha inteira do serial que deverá estar no format "S (código do sensor):(valor do sensor)". Após a leitura, separa o código do valor e retorna.

import serijski ser = serial. Serial ('/dev/tty96B0', 115200)

def readData (ser):

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

txt = ''

dok je True: c = ser.read () if c == '\ n': break elif c == '\ r': nastavi

txt = txt + c

dados = txt.split (":")

povratak tata

dados = readData (ser)

Com os dados recebidos, é possível publicar no servidor MQTT. Comunicação com o servidor é feita koristi biblioteku 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.

uvoz paho.mqtt.client kao paho SERVIDOR_LOGIN = "" SERVIDOR_SENHA = "" SERVIDOR_ENDERECO = "localhost"

client = paho. Client ()

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

def publicar (dados, cli):

pokušajte: published_name = '' if dados [0] == 'S1': published_name = "/qualcomm/umidade" elif dados [0] == 'S2': published_name = "/qualcomm/temperatura" elif dados [0] = = 'S3': published_name = "/qualcomm/luminosidade" elif dados [0] == 'S4': published_name = "/qualcomm/luzvisivel" elif dados [0] == 'S5': published_name = "/qualcomm/infravermelho "elif dados [0] == 'S6': published_name ="/qualcomm/ultravioleta "else: return False

dok je cli.publish (ime_objavljivanja, dados [1]) [0]! = 0:

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

dok je cli.loop ()! = 0:

pass

osim:

pass

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

Za komunikaciju sa poslužiteljem i Dragonboard -om potrebno je povezati konektore servera sa zaštitom od umrežene konekcije 3G, koristeći modem 3G HSUPA USB Stick MF 190 koristeći operaciju TIM.

Za slanje upozorenja, sistem kontaktira servera PABX Asterisc. Semper que é neophodário emitir um alerta, o servidor and responseável por enviar uma chamada de voz ou uma mensagem de texto para system de emergência da regio. Za instalaciju ili postavljanje Asterisc vodiča o vezi (https://www.howtoforge.com/tutorial/how-to-install-asterisk-on-debian/).

Korak 3: Placa Mezanin Com Sensores

Placa Mezzanine Com Sensores
Placa Mezzanine Com Sensores

Três Sensores se povezuju sa mezaninom: luminosidade, luz solarne temperature i umidade.

I) Sensor de luminosidade

O senzor LDR é um vodio aktivirano svjetlo luminosidade que incide sobre ele. Leitura é feita através da porta analógica A0.

Osjetnik osjetljivosti: ldr = analogRead (LDRPIN) /10.0

II) Solarni senzor "Grove - Senzor sunčeve svjetlosti"

Ovaj senzorski višekanalni senzor može otkriti detektor ultraljubičastog zračenja, infra-vermelho i vizuelno.

Biblioteca:

Upotrijebite bibliotečku disponiranu vezu za povezivanje ili povezivanje senzora na portalu I2C dispozicije. Leitura é feita da seguinte maneira:

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

void loop () {{100} {101}

vl = SI1145. ReadVisible ();

ir = SI1145. ReadIR ();

uv = pod ((plutajući) SI1145. ReadUV ()/100);

}

III) Senzor temperature i umidade

"Grove - Temperature and Humidity Sensor Pro" https://wiki.seeed.cc/Grove-Temperature_and_Humidi… Ovaj senzor je u stanju da detektuje temperaturu i relativnu umidadu.

Biblioteca:

Conectamos estetski senzor na porta analnoj A0 i koristi se za sigurnu kontrolu parametra:

DHT dht (DHTPIN, DHTTYPE);

void setup () {

dht.begin (); }

void loop () {{100} {101}

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

void loop () {{100} {101}

prekidač (STATE) {

slučaj 0:… prekid;

slučaj 5:

… Break;

}

STANJE = (STANJE+1)%6;

}

U svakom slučaju, potrebno je izvršiti stvarne radnje kako biste izvršili Qualcomm DragonBoard 410c kao izvor informacija kao informaciju. Para isto, iskoristite uma espera ocupada:

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

}

Cada leitura de sensor i enviada individualment após a leitura através da função sendSensorData. Esta função recebe o codigo do sensor (inteiro), o dado i ser enviado e o último dado utilizado. Se houver mudanças na leitura ela é enviada. Função dtostrf pretvara dvostruki para niz. Já a função sprintf formata niz za ser enviada pela serijski com a função Serial.println.

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

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

Korak 4: Sensor De Alagamento Utilizando NodeMCU

Senzor De Alagamento Koristi NodeMCU
Senzor De Alagamento Koristi NodeMCU
Senzor De Alagamento Koristi NodeMCU
Senzor De Alagamento Koristi NodeMCU
Senzor De Alagamento Koristi NodeMCU
Senzor De Alagamento Koristi NodeMCU

O NodeMCU -u za korištenje parametra za prijenos podataka do niavel -a, upotrijebite senzor za promjenu osjetljivosti. Upotrijebite pedalu od približno 30 cm od kabo de par trançado, četverostruko za dispostore. O procesu električnog napajanja otpornika, potrebno je isključiti i ukloniti ga.

Za desenvolvimento do codigo, za korištenje IDE-a do Arduina com kao biblioteke: Pubsub-klijent (https://pubsubclient.knolleary.net/) ESP8266 (https://github.com/esp8266/Arduino).

O código completeto ser serto visto no arquivo "sensorAlagamento.ino".

Korak 5: Nadzorna ploča

Kontrolna tabla
Kontrolna tabla

Dashboard tem como main objetivo organizator eprepresentar melhor os conteúdos informativos dos sensores coletados, dando a eles um design mais interativo, alm trazer infocsões respecto de pontos turisticos de diversos pontos da cidade e do trânsito local. Da biste koristili HTML5 tehnologiju za desenvolvimento.

Preporučuje se: