فهرست مطالب:

IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 مرحله
IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 مرحله

تصویری: IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 مرحله

تصویری: IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: 5 مرحله
تصویری: Шумеры - падение первых городов 2024, جولای
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 ؟! تصور کنید ، بنابراین ، poder acompanhar em tempo real a temperatura 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، saber o índice de radiação UV antes de ir para uma praia ou um parque para se proteger mjaftadadamente contra os danos do sol. Com a 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 saber a condição dos ventos no momento para analisar a melhor hora de sair de casa.

A IN-FORMA یک وب سایت جدید است که به شما کمک می کند تا اطلاعاتی را در مورد یک 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. Além de contar com todos esses sensores، a plataforma tem conexão direta com o Google Maps، trazendo informações sobre o trânsito e localização، and 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 allow a autoricção for integrar à plataforma suas próprias aplicações fazendo uso dos dados disponiboscesssosoisosososoisoosososoisoisososoisososososoiso، vidososoisoisosososososos، iososoisos، iososodeoisos، iososodeo، iososodeo، iososío، iososío، ionoodei، به

A 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. As inundações trazem muitos problemas à população، tanto de saúde pública، quanto ambientais e sociais. For isso، em cidades com sistemas de drenagem ineficientes، é 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 instalados nas vias ou calçadas. این سیستم به طور گسترده ای از ما استفاده می کند ، اطلاعات خود را در مورد موقعیت پیشین خود می دانیم ، و این امر به دلیل محبوبیت عمومی در گذر است. 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.

مرحله 1: Arquitetura Da Plataforma

Arquitetura Da Plataforma
Arquitetura Da Plataforma

proposta é o desenvolvimento de uma plataforma aberta para integração de diversos dispositivos. به منظور استفاده از سیستم های ارتباطی Dragonboard ، برای نصب و راه اندازی 96board ، از AWS و آمازون استفاده کنید و از Framework Mosquitto برای ارتباط با پروتکل MQTT استفاده کنید.

یک 96 تخته از این Atmel ATMEGA328 استفاده می کند که می تواند دیجیتال و تجزیه و تحلیل را انجام دهد ، و همچنین می توانید از سنسورهای Qualcomm Dragonboard 410c com استفاده کنید. یک برنامه ارتباطی یک تخته Dragon و یک 96 تخته را از طریق پروتکل I²C (مدار مجتمع) وارد کنید.

Os dados coletados nos dispositivos são enviados para or servidor for meio do protocolo de comunicação TCP/IP. هیچ سرویس دهنده ای به عنوان اطلاعاتی برای دسترسی به برنامه های کاربردی API uma p ،blica ، قادر به استفاده از اطلاعات بیشتر در زمینه استفاده از HTTP a uma Restfull API نیست. از این رو ، فراگیر ، uma maneira برای نمایش تجسم و استفاده از داشبورد پایه HTML5 ساده می شود.

مرحله 2: Placa Dragonboard

Placa Dragonboard
Placa Dragonboard

یک Qualcomm Dragonboard 410c در محیطی مناسب برای طراحی اولیه برای پروژه های اولیه است. یک پلاک سخت افزاری معادل ao Moto G ، fabricado pela Motorola. هیچ برنامه ای برای استفاده از خدمات محلی برای سیستم استفاده نمی شود. اجرای برنامه Framework Mosquitto برای ترویج و پشتیبانی از طریق MQTT یا خدمات محلی و یا سرویس دهنده اصلی. بدون پیوند https://www.digitalocean.com/community/questions/h… é í enc um um de de de o M o o MQTT بدون Debian. سیستم عامل ما از طریق برنامه های کاربردی و لینوکس لینارو ، یا پایه و اساس Debian استفاده می کند. بدون پیوند https://www.embarcados.com.br/linux-linaro-alip-na… می توانید آموزش نصب و راه اندازی لینوکس Linaro-ALIP و Qualcomm DragonBoard 410C را در اختیار داشته باشید.

Qualcomm Dragonboard 410c می تواند به عنوان گیرنده ای برای اندازه گیرنده به عنوان گیرنده اطلاعاتی در نظر گرفته شود که از هیچ سنسور و محیطی برای سرویس MQTT محلی یا از راه دور استفاده نمی کند. سریال Utilizamos python e comunicação.

O código abaixo detalha este processo. یک خواندن جالب داده ها در مورد محتوای موردنظر از طریق 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.

سریال واردات سریال = سریال. سریال ('/dev/tty96B0'، 115200)

def readData (ser):

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

txt = ""

while True: c = ser.read () اگر c == '\ n': break elif c == '\ r': ادامه

txt = txt + c

dados = txt.split (":")

برگرد دادوش

dados = readData (ser)

Com os dados Recebidos ، می توانید یک 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 mjaftado.

وارد کردن paho.mqtt.client به عنوان paho SERVIDOR_LOGIN = "" SERVIDOR_SENHA = "" SERVIDOR_ENDERECO = "localhost"

مشتری = paho. Client ()

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

def publicar (dados، cli):

سعی کنید: public_name = '' if dados [0] == 'S1': public_name = "/qualcomm/umidade" elif dados [0] == 'S2': public_name = "/qualcomm/temperatura" elif dados [0] = = 'S3': public_name = "/qualcomm/luminosidade" elif dados [0] == 'S4': published_name = "/qualcomm/luzvisivel" elif dados [0] == 'S5': publik_name = "/qualcomm/infravermelho "elif dados [0] == 'S6': published_name ="/qualcomm/ultravioleta "else: return False

در حالی که cli.publish (public_name، dados [1]) [0]! = 0:

پاس چاپ print_name+"="+dados [1]

در حالی که cli.loop ()! = 0:

عبور

جز:

عبور

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

برای ارتباط با سرویس Dragonboard و یا خدمات رسانی از طریق اتصال 3G ، استفاده از مودم 3G HSUPA USB Stick MF 190 برای استفاده از TIM استفاده کنید.

Para emissão de alertas، o sistema conta com um servidor PABX Asterisc. Semper que é needário emitir um alerta، o servidor é responsável for 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/).

مرحله 3: Placa Mezzanine Com Sensores

Placa Mezzanine Com Sensores
Placa Mezzanine Com Sensores

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

I) حسگر luminosidade

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

سنسور Leitura do: ldr = analogRead (LDRPIN) /10.0

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

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

Biblioteca:

با استفاده از کتابخانه ای که به آن دسترسی دارید ، پیوند abaixo ، conectamos o sensor através da porta I2C disponível را استفاده کنید. A leitura é feita da seguinte maneira:

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

حلقه خالی () {

vl = SI1145. ReadVisible ()؛

ir = SI1145. ReadIR ()؛

uv = طبقه ((شناور) SI1145. ReadUV ()/100) ؛

}

III) سنسور دمای طبیعی و امیدی

«Grove - Temperature and Humidity Sensor Pro»

Biblioteca:

Conectamos este sensor and porta analógica A0 e utilisamos or seguinte código para leitura:

DHT dht (DHTPIN ، DHTTYPE) ؛

void setup () {

dht.begin ()؛ }

حلقه خالی () {

h = dht.readHumidity ()؛

t = dht.readTemperature ()؛

}

برای استفاده از آن در 3 سنسور no no Mezzanine، criamos uma máquina de estados، onde cada estado é responsável por uma leitura. Como são 6 leituras no total، teremos 6 estados، organizado da seguinte forma:

int STATE = 0؛

حلقه خالی () {

تغییر (STATE) {

مورد 0:… شکستن ؛

مورد 5:

… زنگ تفريح؛

}

STATE = (STATE+1)٪ 6؛

}

برای جلوگیری از این امر ، می توانید از Qualcomm DragonBoard 410c برای دریافت اطلاعات استفاده کنید. Para isto، utilizamos uma espera ocupada:

void loop () {while (! Serial.available ()) تأخیر (10)؛ در حالی که (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 و o último dado utilizado. Se houver mudanças na leitura ela é enviada. تبدیل یک تابع دوگانه برای رشته. Já a função sprintf فرمت یک رشته را برای سرور پیش بینی سریال com و função Serial.println انجام می دهد.

char sendBuffer [20] ، دما [10] ؛ void sendSensorData (int sensorCode ، data double ، double lastData) {if (data == lastData) بازگشت ؛ dtostrf (داده ها ، 4 ، 2 ، دما) ؛ sprintf (sendBuffer ، "S٪ d:٪ s" ، sensorCode ، temp) ؛ Serial.println (sendBuffer) ؛ } void loop () {… case 0: h = dht.readHumidity ()؛ sendSensorData (1 ، h ، lastH) ؛ lastH = h ؛ زنگ تفريح؛ …}

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

مرحله 4: Sensor De Alagamento Utilizando NodeMCU

سنسور De Alagamento Utilizando NodeMCU
سنسور De Alagamento Utilizando NodeMCU
سنسور De Alagamento Utilizando NodeMCU
سنسور De Alagamento Utilizando NodeMCU
سنسور De Alagamento Utilizando NodeMCU
سنسور De Alagamento Utilizando NodeMCU

O NodeMCU برای استفاده از مراحل اولیه استفاده از این سنسور ، از حسگر استفاده از سنسور استفاده کنید. استفاده از آن را در فاصله 30 سانتی متری ، در فواصل ناهموار ، از بین ببرید. O processo de eletrólise cria um resistor virtal quando o dispositivo é inundado.

برای استفاده از IDE و Arduino com به عنوان کتابخانه استفاده کنید: Pubsub-client (https://pubsubclient.knolleary.net/) ESP8266 (https://github.com/esp8266/Arduino).

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

مرحله 5: داشبورد

داشبورد
داشبورد

یک داشبورد برای سازماندهی اصلی و ارائه اطلاعات در مورد اطلاعات سنسورها ، طراحی ، طراحی و توسعه بین المللی ، و همچنین اطلاعات مربوط به حمل و نقل بین المللی در انواع مختلف و ایجاد اعتبار محلی. برای استفاده از فناوری HTML5 می توانید از آن استفاده کنید.

توصیه شده: