Mundarija:

IN-FORMA: Plataforma Informacões Sobre Sua Cidade: 5 qadam
IN-FORMA: Plataforma Informacões Sobre Sua Cidade: 5 qadam

Video: IN-FORMA: Plataforma Informacões Sobre Sua Cidade: 5 qadam

Video: IN-FORMA: Plataforma Informacões Sobre Sua Cidade: 5 qadam
Video: Course: Big Data and Machine Learning in Construction. 2024, Noyabr
Anonim
IN-FORMA: Platforma De Informações Sobre Sua Cidade
IN-FORMA: Platforma De Informações Sobre Sua Cidade

Qachonki, bu sizning uyingiz uchun hech qanday qiyinchilik tug'dirmaydi ?! Tasavvur qiling -a, tez va tez o'zgarib turadigan vaqt har xil darajadagi ob -havo sharoitida tayyorlanmoqda! Yo'q, bu vaqt o'tishi bilan bir vaqtning o'zida juda ko'p vaqt o'tishi bilan, UV nurlanishidan ham, himoya qilishdan ham himoyalanish uchun javobgardir. IN-FORMA-ni yozib oling, shundan keyin ham imkoni bor! Videokompaniyalar har bir narsani aniqlab olishlari mumkin. Ma'lumotlar almashinuvi, ma'lumotlar almashinuvi va ma'lumotlar almashinuvi uchun javob beradi. Misol uchun, masalan, masalan, hech qanday muammo yo'q, chunki bu hech qanday xavf tug'dirmaydi.

IN-FORMA-bu Internet-tarmog'ining turli xil tarmoqlari uchun javob beradigan ma'lumotlar. Har xil turdagi sensorlar haroratni, umidni, yorug'lik va boshqalarni aniqlab beradi, chunki ular mahalliy tezlik bilan tezlashadi. Google Xaritalar, mahalliy tarmoqlar va mahalliy tarmoqlar, shuningdek, mahalliy tizimlar, shuningdek, xaritada joylashgan har qanday tizimning ma'lumotlarini ham o'z ichiga oladi. Umumiy vazifalarni bajaring, bu sizning xohishingizga javob beradi, shuning uchun ular bir vaqtning o'zida avtorizatsiyani amalga oshirishga ruxsat berishadi, shuning uchun siz o'zingizning shaxsiy ma'lumotlaringizni tarqatishingiz mumkin..

IN-FORMA-bu turli xil ma'lumotlarni o'z ichiga olgan ma'lumotlar to'plami, shuningdek, tizim va xaritalar bilan bir qatorda. Muammolar populyatsiya muammosini hal qilishda, tanto de saúde pública, quanto ambientais e sociais. Ya'ni, bu tizimni boshqarishning etishmasligi, shuningdek, ekstremal import -a pontuação das regiões mais críticas. Bir vaqtning o'zida, bir vaqtning o'zida, bir vaqtning o'zida pontos pidos da cidade, através de aparelhos instalados nas vias ou calchadas. Tashqi tizimlar, shuningdek, har qanday ma'lumotni o'z ichiga olgan holda, bu ma'lumotlarni o'z ichiga oladi. Boshqacha qilib aytganda, bu tizimni qayta ishlashni xohlamaslik uchun, shuningdek, siz ham o'zingizni xohlaganingizdek, o'zingizni yaxshi his qilasiz.

1 -qadam: Arquitetura da Plataforma

Arafitet Da Plataforma
Arafitet Da Plataforma

Bir vaqtning o'zida turli xil ma'lumotlarni o'z ichiga oladi. Dragonboard, shuningdek, 96 ta taxtalar, AWS xizmatlari va Amazon -dan foydalanish uchun Framework mosquitto protokoli MQTT orqali bir vaqtning o'zida bir xil tizimli tizimlar bilan ta'minlangan.

96 ta taxtali ATMEGA328 va Qualcomm Dragonboard 410 datchiklari bilan ishlashni osonlashtiradi. Dragonboard va 96 taxtali I²C protokoli bilan birlashtirilgan.

Bu TCP/IP protokoli bilan bir qatorda xizmat ko'rsatadigan xizmatlar uchun ham mavjud. Ma'lumotlar API -ni ishlatish uchun hech qanday xizmat yo'q, bu esa HTTP va Restfull API -ni talab qiladigan ma'lumotlarni o'z ichiga oladi. Ha, shu jumladan, HTML5 -ning asboblar panelida ham juda oddiy.

2 -qadam: Placa Dragonboard

Ajdaho taxtasi
Ajdaho taxtasi

Qualcomm Dragonboard 410c protsessor uchun protsessor uchun mo'ljallangan. Moto G yoki Motorola ishlab chiqarish uchun mos keladigan qo'shimcha qurilmalar. Mahalliy tizimlar uchun hech qanday xizmat ko'rsatilmagan. Bu erda Framework Mosquitto kompaniyasi MQTT orqali mahalliy xizmat ko'rsatuvchi boshlig'i bilan o'zaro aloqa o'rnatadi. Hech qanday havola yo'q https://www.digitalocean.com/community/questions/h… poss bu erda hech qanday Debian bo'lmagan holda MQTT qo'llanmalarini o'rnatish mumkin. Bu Linux Linaro operatsion tizimidagi operatsion tizim, Debian uchun. Hech qanday havola yo'q https://www.embarcados.com.br/linux-linaro-alip-na… yoki Linux Linaro-ALIP va Qualcomm DragonBoard 410C-da qo'llanmalar o'rnatilishi mumkin emas.

A Qualcomm Dragonboard 410c aloqa operatori, MJTT xizmatlari uchun hech qanday sensorlar yo'qligi haqida ma'lumotga ega. Python va comunicação ketma -ket foydalanish.

Bu jarayonni batafsil ko'rib chiqish. O'qish uchun ma'lumotni o'qish tezligi va tezligi bir xil bo'ladi. Aniq qabul qilgandan so'ng, "S (sensor sensori):(jasorat sensori)" formatida ketma -ket ketma -ket ketma -ket ketsa bo'ladi. Aniqki, bu jasorat va jasorat.

serial ser = serial. Serialni import qilish ('/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': davom

txt = txt + c

dados = txt.split (":")

dadalarni qaytaring

dados = readData (ser)

MQTT hech qanday xizmat ko'rsatilmagan, shuning uchun siz buni hech kim bila olmaysiz. Biblioteka bilan bir qatorda, biz ham xizmat ko'rsatamiz. Bu xizmatni tanlashda, xizmat ko'rsatishda, ommaviy axborot vositalarida xizmat ko'rsatishda yordam beradi.

paho.mqtt.client -ni paho sifatida import qilish SERVIDOR_LOGIN = "" SERVIDOR_SENHA = "" SERVIDOR_ENDERECO = "localhost"

mijoz = paho. Client ()

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

def publicar (dados, cli):

harakat qilib ko'ring: 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 "other: return False

while cli.publish (publish_name, dados [1]) [0]! = 0:

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

cli.loop ()! = 0 bo'lsa:

o'tish

bundan tashqari:

o'tish

"Mezzanine_mqtt.py" tugmachasini bosing.

Xizmatlar va drayverlar bilan ishlash, shuningdek, 3G, 3G HSUPA USB Stick MF 190 modemlari va TIM operatsion tizimidan foydalanish imkonini beradi.

Ogohlantirishlar, PABX Asterisc xizmatlari orqali amalga oshiriladi. Ma'lumotni yuborish kerak bo'lsa, u sizning javobingiz uchun javob beradi, lekin bu tizimda ham, tizimda ham. Asterisk yoki boshqa havolalarni o'rnatish (https://www.howtoforge.com/tutorial/how-to-install-asterisk-on-debian/).

3 -qadam: Placa Mezzanine Com Sensores

Placa Mezzanine Com Sensores
Placa Mezzanine Com Sensores

Mezzanin bilan aloqa qilish uchun sensorlar: quyosh nurlari, quyosh va temperatura.

I) Luminosidad sensori

Sensor LDR -ni boshqaradi, shuning uchun bu juda muhim. A0 portali analogikasi uchun javob beradi.

Leytura sensori: ldr = analogRead (LDRPIN) /10.0

II) Quyosh sensori "Grove - quyosh nuri sensori"

Sensor ko'p kanalli ultrabinafsha va infraqizil signallarni aniqlaydi.

Biblioteka:

Biblioteca disponível através ni havola qilish, I2C portining sensori va ulanishini ulash mumkin. Manba:

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

void loop () {

vl = SI1145. ReadVisible ();

ir = SI1145. ReadIR ();

uv = qavat ((suzuvchi) SI1145. ReadUV ()/100);

}

III) Temperatura va umid sensori

"Grove - harorat va namlik sensori Pro" https://wiki.seeed.cc/Grove-Temperature_and_Humidi… Bu sensorlar haroratni aniqlash va haroratni aniqlash imkonini beradi.

Biblioteka:

A0 va boshqa turdagi sensorlar bilan aloqa o'rnatiladi:

DHT dht (DHTPIN, DHTTYPE);

bo'sh o'rnatish () {

dht.begin (); }

void loop () {

h = dht.readHumidity ();

t = dht.readTemperature ();

}

3 ta sensorlar hech qanday uyali aloqa o'rnatmaydi, ular hech qanday javob bermaydi va javob beradi. Umuman olganda, 6 ta o'yin mavjud emas, 6 ta asosiy vazifa:

int STATE = 0;

void loop () {

almashtirish (STAT) {

0 holat:… tanaffus;

5 -holat:

… tanaffus;

}

DAVLAT = (DAVLAT+1)%6;

}

Ma'lumotni olish uchun siz Qualcomm DragonBoard 410c ni ishlatishingiz mumkin. Qachonki, siz hamma narsadan foydalanishingiz mumkin:

void loop () {while (! Serial.available ()) delay (10); while (Serial.available ()) Serial.read ();

}

Sensor va shaxsiy ma'lumotni yuborish sensors ma'lumotlarini yuborish uchun javob beradi. Sensorni qidirish funktsiyasini bajaring, bu sizning shaxsiy ma'lumotlaringiz va xizmatlaringizdan foydalanishga imkon beradi. Mana, bu eng yaxshi o'yin. Ikki barobar ko'p funktsiyali konvertatsiya. Bu sprintf formati bilan ketma -ket ketma -ket ketma -ket ketma -ket ketma -ket ketma -ket ketma -ket ketma -ket ketma -ket ketma -ket ketma -ket ketma -ket ishlashni ta'minlaydi.

char sendBuffer [20], temp [10]; void sendSensorData (int sensorCode, double data, double lastData) {if (data == lastData) qaytadi; dtostrf (ma'lumotlar, 4, 2, temp); sprintf (sendBuffer, "S%d:%s", sensorCode, temp); Serial.println (sendBuffer); } void loop () {… 0 holat: h = dht.readHumidity (); sendSensorData (1, h, lastH); oxirgiH = h; tanaffus; …}

Bu "sensores.ino" arquivo -ni to'liq bajarish uchun.

4 -qadam: Sensor De Alagamento Utilizando NodeMCU

Sensor De Alagamento Utilizando NodeMCU
Sensor De Alagamento Utilizando NodeMCU
Sensor De Alagamento Utilizando NodeMCU
Sensor De Alagamento Utilizando NodeMCU
Sensor De Alagamento Utilizando NodeMCU
Sensor De Alagamento Utilizando NodeMCU

Siz NodeMCU -ni ishlatishingiz mumkin, bu esa sensorlar va qurilmalar uchun 30 sm masofada, shuningdek, trançado va quadro fios foram dispostos. Qachonki, bu rezistor juda katta qarshilik ko'rsatishi mumkin.

Ma'lumotlar almashtirilsa, bibliotecas sifatida Arduino com va IDE foydalaniladi: Pubsub-mijoz (https://pubsubclient.knolleary.net/) ESP8266 (https://github.com/esp8266/Arduino).

"SensorAlagamento.ino" ni o'chirib tashlamang.

5 -qadam: boshqaruv paneli

Boshqaruv paneli
Boshqaruv paneli

Boshqaruv paneli boshqaruv organlari bilan aloqa o'rnatadi, ular sizning ma'lumotlaringiz, ma'lumotlaringiz va dizayningiz uchun javob beradi. Bu HTML5 texnologiyasi uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga oladi.

Tavsiya: