Talaan ng mga Nilalaman:

IN-FORMA: isang Plataforma De Informações Sobre Sua Cidade: 5 Mga Hakbang
IN-FORMA: isang Plataforma De Informações Sobre Sua Cidade: 5 Mga Hakbang

Video: IN-FORMA: isang Plataforma De Informações Sobre Sua Cidade: 5 Mga Hakbang

Video: IN-FORMA: isang Plataforma De Informações Sobre Sua Cidade: 5 Mga Hakbang
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Nobyembre
Anonim
IN-FORMA: isang Plataforma De Informações Sobre Sua Cidade
IN-FORMA: isang 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 ?! Pag-isipan, então, poder acompanhar em tempo real a temperatura de diversos pontos de sua cidade, semper estando paghahanda para sa que der e vier! Iyon, 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. Kumuha ng isang IN-FORMA, maaari mong gamitin ang iyong 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 saber a condição dos ventos no momento para analisar a melhor hora de sair de casa.

Isang IN-FORMA ay isang mais nova plataforma web que integra diversos tipos de informaçõ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. Alem de contar com todos esses sensores, isang plano para sa Google Maps, na ibabalita ang impormasyon tungkol sa localização, at 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 sa integrar sa plataforma suas próprias aplicações fazendo uso dos naging disponibilizados e, inclusive, pode solicitar acessos.

Isang IN-FORMA, alem 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. Tulad ng inundações trazem muitos problemas à população, tanto de saúde pública, quanto ambientais e sociais. Para sa mga ito, ang mga lungsod sa sistemas de drenagem na mga kulang, é de extrema 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 installados nas vias ou calçadas. Este sistema é de extrema utilidade em dias de chuva, pois informa os locais mais prejudicados pela água, evitando que a população transite por estes. Além disso, o sistema de drenagem das ruas pode ser melhorado com os magiging fornecidos pela plataforma, que mostram o nível da água ao longo do dia e os pontos críticos de alagamento da região.

Hakbang 1: Arquitetura Da Plataforma

Arquitetura Da Plataforma
Arquitetura Da Plataforma

Isang proposta é o desenvolvimento de uma plataforma aberta para sa integração de diversos dispositivos. Ang isang arquitetura ay gagamitin upang mai-install ang lahat ng mga plano sa Dragonboard, na magsimula sa 96 na mga board, upang magamit ang AWS mula sa Amazon na magagamit o Framework Mosquitto upang mapalitan ang isang comunicação sa pamamagitan ng protocol ng MQTT.

Ang isang 96boards ay matatagpuan sa Atmel ATMEGA328 para sa entradas digitais e analógicas e, com isto, pahintulutan ang isang integração da Qualcomm Dragonboard 410c com sensores. Ang isang comunicação entre isang Dragonboard at isang 96board upang gawin ang protokol I²C (Inter-Integrated Circuit).

Dapat gawin ang mga ito upang maibigay ang mga serbisyo para sa mga serbisyo na gawin ang mga proteksyon ng TCP / IP. Walang servidor bilang informações são disponibilizadas através de uma API pública, posibilitando a obtenção dessas informações por qualquer usuário por meio requisições HTTP a uma Restfull API. Há, inclusive, uma maneira simples de visualizar os magiging em uma Dashboard baseada em HTML5.

Hakbang 2: Placa Dragonboard

Placa Dragonboard
Placa Dragonboard

Isang Qualcomm Dragonboard 410c é um ambiente de desenvolvimento para prototipagem de projetos. Ang isang palagay na hardware na katumbas ng Moto G, ang iba pang Motorola. Walang desenvolvimento da plataforma ela foi utilizada como servidor local para sa sistema. Ito ay ang pagpapatupad ng Framework Mosquitto para sa pagtataguyod ng isang interação sa pamamagitan ng MQTT entre o servidor local at servidor prinsipal. Walang link https://www.digitalocean.com/community/questions/h… é possível encontrar um tutorial de como installar o MQTT no Debian. Ang sistema ng pagpapatakbo ay ginagamit sa pamamagitan ng diskarte ng Linux Linaro, na base sa kanilang Debian. Walang link https://www.embarcados.com.br/linux-linaro-alip-na… é possível encontrar um tutorial de como installar o Linux Linaro-ALIP na Qualcomm DragonBoard 410C.

Ang isang Qualcomm Dragonboard 410c na kinakailangan upang maisagawa ang Mezzanine para sa receber bilang impormasyon para sa mga sensor na walang sensor at mga serbisyo para sa lokal na MQTT na iyong remoto. Utilizamos python at comunicação serial.

O código abaixo detalha este processo. Isang kasiyahan na binasaData envia bytes até que o Mezzanine faça uma leitura e devolva a resposta. Ang isang recosta isang resposta, maaari mong gawin ang serial serial de deferá estar na walang formato na "S (código do sensor):(matapang gawin ang sensor)". Após a leitura, separa o código do valor e retorna.

i-import ang serial ser = serial. Serial ('/ dev / tty96B0', 115200)

def readData (ser):

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

txt ="

habang Totoo: c = ser.read () kung c == '\ n': break elif c == '\ r': magpatuloy

txt = txt + c

dados = txt.split (":")

bumalik maging

dados = readData (ser)

Ito ay para sa mga recebidos, ito ay maaaring gawin sa publiko ng walang serbisyo sa MQTT. Isang 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 adequado.

i-import ang paho.mqtt.client bilang 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, kliyente):

subukan: publish_name = '' kung naging [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 "iba pa: ibalik ang Mali

habang pasi.publish (publish_name, naging [1]) [0]! = 0:

ipasa ang print publish_name + "=" + naging [1]

habang pasi.loop ()! = 0:

pumasa

maliban sa:

pumasa

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

Para sa comunicação com o servidor ng isang Dragonboard ay nagtatagumpay sa iyong serbisyo sa 3G, gamitin ang modem 3G HSUPA USB Stick MF 190 na magagamit ng isang operadora TIM.

Para sa emissão de alertas, o sistema ng iyong serbisyo sa PABX Asterisc. Semper que é mustário emitir um alerta, o servidor é responsável por enviar uma chamada de voz ou uma mensagem de texto para sa sistema de emergência da região. Para sa pag-install ng Asterisc você pode seguir o link (https://www.howtoforge.com/tutorial/how-to-install-asterisk-on-debian/).

Hakbang 3: Placa Mezzanine Com Sensores

Placa Mezzanine Com Sensores
Placa Mezzanine Com Sensores

Tingnan ang Sensores se conectam com o Mezzanine: luminosidade, luz solar e temperatura at umidade.

I) Sensor de luminosidade

O sensor LDR é um led ativado pela luminosidade que incide sobre ele. Isang 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"

Ito ang sensor ng multi-canal capaz de detectar luz ultravioleta, infra-vermelho at luz visível.

Biblioteca:

Gumamit ng isang biblioteca disponível através do link abaixo, conectamos o sensor através da porta I2C disponível. Isang leitura é feita da seguinte maneira:

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

void loop () {

vl = SI1145. ReadVisible ();

ir = SI1145. ReadIR ();

uv = sahig ((float) SI1145. ReadUV () / 100);

}

III) Sensor de temperatura e umidade

"Grove - Temperatura at Humidity Sensor Pro" https://wiki.seeed.cc/Grove-Temperature_and_Humidi… Ang sensor na ito ay maaaring makita ang temperatura at umalinsunod na relativa.

Biblioteca:

Ang koneksyon ng sensor na ito ay ang A0 na ginagamit upang mai-install ang mga ito para sa leitura:

DHT dht (DHTPIN, DHTTYPE);

walang bisa ang pag-setup () {

dht.begin (); }

void loop () {

h = dht.readHumidity ();

t = dht.readTemperature ();

}

Para sa hindi magandang paraan ng 3 sensores no Mezzanine, criamos uma máquina de estados, onde cada estado é responsável por uma leitura. Walang 6 na mga numero sa kabuuan, mga 6 na estado, organisado ng lahat ng mga form:

int STATE = 0;

void loop () {

switch (STATE) {

kaso 0:… masira;

kaso 5:

… pahinga;

}

STATE = (STATE + 1)% 6;

}

Para sa iba pang mga detalyadong impormasyon, o estágio atual só executa quando a Qualcomm DragonBoard 410c está pronta para receber as informações. Para sa iyo, paggamit ng lahat sa iyo:

void loop () {habang (! Serial.available ()) pagkaantala (10); habang (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 sa isang ser enviado e o último dado utilizado. Se houver mudanças na leitura ela é enviada. Ang isang função dtostrf ay nagko-convert ng doble para sa string. Ang isang função sprintf formata isang string para sa servierye kasama serial com a função Serial.println.

char sendBuffer [20], temp [10]; walang bisa ang sendSensorData (int sensorCode, dobleng data, doble lastData) {kung (data == lastData) bumalik; dtostrf (data, 4, 2, temp); sprintf (sendBuffer, "S% d:% s", sensorCode, temp); Serial.println (sendBuffer); } void loop () {… case 0: h = dht.readHumidity (); sendSensorData (1, h, hulingH); hulingH = h; pahinga; …}

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

Hakbang 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 ay magagamit para sa 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 sa desenvolvimento do código, maaari mong gamitin ang isang IDE na gawin ang Arduino com bilang bibliotecas: Pubsub-client (https://pubsubclient.knolleary.net/) ESP8266 (https://github.com/esp8266/Arduino).

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

Hakbang 5: Dashboard

Dashboard
Dashboard

Ang isang Dashboard ay nagtuturo ng punong tagapagtaguyod ng organisasyong ito upang mai-update ang impormasyon tungkol sa mga sensors coletados, upang makagawa ng disenyo ng inter intervasyon, mga tagapagbalita ng impormasyon tungkol sa isang respeto ng pontos turísticos de diversos pontos da cidade at gawin ang lokal na lugar. Magagamit ang isang tecnologia HTML5 para sa iyong desenvolvimento.

Inirerekumendang: