Cov txheej txheem:
- Kauj Ruam 1: Arquitetura Da Plataforma
- Kauj Ruam 2: Placa Dragonboard
- Kauj Ruam 3: Placa Mezzanine Com Sensores
- Kauj Ruam 4: Sensor De Alagamento Utilizando NodeMCU
- Kauj ruam 5: Dashboard
Video: IN-FORMA: Plataforma De Informações Sobre Sua Cidade: 5 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:25
Quem nunca saiu de casa com roupas de frio e quando chegou no destino estava fazendo o maior sol ?! Xav txog, 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 icendice de radiação UV antes de ir para uma praia ou um parque para se proteger adequadamente contra os danos do sol. Nrog 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.
IN-FORMA é 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 temperatura, umidade, luminosidade, entre outros, que fornecem em tempo real as condições daquele zos. Além de contar com todos esses sensores, 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 permitido a solicitar autorização para integrar à plataforma suas próprias aplicações fazendo uso dos dados disponibilizados e, incluse a visor paris.
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. Raws li inundações trazem muitos problemas à população, tanto de saúde pública, quanto ambientais e sociais. Los ntawm no, em cidades com sistemas de drenagem ineficientes, é de extremema importância a pontuação das regiões mais críticas. Com plataforma, então, é possível saber o nível de uagua nas ruas em vários pontos da cidade, através de aparelhos instalados nas vias ou calçadas. Este sistema é de extremema utilidade em dias de chuva, pois informa os locais mais prejudicados pela uagua, 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.
Kauj Ruam 1: Arquitetura Da Plataforma
A proposta é o desenvolvimento de uma plataforma aberta para integração de diversos dispositivos. Kev tsim kho cov txheej txheem é baseada na comunicação entre uma placa Dragonboard, munida da placa de conexão 96boards, com o serviço AWS da Amazon utilizando o Framework Mosquitto para perpetuar a comunicação via protocolo MQTT.
A 96boards está munida de um Atmel ATMEGA328 que provê entradas digitais e analógicas e, com isto, tso cai sib koom ua ke nrog Qualcomm Dragonboard 410c com sensores. Kev sib tham nkag mus rau Dragonboard e a 96boards se dá através do protocolo I²C (Inter-Integrated Circuit).
Os dados coletados nos dispositivos são enviados para o servidor por meio do protocolo de comunicação TCP/IP. Tsis muaj tus pabcuam raws li cov ntaub ntawv xa mus rau disponibilizadas através de uma API pública, muaj peev xwm thiab obtenção dessas informações por qualquer usuário por meio requisições HTTP a uma Restfull API. Há, suav nrog, uma maneira simples de visualizar os dados em uma Dashboard baseada em HTML5.
Kauj Ruam 2: Placa Dragonboard
A Qualcomm Dragonboard 410c é um ambiente de desenvolvimento para prototipagem de projetos. Daim ntawv tuaj yeem kho vaj huam sib luag zoo ib yam li Moto G, tsim los ntawm Motorola. Tsis muaj qhov xav tau ntawm plataforma ela foi utilizada como servidor hauv zos rau kev ua haujlwm. Nela é executada o Framework Mosquitto para promover a interação via MQTT entre o servidor local e o servidor tus thawj xibfwb. Tsis muaj txuas https://www.digitalocean.com/community/questions/h… é possível encontrar um tutorial de como instalar o MQTT tsis muaj Debian. Cov txheej txheem kev siv ua haujlwm tsis zoo siv rau hauv lub khoos phis tawj lossis Linux Linaro, que é baseado em Debian. Tsis muaj qhov txuas https://www.embarcados.com.br/linux-linaro-alip-na… é possível encontrar um tutorial de como instalar o Linux Linaro-ALIP na Qualcomm DragonBoard 410C.
A Qualcomm Dragonboard 410c precisa se comunicar com o Mezzanine para receber as informações coletadas no sensor e enviá-las para o servidor MQTT local ou remoto. Siv cov nab hab sej comunicação serial.
Cov neeg raug tsim txom raug tsim txom los ntawm kev ua phem. 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 formato "S (código do sensor):(valor do sensor)". Nyob rau hauv cov ntaub ntawv, separa o código do valor e retorna.
ntshuam serial serial = serial. Serial ('/dev/tty96B0', 115200)
def nyeem cov ntaub ntawv (ser):
thaum ser.inWaiting () == 0: ser.write ([0])
txt = ''
thaum muaj tseeb: c = ser.read () yog c == '\ n': tawg elif c == '\ r': txuas ntxiv
txt = txt + c
dados = txt.split (":")
rov dados
dados = readData (ser) cov
Com os dados recebidos, é possível publicar no servidor MQTT. Ib qho kev sib txuas lus los yog tus pabcuam uas siv cov ntaub ntawv siv hauv 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.
ntshuam paho.mqtt.client li paho SERVIDOR_LOGIN = "" SERVIDOR_SENHA = "" SERVIDOR_ENDERECO = "localhost"
neeg = paho. Client ()
client.username_pw_set (SERVIDOR_LOGIN, SERVIDOR_SENHA) client.connect (SERVIDOR_ENDERECO, 1883) client.loop_start ()
def publicar (txiv neej, cli):
sim: 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 "lwm tus: rov dag
thaum cli.publish (Publish_name, dados [1]) [0]! = 0:
pass print Pub_name+"="+dados [1]
thaum cli.loop ()! = 0:
dhau
tshwj tsis yog:
dhau
O código ua tiav pode ser visto no arquivo "mezzanine_mqtt.py".
Para comunicação com o servidor a Dragonboard está conectada com o servidor através de uma conexão 3G, siv los yog modem 3G HSUPA USB Stick MF 190 siv thiab ua haujlwm TIM.
Para emissão de alertas, o sistema conta com um servidor PABX Asterisc. Semper que é necessário emitir um alerta, o servidor é responsável por 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 txuas (https://www.howtoforge.com/tutorial/how-to-install-asterisk-on-debian/).
Kauj Ruam 3: Placa Mezzanine Com Sensores
Três Sensores se conectam com o Mezzanine: luminosidade, luz hnub ci thiab cua sov thiab umidade.
Kuv) Sensor de luminosidade
O sensor LDR é um coj ativado pela luminosidade que incide sobre ele. Cov ntaub ntawv pov thawj ntawm cov ntawv pov thawj A0.
Leitura ua sensor: ldr = analogRead (LDRPIN) /10.0
II) Sensor de luz solar "Grove - Sunlight Sensor"
Este é um sensor ntau kwj dej capaz de detectar luz ultravioleta, infra-vermelho e luz visível.
Biblioteca:
Kev siv cov ntaub ntawv hauv kab ntawv xa mus rau através ua txuas abaixo, conectamos o sensor através da porta I2C disponível. Daim ntawv teev cov kev pab cuam thiab cov kev pab cuam muaj xws li:
SI114X SI1145 = SI114X (); void teeb () {SI114X SI1145 = SI114X (); }
void voj () {
vl = SI1145. ReadVisible ();
ir = SI1145. ReadIR ();
uv = pem teb ((ntab) SI1145. ReadUV ()/100);
}
III) Sensor kub thiab txias
"Grove - Kub thiab Humidity Sensor Pro" https://wiki.seeed.cc/Grove-Temperature_and_Humidi … Este sensor é capaz de detectar temperatura e umidade relativa.
Biblioteca:
Conectamos este sensor thiab porta analógica A0 e siv tau los ntawm seguinte código para leitura:
DHT dht (DHTPIN, DHTTYPE);
void teeb tsa () {
dht.begin (); }
void voj () {
h = dht.readHumidity ();
t = dht.readTemperature ();
}
Para juntar leitura dos 3 sensores no Mezzanine, criamos uma máquina de estados, onde cada estado é responsável por uma leitura. Como são 6 leituras tsis muaj tag nrho, teremos 6 estados, organizado da seguinte forma:
IN STATE = 0;
void voj () {
hloov (STATE) {
rooj plaub 0:… tawg;
rooj plaub 5:
… tawg;
}
Xeev = (Xeev+1)%6;
}
Para evitar leituras desnecessárias, o estágio atual só executa quando a Qualcomm DragonBoard 410c está pronta para receber as informações. Txhawm rau ua qhov no, siv cov cuab yeej tshwj xeeb hauv qab no:
void loop () {thaum (! serial.available ()) ncua (10); thaum (Serial.available ()) Serial.read ();
}
Cada leitura de sensor é enviada individualmento após leitura através da função xaSensorData. 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. Kev lom zem dtostrf hloov pauv ob npaug rau txoj hlua. Koj muaj kev lom zem sprintf formata txoj hlua rau ser enviada pela serial com a função Serial.println.
char sendBuffer [20], temp [10]; void sendSensorData (int sensorCode, ob npaug cov ntaub ntawv, ob zaug lastData) {yog (cov ntaub ntawv == lastData) rov qab; dtostrf (cov ntaub ntawv, 4, 2, temp); sprintf (sendBuffer, "S%d:%s", sensorCode, temp); Serial.println (xa ntawv xa tuaj); } void loop () {… case 0: h = dht.readHumidity (); sendSensorData (1, h, lastH); lastH = h; tawg; …}
O código ua tiav pode ser visto tsis muaj arquivo "sensores.ino".
Kauj Ruam 4: Sensor De Alagamento Utilizando 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. O processo de eletrólise cria um resistor virtal quando o dispositivo é inundado.
Para o desenvolvimento do código, foi utilizada a IDE do Arduino com as bibliotecas: Pubsub-client (https://pubsubclient.knolleary.net/) ESP8266 (https://github.com/esp8266/Arduino).
O código ua tiav pode ser visto no arquivo "sensorAlagamento.ino".
Kauj ruam 5: Dashboard
Dashboard tem como tus thawj xibfwb objetivo organizar e apresentar melhor os conteúdos 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 hauv zos. Siv cov cuab yeej siv thev naus laus zis HTML5 rau kev ua haujlwm zoo.
Pom zoo:
Arduino Tsheb Rov Qab Chaw Nres Tsheb Ceeb Toom - Cov Kauj Ruam ntawm Kauj Ruam: 4 Kauj Ruam
Arduino Tsheb Rov Qab Chaw Nres Tsheb Ceeb Toom | Cov kauj ruam ib kauj ruam: Hauv txoj haujlwm no, kuv yuav tsim qhov yooj yim Arduino Tsheb Rov Qab Tsheb Nres Tsheb Nres Sensor Siv Arduino UNO thiab HC-SR04 Ultrasonic Sensor. Qhov no Arduino raws Lub Tsheb Rov Qab ceeb toom tuaj yeem siv rau Kev Tshawb Fawb Txog Tus Kheej, Robot Ranging thiab lwm yam
Tsev Automation Kauj Ruam ntawm Kauj Ruam Siv Wemos D1 Mini Nrog PCB Tsim: 4 Kauj Ruam
Tsev Automation Kauj Ruam Ib Leeg Siv Wemos D1 Mini Nrog PCB Tsim: Tsev Automation Kauj Ruam los ntawm Kauj Ruam siv Wemos D1 Mini nrog PCB Tsim cov tub ntxhais kawm ntawv qib siab. Tom qab ntawd ib tus ntawm peb cov tswv cuab tuaj
RC Taug Qab Neeg Hlau Siv Arduino - Kauj Ruam Ib kauj ruam: 3 Kauj Ruam
RC Tracked Robot Siv Arduino - Kauj Ruam Ib Nrab: Hav guys, Kuv rov qab los nrog lwm tus neeg hlau txias chassis los ntawm BangGood. Vam tias koj tau dhau los ntawm peb cov phiaj xwm yav dhau los - Spinel Crux V1 - Tus Cwj Pwm Tswj Tus Neeg Hlau, Spinel Crux L2 - Arduino Xaiv thiab Muab Neeg Hlau nrog Robotic caj npab thiab Badland Braw
Plataforma Motorizada De Un Carrito De Compra: 5 Kauj Ruam
Plataforma Motorizada De Un Carrito De Compra: Este producto est á basado en motorizar la plataforma del bajo de los carros de compra conferencecionales. Se ha desarrollado para disminuir la fatiga en personas con baja tolerancia al esfuerzo, de tal manera que cuando necesiten coger los produc
Kawm Yuav Ua Li Cas Kos Tus Tswm Ciab - Kauj Ruam Ib Kauj Ruam: 6 Kauj Ruam
Kawm Yuav Ua Li Cas Thiaj Li Tswmciab - Kauj Ruam Ib kauj ruam: Cov tswm ciab no siv sijhawm 10 feeb los kos yog tias koj ua raws kuv cov kauj ruam ua tib zoo