Talaan ng mga Nilalaman:
- Hakbang 1: Arquitetura Da Plataforma
- Hakbang 2: Placa Dragonboard
- Hakbang 3: Placa Mezzanine Com Sensores
- Hakbang 4: Sensor De Alagamento Utilizando NodeMCU
- Hakbang 5: Dashboard
Video: IN-FORMA: isang Plataforma De Informações Sobre Sua Cidade: 5 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
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
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
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
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
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
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:
Isang IoT Halloween Kalabasa - Kontrolin ang mga LED Sa Isang Arduino MKR1000 at Blynk App ???: 4 Mga Hakbang (na may Mga Larawan)
Isang IoT Halloween Kalabasa | Kontrolin ang Mga LED Sa Isang Arduino MKR1000 at Blynk App ???: Kamusta Lahat, Ilang linggo na ang nakalilipas ay ang Halloween at pagsunod sa tradisyon na inukit ko ang isang magandang kalabasa para sa aking balkonahe. Ngunit sa labas ng aking kalabasa, napagtanto ko na nakakainis na lumabas tuwing gabi upang sindihan ang kandila. At ako
Lumiko isang ATGAMES Portable Sega Genesis Sa isang Wireless na hanay ng Mga nagsasalita .: 13 Mga Hakbang (na may Mga Larawan)
Lumiko isang ATGAMES Portable Sega Genesis Sa isang Wireless Set ng Mga nagsasalita .: Kung nabasa mo ang aking unang itinuro sa kung paano baguhin ang isang bagong mas mahusay na baterya para sa ATGAMES portable Sega Genesis pagkatapos ay maaari kang magtaka: T: Ano ang gagawin ko sa lahat ang bagong natagpuang kapangyarihan? A: Baguhin ang ATGAMES Portable Sega Genesis sa isang wirele
Hat Not Hat - isang sumbrero para sa mga taong hindi talaga nagsusuot ng mga sumbrero, ngunit nais ang isang karanasan sa sumbrero: 8 mga hakbang
Hat Not Hat - isang Hat para sa Mga Taong Hindi Talagang Magsuot ng Mga sumbrero, Ngunit Gusto Ng Karanasan sa Hat: Palagi kong hinahangad na ako ay maging isang taong sumbrero, ngunit hindi pa nakakahanap ng isang sumbrero na gumagana para sa akin. Ito " Hat Not Hat, " o fascinator tulad ng tawag dito ay isang pinakamataas na solusyon sa aking problema sa sumbrero kung saan maaari akong dumalo sa Kentucky Derby, vacuum
Mga graphic sa isang SSD1306 I2C OLED 128x64 Display With CircuitPython Gamit ang isang Itsybitsy M4 Express: 13 Mga Hakbang (na may Mga Larawan)
Mga graphic sa isang SSD1306 I2C OLED 128x64 Display With CircuitPython Gamit ang isang Itsybitsy M4 Express: Ang display na SSD1306 OLED ay isang maliit (0.96 "), mura, malawak na magagamit, I2C, monochrome grapikong display na may 128x64 pixel, na madaling ma-interfaced (4 lamang wires) sa microprocessor development boards tulad ng isang Raspberry Pi, Arduino o
Pagbuo ng isang DIY Arduino sa isang PCB at Ilang Mga Tip para sa Mga Nagsisimula: 17 Mga Hakbang (na may Mga Larawan)
Pagbuo ng isang DIY Arduino sa isang PCB at Ilang Mga Tip para sa Mga Nagsisimula: Ito ay sinadya bilang isang gabay sa sinumang paghihinang ng kanilang sariling Arduino mula sa isang kit, na maaaring mabili mula sa A2D Electronics. Naglalaman ito ng maraming mga tip at trick upang matagumpay itong mabuo. Malalaman mo rin ang tungkol sa kung ano ang lahat ng iba't ibang mga sangkap