Мазмуну:

IN-FORMA: Plataforma De Informações Sobre Sua Cidade: 5 кадам
IN-FORMA: Plataforma De Informações Sobre Sua Cidade: 5 кадам

Video: IN-FORMA: Plataforma De Informações Sobre Sua Cidade: 5 кадам

Video: IN-FORMA: Plataforma De Informações Sobre Sua Cidade: 5 кадам
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Ноябрь
Anonim
IN-FORMA: Plataforma De Informações Sobre Sua Cidade
IN-FORMA: Plataforma De Informações Sobre Sua Cidade

Купуя шарттарда дагы эмне кылуу керек? Элестетип көрүңүз, чыныгы темпиранын темпераментин кантип өзгөртүү керек? Туура эмес, башталгыч позициялар, ошондой эле тез жана ылдамдыкта, эң башкысы, ультрафиолет нурларынын ультрафиолеттери жана башка көптөгөн нерселердин алдын алуу үчүн колдонулат. ИНФОРМА КЫЛГЫЛА! Добуш берүүнүн жыйынтыгында сиз өзүңүздүн регионуңузду башкара аласыз. Ал эми бул маалыматтын жоктугунан, маалыматтын колдонулушунан да пайда болот. Дагы бир жолу, мисал үчүн, бир аз убакыт өткөндөн кийин, аналитикалык жана аналитикалык операцияларды жасаңыз.

ИНФОРМА-бул жаңы веб-платформалар, бул маалыматтын толуктугу жана жок кылынышы. Жөнөкөй сезгичтер температура, үмүт, люминосида, өчүрүү жана өчүрүү, жергиликтүү ылдамдык сыяктуу тездик менен реалдуу. Google Карталар, жергиликтүү өз алдынча башкаруу системасы жана платформасы, бул жердеги маалыматтардын жергиликтүү маалыматтарын, ошондой эле жергиликтүү өз алдынча башкаруу системасынын карталарын табуу үчүн колдонулат. Колдонуу шарттары жана мүмкүнчүлүктөрү жок кылынгандыгы үчүн, интерактивдүү интерфейске кирүү мүмкүнчүлүгүн алуу үчүн, сиз интеграциялык пландар менен иштөөнү пландаштырасыз..

КИРГИЗҮЛҮҮ формасы, колдонуучуларды интегралдык түрдө колдонууга мүмкүндүк берет, ошондой эле системанын картасы жана картасы боюнча маалымат системасы. Маселени чечүү көйгөйлөрү популярдуу болгондой эле, биз да, коомубуз да, чөйрөбүз дагы. Демек, бул маалыматтын жетишсиздигинен улам, системанын жардамы менен, импорттун бардык түрлөрү регистрацияланат. Платформаны, эң башкысын, мүмкүн болушунча дагы бир жолу жасаңыз, бул жерде сиз өзүңүздү кармайсыз. Тышкы системалардын бардык түрлөрү колдонулганда, бул жерде алдын ала маалымат жок болуп кеткенден кийин, транзит аркылуу калкка маалымат жеткирилет. Дисциплинаны өчүрүү системасы, мелорорадо платформа менен иштөөдө, ошондой эле сиз өзүңүздүн оюңузда да, эң башкысы да.

1 -кадам: Arquitetura Da Plataforma

Arquitetura Da Plataforma
Arquitetura Da Plataforma

Платформаны түзүү сунушталган эмес. Dragonboard, ошондой эле 96 -такталар, AWS сервистеринин жана Amazonдун колдонулушу же Framework Mosquitto үчүн түбөлүккө протокол аркылуу MQTT аркылуу комуникациялоонун негизги системасы болуп саналат.

А 96 тактасы ATMEGA328 программасы менен аналитикалык жана аналитикалык маалыматтарды камтыйт, жана Qualcomm Dragonboard 410c сенсорлоруна интеграциялык мүмкүнчүлүктөрдү берет. Dragonboard a 96boards менен I²C (интегралдык микросхема) протоколун түзүү керек.

TCP/IP протоколунун жалпы протоколунун жардамы менен сиз эч кандай чектөөлөрдү таба албайсыз. API сервисинин маалыматы жок болгондуктан, HTTP жана Restfull API талап кылынган маалыматтардын баарына мүмкүндүк берет. Жана, анын ичинде, HTML5 панелинин негизги панелдеринин да жөнөкөй көрүнүшү.

2 -кадам: Placa Dragonboard

Placa Dragonboard
Placa Dragonboard

A Qualcomm Dragonboard 410c - бул долбоордун прототиптери үчүн бардык шарттар. A Moto G, Motorola үчүн фабриканын эквиваленти. Жергиликтүү системалар үчүн сервистик тейлөөлөр талап кылынбайт. Бул жерде Framework Mosquitto программасы MQTT аркылуу жергиликтүү өз алдынча кызматтын башчысы аркылуу интерактивдүү болуп саналат. Эч кандай шилтеме жок https://www.digitalocean.com/community/questions/h… poss Мүмкүнчүлүктөрдү камтыган окуу куралы же MQTT Debian жок. Операциялык операциялык системаны Linux Linaro, Debian же Linux системасы иштетет. Эч кандай шилтеме жок https://www.embarcados.com.br/linux-linaro-alip-na… жана бул жерде Linux Linaro-ALIP жана Qualcomm DragonBoard 410C орнотулган окуу куралдарынын бири да жок.

A Qualcomm Dragonboard 410c презентациясы комментарийлерди кабыл алуу үчүн, MQTT жергиликтүү же алыскы сервистеринин маалыматы эч кандай сенсорго ээ эмес. Python жана comunicação сериялык колдонмолору.

О código abaixo detalha este processo. A função readData envia bytes até que o Mezzanine faça uma leitura e devolva a reposta. Жөнөкөй сөз менен айтканда, "S (сенсор): (эрдик сенсор)" форматында эч кандай формат жок. Кандайдыр бир мааниге ээ болсоңуз, анда бул эрдик.

сериялык сериялык = serial. Serial ('/dev/tty96B0', 115200) импорттоо

def readData (сер):

ал эми ser.inWaiting () == 0: ser.write ([0])

txt = ''

чыныгы: c = ser.read () эгер c == '\ n': break elif c == '\ r': улантуу

txt = txt + c

dados = txt.split (":")

папаны кайтар

dados = readData (сер)

Комментарийлердин жардамы менен, MQTT сервери жок. Коммуна же сервистердин жардамы менен библиотека бар. Жөнөкөй сөз менен айтканда, бул сервис, атравес жана функционалдык публицистика, эч кандай сервидер жок.

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):

аракет кылыңыз: 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

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

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

while cli.loop ()! = 0:

өтүү

тышкары:

өтүү

"Cizgi_mqtt.py" дегенди аягына чыгаруу керек.

Комментарийлердин жардамы менен, ажыдаарды башкара аласыз, ал 3G жана модеми 3G HSUPA USB Stick MF 190 менен TIMди иштетет.

Эскертүүлөр, PABX 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

Мезонезде туташуу сенсорлору: күндүн нуру, күндүн температурасы жана температурасы.

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

О сенсор LDR é um led ativado pela luminosidade que incide sobre ele. A0 порталынын аналоги A0.

Leitura сенсор: ldr = analogRead (LDRPIN) /10.0

II) Күндүн сенсору "Grove - Күндүн нуру сенсору"

Сенсор көп каналдуу жана ультрафиолет инфраструктурасы аркылуу аныкталат.

Китепкана:

Колдонуу библиотека шилтемелери abaixo, conectamos же сенсорлордун атрибута I2C дисконунда. Ачкычтуу сүйлөм боюнча издөө:

SI114X SI1145 = SI114X (); жараксыз орнотуу () {SI114X SI1145 = SI114X (); }

void loop () {

vl = SI1145. ReadVisible ();

ir = SI1145. ReadIR ();

uv = кабат ((калкып) SI1145. ReadUV ()/100);

}

III) Сенсор жана температура

"Grove - Температура жана нымдуулук сенсорунун профи" https://wiki.seeed.cc/Grove-Temperature_and_Humidi… Бул сенсор температураны аныктоочу температураны жана байланышты камтыйт.

Китепкана:

A0 порталынын аналогдук туюнтмалары сенсордун жардамы менен:

DHT dht (DHTPIN, DHTTYPE);

жараксыз орнотуу () {

dht.begin (); }

void loop () {

h = dht.readHumidity ();

t = dht.readTemperature ();

}

Бул жерде 3 сезгич эч кандай Mezzanine жок, эч кандай жооп бербөө керек, сен жооп бересиң. Como são 6 leituras no total, teremos 6 estados, уюштуруу жана коргоо формасы:

int STATE = 0;

void loop () {

которуу (STATE) {

case 0:… break;

5 -жагдай:

… Тыныгуу;

}

МАМЛЕКЕТ = (МАМЛЕКЕТ+1)%6;

}

Керек болгон учурда, Qualcomm DragonBoard 410c программасынын маалыматын кабыл алуу үчүн бул программаны аткаруу керек. Төмөнкү шарттарда:

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

}

Сенсорлордун жеке маалыматын жөнөтүү жана жөнөтүү функциясы sendSensorData үчүн жеке маалымат менен жабдылган. Сенсорду жаңыртуу үчүн, сиз өзүңүзгө керектүү нерселерди таба аласыз. Бул жерде сиз эң башкысын таба аласыз. Кош функцияны эки эсе көбөйтүү. Бул жерде сиз sprintf форматын колдоно аласыз, ал Serial.println.

char sendBuffer [20], temp [10]; void sendSensorData (int sensorCode, double data, double lastData) {if (data == lastData) return; 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; тыныгуу; …}

"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. Бул процесстин резистору виртуалдык мүнөзгө ээ.

Башкача айтканда, Arduino комбинациясын IDE жана библиотекалар катары колдонууга болот: Pubsub-client (https://pubsubclient.knolleary.net/) ESP8266 (https://github.com/esp8266/Arduino).

"SensAlagamento.ino" деген сөздү аягына чейин чыгарыңыз.

5 -кадам: Куралдар тактасы

Куралдар тактасы
Куралдар тактасы

Башкаруу тактасы негизги маалыматтардын уюштуруучулары менен байланышып турат, алар сенсорлорду чогултуп, интернеттеги дизайнды иштеп чыгууга жардам берет, жана жергиликтүү өз алдынча башкаруунун маалыматы жергиликтүү тургундардын жоопторун камтыйт. HTML5 технологиясын колдонуу үчүн бул технологияны колдонуңуз.

Сунушталууда: