Мазмұны:

Centro De Comando Explorencias - Erupção De Vulcão E Terremotos: 7 қадам
Centro De Comando Explorencias - Erupção De Vulcão E Terremotos: 7 қадам

Бейне: Centro De Comando Explorencias - Erupção De Vulcão E Terremotos: 7 қадам

Бейне: Centro De Comando Explorencias - Erupção De Vulcão E Terremotos: 7 қадам
Бейне: ¿Que comer con brackets en 🇨🇴 ? - Odontología Láser #Shorts 2024, Шілде
Anonim
Centro De Comando Explorencias - Erupção De Vulcão E Terremotos
Centro De Comando Explorencias - Erupção De Vulcão E Terremotos

Ақпараттық технологиялар интернет -ресурстарда қол жетімді емес, сонымен қатар IOT температурасы, жарықтандыру, осцилануо (сенсорлық) сенсорлық сенсорлар мен Интернет -ресурстарға қол жетімді болады. Алдымен ешқандай байланыс орнатылған жоқ, бұл Twitter -дегі ескертулерге қолдау көрсетуге мүмкіндік береді.

Әр түрлі операциялар мен операциялар мүмкін емес болғандықтан, сіз автоматты түрде жұмыс жасай аласыз, олар автоматты түрде қол жетімді болады. Домашинаның шешімі өте маңызды.

SMS -хабарламалар, клиенттерге қызмет көрсету, электрондық пошта, құпия хабарламалар мен твиттер арқылы хабарлама жіберуге болады.

IW CORE, EC2 e SNS, AWS -ті жаңартуға болады.

DragonBord 410c сенсорлары

Android mqtt клиенттері

Питоннан жасалынған сендо

Автомобильдер:

Диего Фернандес дос Сантос - [email protected]

Габриэль Пиовани Морейра дос Сантос - [email protected]

Густаво Венансио Луз - [email protected]

Пауло Анрике Альмейда Сантос - [email protected]

1 -қадам: Dragonbord 410c - Public Sensão Dos Sensores - Analogicos

Dragonbord 410c - Public Sensual Dos Sensores - Analogicos
Dragonbord 410c - Public Sensual Dos Sensores - Analogicos

Аналогикалық позициялардың сенсорлық функциялары, олардың температурасы мен температурасы сенсорлық конфигурацияларды анықтауға мүмкіндік береді, бұл кезде сіз оларды анықтай аласыз.

Тіркелгеннен кейін бұл операцияны тоқтату керек.

Бұл 60 регресс бойынша 60 регресс бойынша, егер сіз 20 жаңартуды анықтайтын болсаңыз.

Dragon borad 410c бағдарламасы

#!/usr/bin/python3import spidev libsoc импорттық gpio импорттық ұйқыдан.

# MOSQUITTO paho.mqtt.client файлын mqtt ретінде импорттау

spi = spidev. SpiDev () spi.open (0, 0) spi.max_speed_hz = 10000 spi.mode = 0b00 spi.bits_per_word = 8

#ADC1 порталын пайдалану_арнасы_select1 = [0x01, 0x80, 0x00]

ADC2 порталы #арна_селект2 конфигурациясын пайдаланыңыз = [0x01, 0xA0, 0x00]

def on_connect (mqttc, obj, жалаушалар, rc): басып шығару («rc:» + str (rc))

def on_message (mqttc, obj, msg): басып шығару (msg.topic + «» + str (msg.qos) + «» + str (msg.payload))

def on_publish (mqttc, obj, mid): басып шығару («Message Id:» + str (mid) + «\ n») pass

# Criamos клиенті немесе конфигурациясы mqttc = mqtt. Client ()

mqttc.on_message = on_message mqttc.on_connect = on_connect mqttc.on_publish = on_publish

pub = mqtt. Client («grupo3»)

# Conexao com localhost, бұл сіздің тестілеуіңіз үшін қажет. broker_address = «34.230.74.201»

pub.connect (broker_address)

егер _ аты _ == '_ негізгі _' болса: gpio_cs = gpio. GPIO (18, gpio. DIRECTION_OUTPUT)

gpio.request_gpios ([gpio_cs]) арқылы: contador = 0 adc_value_old = 0 adc_value2_old = 0, ал contador <50: gpio_cs.set_high () ұйқы (0.00001) gpio_cs.set_low () rx = spi.xfer (channel_selcs._g)) contador = contador + 1 adc_value = (rx [1] << 8) & 0b1100000000 adc_value = adc_value | (rx [2] & 0xff) adc_value = ((((adc_value * 5) / 1024) - 0,5) * 100 басып шығару («Temperatura: % f / n» % adc_value) pub.publish («temperatura», str (adc_value)) # teste para acionar contador do alarme, teste ultima leitura + 5%

if adc_value_old == 0: adc_value_old = adc_value if adc_value> (adc_value_old*1.05): pub.publish («ALARME», «ON») басып шығару («Alarmado temperatura») adc_value_old = adc_value ұйқы (1)

gpio_cs.set_high () ұйқы (0.00001) gpio_cs.set_low () rx = spi.xfer (channel_select2) gpio_cs.set_high () contador = contador + 1 adc_value2 = (rx [1] << 8) & 0b1100000000 adc_value2 | (rx [2] & 0xff) adc_value2 = adc_value2 /10 басып шығару («Luminosidade: % f / n» % adc_value2) pub.publish («luminosidade», str (adc_value2))

# teste para acionar contador do alarme, teste ultima leitura + 50%

if adc_value2_old == 0: adc_value2_old = adc_value2 if adc_value2> (adc_value2_old*1.5): pub.publish («ALARME», «ON») басып шығару («Alarmado Luminosidade») adc_value2_old = adc_value2 ұйқы (3)

2 -қадам: Digitesis Sensores - Publicação

Sensores Digitais - Publicação
Sensores Digitais - Publicação

código para publicação dos sensites digitizis

Дірілдеудің дірілін анықтайтын сенсорлық сигналдар сенсорлық жағдайда немесе симуляцияда болады.

кездейсоқ анықталуы мүмкін, бұл сіздің регрессияңызға әсер етеді.

Dragon borad 410c бағдарламасы

libsoc_zero. GPIO импорттау түймешігінен libsoc_zero. GPIO импорты mqtt импорттау жүйесі ретінде импорттау paho.mqtt.client импортталатын уақыттан ауытқу

def on_connect (mqttc, obj, flags, rc): басып шығару («Conectado» + str (rc))

def on_message (mqttc, obj, msg): басып шығару (msg.topic + «» + str (msg.qos) + «» + str (msg.payload))

def on_publish (mqttc, obj, mid): # print («Message Id:» + str (mid) + «\ n») pass

def detectaTilt (): count = 0 sleep_count = 0 True кезінде: көріңіз: tilt.wait_for_tilt (1) қоспағанда: sleep_count += 1 басқа: count += 1 sleep_count += 1 if sleep_count> 999: break

print («count:», count) if count> 200: pub = mqttc.publish («TERREMOTO», «ON») pub = mqttc.publish («SISMOGRAFO», str (count)) # Criamos o client and setamos suas mqttc = mqtt. Client () конфигурациялары

mqttc.on_message = on_message mqttc.on_connect = on_connect mqttc.on_publish = on_publish

тақырып = «grupo3»

# Conexao com localhost, бұл сіздің тестілеуіңіз үшін қажет. mqttc.connect («34.230.74.201», 1883)

еңкейту = еңкейту ('GPIO-A')

btn = Түйме ('GPIO-C')

while True: ұйқы (0.25) detectaTilt () if btn.is_pressed (): pub = mqttc.publish («PANICO», «ON») басып шығару («Botao ON») ұйқы (1) pub = mqttc.publish («PANICO) «,» ӨШІРУ «) # басқа: # pub = mqttc.publish (» PANICO «,» ӨШІРУ «) # басып шығару (» Botao OFF «)

3 -қадам: Codigo Para Acionamento Sirene

Codigo Para Acionamento Sirene
Codigo Para Acionamento Sirene

SIRENE акционерлік қоғамына арналған қосымша бағдарлама, 410c айдаһар тақтасы.

# MOSQUITTOimport paho.mqtt.client файлын mqtt ретінде импорттау

libsoc_zero. GPIO импорттық жарық диоды импорттық ұйқыдан LED = LED ('GPIO-E') #led.off ()

# Connectar def_connect анықтаңыз (клиент, объект, жалаушалар, rc): басып шығару («Conex £ £ installelecida com broker»)

# Анықтаңыз o_message (клиент, obj, хабарлама): басып шығару («LED» + str (message.payload.decode («utf-8»))) егер str (message.payload.decode («utf-8»)) == «on»: print («Sirene ligada») led.on () else: print («Sierene apagada») led.off ()

# IP do broker_address = «34.230.74.201»

# Cria o cliente sub = mqtt. Client («grupo3»)

sub.connect (broker_address)

sub.on_message = on_message sub.on_connect = on_connect

# Тақырыпқа жазылудан бас тартыңыз («SIRENE», qos = 0)

# Loop for escuta sub.loop_forever ()

4 -қадам: Codigo Twitter - Пост

Codigo Twitter - хабарлама
Codigo Twitter - хабарлама
Codigo Twitter - хабарлама
Codigo Twitter - хабарлама

Жалпыға қол жетімді Twitter -де дабыл қағу керек.

AWS EC2 виртуалды бағдарламасының негізгі нұсқасы

#!/usr/bin/env python #---------------------------------------- ------------------------------ # twitter-post-status #-уақыт шкаласына күй хабарын жібереді # --- -------------------------------------------------- ------------------ импорт paho.mqtt.жазылу ретінде жазылыңыз

импорт уақыты

Twitter импортынан *

#------------------------------------------------- ---------------------- # біздің жаңа мәртебеміз қандай болуы керек? #------------------------------------------------- ---------------------- new_status = «#Terremoto Procure-бұл тест»

#------------------------------------------------- ---------------------- # біздің API тіркелгі деректерін жүктеу # ---------------------- ------------------------------------------------- импорт sys sys.path.append («.») импорт конфигурациясы

#------------------------------------------------- ---------------------- # twitter API объектісін жасау # ---------------------- ------------------------------------------------ twitter = Twitter (auth = OAuth ('senha removida))

#------------------------------------------------- ---------------------- # жаңа статус жариялау # twitter API құжаттары: https://dev.twitter.com/rest/reference/post/statu… #------------------------------------------------- ----------------------

ал 1: m = жазылу.қарапайым («twitteralarme», хост атауы = «172.31.83.191», сақталған = Жалған) егер m.topic == «twitteralarme» және str (m.payload.decode («utf-8»)) == «қосулы»: нәтижелер = twitter.statuses.update (status = (new_status)+str (time.time ())) # басып шығару («жаңартылған күй: % s» % new_status)

5 -қадам: Centro De Comando

Centro De Comando
Centro De Comando

қолмен жұмыс жасайтын нұсқаулық немесе анықтамалық анықтамалар пайдаланушыға қол жеткізуге мүмкіндік береді. Операторлық потенциалды бөліктерге енуге болады.

Деректер тақтасы қолданылғаннан кейін андроид пен телефонды басқару үшін де, компьютерді басқару үшін де қажет.

AWS EC2 виртуалды бағдарламасының негізгі нұсқасы

paho.mqtt.client pahoimport paho.mqtt.subon ретінде жазылу

тақырыптар = ['#']

gatilho = 0 hora_disparo = 0 publish.single («ACIONADO», «OFF», qos = 1, hostname = «172.31.83.191») publish.single («sensor1», «OFF», qos = 1, hostname = «172.31).83.191 «) publish.single (» sensor2 «,» OFF «, qos = 1, hostname =» 172.31.83.191 «)

connflag = жалған

def on_connect (клиент, пайдаланушы деректері, жалаушалар, rc): global connflag connflag = True print (connflag) басып шығару («Қосылым қайтарылған нәтиже:» + str (rc))

def on_message (клиент, пайдаланушы деректері, хабар): # басып шығару («тест») басып шығару (msg.topic+«»+str (msg.payload))

def on_log (клиент, пайдаланушы деректері, деңгей, buf): басып шығару (msg.topic+«»+str (msg.payload))

mqttc = paho. Client («Broker_MSG») mqttc.on_connect = on_connect mqttc.on_message = on_message

awshost = «data.iot.us-east-1.amazonaws.com» awsport = 8883 clientId = «a2rczvc6ni8105» thingName = «Ufscar2018» caPath = «aws-iot-rootCA.crt» certPath = «9e85dfd42a-certificate.pem. crt «keyPath =» 9e85dfd42a-private.pem.key «mqttc.tls_set (caPath, certfile = certPath, keyfile = keyPath, cert_reqs = ssl. CERT_REQUIRED, tls_version = ssl. PROTOCOL_TLSvcnn, ctq), keepalive = 60) mqttc.loop_start ()

while 1: hora = time.time () sleep (.1) publish.single («LEDTERREMOTO», «on», qos = 1, hostname = «172.31.83.191»)

# if connflag == True: # mqttc.publish («хабарлама», json.dumps ({'хабар': «TERREMOTO»}), qos = 1) егер gatilho == 1: publish.single («TEMPO», str (round (hora_disparo-hora, 0)), qos = 1, hostname = «172.31.83.191») publish.single («LEDTERREMOTO», «on», qos = 1, hostname = «172.31.83.191») басқа: жариялау.single («TEMPO», «99», qos = 1, hostname = «172.31.83.191») # print («») if (hora> hora_disparo) and (gatilho == 1): # print («TERREMOTO») # print (connflag) if connflag == True: # mqttc.publish («хабар», json.dumps ({'хабар': «TERREMOTO»}), qos = 1) # mqttc.publish («хабар», «TERREMOTO») «, qos = 1) mqttc.publish (» хабар «, json.dumps (» TERREMOTO - PROCURE UMA ZONA SEGURA «), qos = 1)

# print («teste SNS») # publish.single («LED», «on», hostname = «172.31.83.191») publish.single («SIRENE», «on», qos = 1, hostname = «172.31. 83.191 «) publish.single (» TEMPO «,» TERREMOTO «, qos = 1, hostname =» 172.31.83.191 «) publish.single (» ACIONADO «,» OFF «, qos = 1, hostname =» 172.31.83.191 «)) publish.single («twitteralarme», «on», qos = 1, hostname = «172.31.83.191») жариялау.single («twitter», «TERREMOTO - PROCURE UMA ZONA SEGURA», qos = 1, hostname = «172.31).83.191 «) gatilho = 0 ұйқы (5) m = жазылу.қарапайым (тақырыптар, хост атауы =» 172.31.83.191 «, сақталған = Жалған), егер m.topic ==» ACIONADO «және str (m.payload.decode (») utf-8 «)) ==» ӨШІРУ «: gatilho = 0 басып шығару (» жою «) егер m.topic ==» medico «және str (m.payload.decode (» utf-8 «)) ==» қосулы болса «: егер connflag == True: mqttc.publish (» medico «, json.dumps (» MEDICOS - EMERGENCIA TERREMOTO «), qos = 1) егер m.topic ==» bombeiro «және str (m.payload.decode («utf -8»)) == «on»: if connflag == True: mqttc.publish («bombeiro», json.dumps («BOMBEIRO - EMERGENCIA TERREMOTO»), qos = 1) егер m.topic == « жедел жәрдем »және көшесі (м. payloa d.decode («utf -8»)) == «on»: if connflag == True: mqttc.publish («ambulancia», json.dumps («AMBULANCIA - EMERGENCIA TERREMOTO»), qos = 1) if m. тақырып == «шұғыл» және str (m.payload.decode («utf-8»)) == «қосулы»: publish.single («ACIONADO», 1, qos = 1, хост атауы = «172.31.83.191») gatilho = 1 hora_disparo = time.time ()+5 if str (m.payload.decode («utf-8»)) == «ON»: егер gatilho == 1: print («acelerado 20») hora_disparo = hora_disparo -20 басқа: print («Acionado») publish.single («ACIONADO», 1, qos = 1, хост атауы = «172.31.83.191») gatilho = 1 hora_disparo = time.time ()+60

6 -қадам: Twitter -дегі Codigo - Мониторинг

Codigo Twitter - Мониторинг
Codigo Twitter - Мониторинг

twitter -ді бақылаңыз, сонымен қатар сорокаба туралы хабарлама жазыңыз

AWS EC2 виртуалды бағдарламасының негізгі нұсқасы

n

twitter импортынан *импорттау конфигурациясын импорттау paho.mqtt.публикация ретінде жариялаңыз

уақыттан бастап ұйқы импортталады

twitter = Twitter (auth = OAuth (config.access_key, config.access_secret, config.consumer_key, config.consumer_secret))

ендік = -23.546211 бойлық = -46.637840 альцанс = 50 нәтижеdos = 1

publish.single («twitter_alarme», «ON», хост атауы = «34.230.74.201»)

result_count = 0 last_id = Ешқандай жалауша = 0

i үшін (60): #----------------------------------------- ------------------------------ # ендік пен бойлыққа негізделген # twitter API құжаттарын іздеуді орындаңыз: https:// dev. twitter.com/rest/reference/get/search… #------------------------------------- ---------------------------------- көріңіз: query = twitter.search.tweets (q = «#Terremoto»), геокод = « %f, %f, %dkm» %(ендік, бойлық, альцанс), max_id = last_id) басып шығару («leu»)

қоспағанда: басып шығару («erro acesso twitter») үзіліс

сұрау нәтижесі үшін [«күйлер»]:

#------------------------------------------------- ---------------------- # тек геолокация болған жағдайда нәтижені өңдейді # ----------------- -------------------------------------------------- ---- if result [«geo»]: result_count += 1 last_id = result [«id»] sleep (1) if result_count == resultados: flag += 1 publish.single («twitter_alarme», «ON», хост атауы = «34.230.74.201») publish.single («twitter», «TERREMOTO - DETECTADO», хост атауы = «34.230.74.201») үзіліс

7 -қадам: Estrutura AWS

Estrutura AWS
Estrutura AWS
Estrutura AWS
Estrutura AWS
Эструтура AWS
Эструтура AWS

AWS EC2 арқылы виртуалды жолмен жұмыс істеу мүмкін емес

AWS IOT CORE бағдарламасы MQTT қызметтерін конфигурациялауға мүмкіндік береді, себебі олар сіздің қызметіңізге сәйкес келеді.

AWS SNS -тің негізгі тақырыптары AWS IOT CORE -ді қолданады.

Ұсынылған: