Съдържание:

ИНФОРМАЦИЯ: Информационна информация, която се предлага на 5 етапа
ИНФОРМАЦИЯ: Информационна информация, която се предлага на 5 етапа

Видео: ИНФОРМАЦИЯ: Информационна информация, която се предлага на 5 етапа

Видео: ИНФОРМАЦИЯ: Информационна информация, която се предлага на 5 етапа
Видео: 🎶 ДИМАШ SOS. История выступления и анализ успеха | Dimash SOS 2024, Юли
Anonim
ИНФОРМАЦИЯ: Информационна плата, която се предлага на Собра
ИНФОРМАЦИЯ: Информационна плата, която се предлага на Собра

Quem nunca saiu de casa com roupas de frio e quando chegou no destino estava fazendo o maior sol ?! Представете си, então, poder acompanhar em tempo real a 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, sabre 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 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.

A IN-FORMA e a 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 temperature, 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, e 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 allowido a solicitar autorização para integrar à plataforma suas próprias aplicações fazendo uso dos dados disponibilizados e, включително, out toíííííà íàíàíèñíàíèñàíàíèñàíàíèñàíàíèñàíàíèñàíàíèñíàñòàíà.

A IN-FORMA, além de poder integrator diversos tipos de aplicações desenvolvidas pelos usuários e empresas, conta com um system de mapeamento de inundações desenvolvida pela própria. Като inundações trazem muitos problemas à população, tanto de saúde pública, quanto ambientais e sociais. Por 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 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 система é de extremema utilidade em dias de chuva, pois informa os locais mais prejudicados pela água, evitando que a população transite por estes. Além disco, o system 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

A proposta é o desenvolvimento de uma plataforma aberta para integração de diversos dispositivos. Архитектура на системата е базирана на комуникационното въвеждане на ума плака Dragonboard, мунида да плака де conexão 96 борда, com за обслужване AWS за Amazon, използваща Framework Mosquitto за вечно поддържане на комуникация чрез протокол MQTT.

A 96 -тата платка предлага Atmel ATMEGA328, която предлага цифрови и аналитични аналози, които позволяват интеграция на Qualcomm Dragonboard 410c с сензори. Съобщение, въведено от Dragonboard и 96 борда, е предназначено за протокол I²C (Междуинтегрална схема).

Os dados coletados nos dispositivos são enviados para o servidor por meio do protocolo de comunicação TCP/IP. Няма сървър като информация, която да е достъпна за достъп до API на API, възможно е да се предостави информация за получаване на информация чрез qualquer използване на meio изисквания HTTP и API Restfull API. Há, включително, ума манейра прости, които визуализират os dados em uma Dashboard baseada в HTML5.

Стъпка 2: Placa Dragonboard

Placa Dragonboard
Placa Dragonboard

Qualcomm Dragonboard 410c е ambiente de desenvolvimento за прототипаж на проекти. Едно и също хардуерно еквивалентно на Moto G, изработено от Motorola. No desenvolvimento da plataforma ela foi utilizada como servidor local para o system. Не е изпълнено от Framework Mosquitto за промотор и взаимодействие чрез MQTT entre или локален сървър на e или сървидор директор. Няма връзка https://www.digitalocean.com/community/questions/h… é е възможно да се включи в урок за съвместно инсталиране на MQTT без Debian. От операционната система на операционната система се използва Linux Linaro, която е базирана в Debian. Няма връзка https://www.embarcados.com.br/linux-linaro-alip-na… é е възможно да се включи урок за съвместно инсталиране на Linux Linaro-ALIP на Qualcomm DragonBoard 410C.

Qualcomm Dragonboard 410c предварително се комуникира с мезонин за получател като информация за колета без сензор и околна среда за обслужване на MQTT локално или дистанционно. Използвайте python e comunicação сериал.

O código abaixo detalha este processo. А 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 format "S (código do sensor):(valor do sensor)". Após a leitura, separa o código do valor e retorna.

внос сериен ser = serial. Serial ('/dev/tty96B0', 115200)

def readData (ser):

докато ser.inWaiting () == 0: ser.write ([0])

txt ="

while True: c = ser.read () if c == '\ n': break elif c == '\ r': продължи

txt = txt + c

dados = txt.split (":")

връщане на пати

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

импортиране на 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):

опитайте: 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

докато cli.publish (имя на публикация, dados [1]) [0]! = 0:

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

докато cli.loop ()! = 0:

пропуск

с изключение:

пропуск

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

За комуникация на сървъра и Dragonboard е свързано свързване на сървъра с адреси за ума conexão 3G, използване на модем 3G HSUPA USB Stick MF 190 използване на операционна система TIM.

За излъчване на сигнали, в системата за контакт на сървъра на PABX Asterisc. Semper que é needário 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. За инсталацията или Asterisc você настройка на връзката (https://www.howtoforge.com/tutorial/how-to-install-asterisk-on-debian/).

Стъпка 3: Placa Mezzanine Com Sensores

Плаца Мецанин Com Sensores
Плаца Мецанин Com Sensores

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

I) Sensor de luminosidade

O сензор LDR é um led ativado pela luminosidade que incide sobre ele. A leitura é feita através da porta analógica A0.

Допълнителен сензор: ldr = analogRead (LDRPIN) /10.0

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

Este é um сензорен мултиканален капацитет за откриване на ултравиолетови лъчи, инфра-вермело и луз визивел.

Библиотека:

Използвайте библиотека, която не е подходяща за свързване, свързвайки или свързвайки сензори за порта I2C. A leitura é feita da seguinte maneira:

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

void loop () {

vl = SI1145. ReadVisible ();

ir = SI1145. ReadIR ();

uv = етаж ((поплавък) SI1145. ReadUV ()/100);

}

III) Сензор за температура и ум

"Grove - Sensor Temperature and Humidity Pro" https://wiki.seeed.cc/Grove-Temperature_and_Humidi… Естествен сензор е способен да определя температурата на детектора и да го редуцира.

Библиотека:

Conectamos естествен сензор на портална аналогова A0 и използвана в полза на 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 () {

превключвател (STATE) {

случай 0:… прекъсване;

случай 5:

… почивка;

}

СЪСТОЯНИЕ = (СЪСТОЯНИЕ+1)%6;

}

За всякакви нужди, които трябва да бъдат изпълнени, е необходимо да се изпълни актуална информация за Qualcomm DragonBoard 410c, която е достъпна като информация като информация. Para isto, utilizamos uma espera ocupada:

void loop () {while (! Serial.available ()) забавяне (10); while (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. Se houver mudanças na leitura ela é enviada. Функционален dtostrf преобразува двоен пара низ. Já a função sprintf формат низ за ser enviada pela сериен com a função Serial.println.

char sendBuffer [20], temp [10]; void sendSensorData (int sensorCode, двойни данни, двойни lastData) {if (data == lastData) връщане; dtostrf (данни, 4, 2, temp); sprintf (sendBuffer, "S%d:%s", sensorCode, temp); Serial.println (sendBuffer); } void loop () {… случай 0: h = dht.readHumidity (); sendSensorData (1, h, lastH); последенH = h; прекъсване; …}

O código completo 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 см от кабо де пар трансадо, quatro fios foram dispostos. O процесът на електрическа обработка на резистор на виртуалното устройство за диспозиция и инудация.

За десенволвименто до кодиго, за да използвате IDE до Arduino com като библиотека: Pubsub-клиент (https://pubsubclient.knolleary.net/) ESP8266 (https://github.com/esp8266/Arduino).

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

Стъпка 5: Табло за управление

Табло
Табло

A Dashboard tem como main objetivo organizar e apresentar melhor os contextúdos informativos dos sensores coletados, dando a eles um design mais interativo, além trazer informações a respeito de pontos turísticos de diversos pontos da cidade e do trânsito local. Използвайте технология HTML5, за да я използвате.

Препоръчано: