Оглавление:

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 шагов
Видео: КИКШЕРИНГ ⚠️ Как за 5 шагов открыть Шеринг Электросамокатов | Бизнес Идеи | Прокат электросамокатов 2024, Ноябрь
Anonim
IN-FORMA: a Plataforma De Informações Sobre Sua Cidade
IN-FORMA: a 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 ?! Представьте себе, então, 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 адекватно против os danos do sol. Com a IN-FORMA, tudo isso épossível em um só lugar! Você pode acompanhar o trânsito de umaterminada região e ver os Principais pontos turísticos por perto. Além de ter acesso a um banco de informações, voiceê 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 - это новая веб-платформа, которая объединяет различные типы информации и ответы на вопросы. 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, платформенная тема, непосредственно связанная с Google Maps, содержит информацию о трансляции и локализации, а также о внешней системе управления регионом. Uma das inovações trazidas pela plataforma é que ela pode contar com a interção do usuário, sendo este permissionido a solicitar autorização para integrationr à plataforma suas próprias aplicações fazendo uso dos dados disponibilizados, asposibilizados paris.

A IN-FORMA, além de poder integr diversos tipos de aplicações desenvolvidas pelos usuários e empresas, conta com um sistema 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, é posí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. 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 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 integrationção de diversos dispositivos. Архитектура системы - это основа для связи на площади Dragonboard, для обслуживания на платформе AWS на Amazon, использующей Framework Mosquitto для постоянного обмена данными по протоколу MQTT.

96boards являются мобильным устройством Atmel ATMEGA328, которое обеспечивает цифровые и аналоговые входы, com isto, позволяет интегрировать Qualcomm Dragonboard 410c с сенсорами. Коммуникация между Dragonboard и 96 платами по протоколу I²C (Inter-Integrated Circuit).

Остальные совместные устройства без среды используются для серверов по протоколу связи TCP / IP. Никакой сервер в качестве информации не может использовать открытые API-интерфейсы, чтобы получить доступ к информации по определенным требованиям HTTP и API Restfull. В том числе, вы можете легко визуализировать данные на базе Dashboard в HTML5.

Шаг 2: Placa Dragonboard

Placa Dragonboard
Placa Dragonboard

Qualcomm Dragonboard 410c - это стандартная разработка для прототипов проектов. Возможное оборудование, эквивалентное Moto G, изготовлено Motorola. Нет desenvolvimento da plataforma ela foi utilizada como servidor local para o sistema. Нела выполняет функцию Framework Mosquitto для взаимодействия через MQTT-вход или локальный сервер или основной сервер. Нет ссылки 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-сервера. Utilizamos python e comunicação serial.

O código abaixo detalha este processo. Функция readData envia bytes até que o Mezzanine faça uma leitura e devolva 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.

импорт серийного номера 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 (сер)

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 адекватно.

импортировать paho.mqtt.client как 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 (дадос, cli):

попробуйте: publish_name = '' if dados [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 "else: return False

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

передать print publish_name + "=" + dados [1]

а cli.loop ()! = 0:

проходить

Кроме:

проходить

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

Для связи с сервером Dragonboard, подключенным к серверу с подключением к сети 3G, используется модем 3G HSUPA USB Stick MF 190 с оператором TIM.

Для эмиссионных предупреждений, или система содержит общий сервер PABX Asterisc. Semper que é needário emitir um alertta, o servidor é responseável por enviar uma chamada de voz ou uma mensagem de texto para o sistema de Emergência da região. Для установки Asterisc по ссылке (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 представляет собой соединение с мезонином: люминесцентное, солнечное и солнечное излучение и умидаде.

I) Сенсор люминосидады

Датчик O LDR - это светодиодная подсветка, которая может быть отключена. Легендарная работа с аналоговым портом A0.

Датчик Leitura do: ldr = analogRead (LDRPIN) /10.0

II) Датчик солнечного света "Роща - Датчик солнечного света"

Этот многоканальный датчик способен обнаруживать ультрафиолетовое, инфракрасное и видимое излучение.

Библиотека:

Используйте библиотеку, которая обеспечивает связь между устройствами, подключениями или датчиками, подключенными к порту I2C. A leitura é feita da seguinte maneira:

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

void loop () {

vl = SI1145. ReadVisible ();

ir = SI1145. ReadIR ();

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

}

III) Sensor de temperatura e umidade

"Grove - Датчик температуры и влажности Pro" https://wiki.seeed.cc/Grove-Temperature_and_Humidi… Этот датчик предназначен для определения температуры и относительного уровня.

Библиотека:

Conectamos este sensor na porta analógica A0 e utilizamos o seguinte código para leitura:

DHT dht (DHTPIN, DHTTYPE);

void setup () {

dht.begin (); }

void loop () {

h = dht.readHumidity ();

t = dht.readTemperature ();

}

Для хунтара 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, organization da seguinte forma:

int СОСТОЯНИЕ = 0;

void loop () {

переключатель (СОСТОЯНИЕ) {

case 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 - это индивидуальная среда, основанная на принципе функции 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. Функция преобразования двойных строк. Функция sprintf форматирует строку для ser enviada pela serial com a função Serial.println.

char sendBuffer [20], temp [10]; void sendSensorData (int sensorCode, double data, double lastData) {если (данные == 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 complete pode ser visto no arquivo "sensores.ino".

Шаг 4: Sensor De Alagamento с использованием NodeMCU

Sensor De Alagamento, используемый NodeMCU
Sensor De Alagamento, используемый NodeMCU
Sensor De Alagamento, используемый NodeMCU
Sensor De Alagamento, используемый NodeMCU
Sensor De Alagamento, используемый NodeMCU
Sensor De Alagamento, используемый NodeMCU

O NodeMCU foi utilizado para 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. Процесс электролиза резистора практически не работает, когда он находится в рабочем состоянии.

Для использования в качестве библиотеки IDE для Arduino com: Pubsub-client (https://pubsubclient.knolleary.net/) ESP8266 (https://github.com/esp8266/Arduino).

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

Шаг 5: Панель управления

Щиток приборов
Щиток приборов

Dashboard tem como Principal Objetivo Organar e apresentar melhor os context informativos dos sensores coletados, dando a eles um design mais Interativo, além trazer informações respeito de pontos turísticos de diversos pontos da cidade e do trânsito local. Для использования технологии HTML5 для более эффективного использования.

Рекомендуемые: