Mundarija:

Alerta Sísmica Temprana.: 4 qadam (rasmlar bilan)
Alerta Sísmica Temprana.: 4 qadam (rasmlar bilan)

Video: Alerta Sísmica Temprana.: 4 qadam (rasmlar bilan)

Video: Alerta Sísmica Temprana.: 4 qadam (rasmlar bilan)
Video: Ciudades Resilientes | Alerta sísmica temprana| Ep # 4| AXA Research Fund 2024, Noyabr
Anonim
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana

Tushuntirish

Ishlab chiqarish 3 ta masofani bosib o'tishga imkon beradi, shuning uchun 8 km dan 13 km/s gacha ro'yxatdan o'tish mumkin.

Mavjud sensorlar P va dashtni aniqlay olmaydilar.

Bu twitterda tizimli ravishda taqdim etilgan dasturlar orqali amalga oshiriladi.

Materiallar utilizator

- 1 Arudino UNO (taxminan 25 AQSh dollari)

- 1 Arduino Shield Ehternet (taxminan 24 AQSh dollari)

- 1 ta zilzila signalizatsiyasi (taxminan 30 AQSh dollari)

- 1 ta protokollar uchun Circuito -ni taqdim etish (taxminan 0,60 AQSh dollari).

- 3 xil kabellar jumper de diferentes ranglari (taxminan 0,30 AQSh dollari)

- 9V dan 1 ta konektor (taxminan 0,30 AQSh dollari)

- Kautin va sotadura

1 -qadam: Como Colocar Los Cables

Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables

Bu erda "Zilzila signalizatsiyasi" sensori o'rnatilgan bo'lsa, u holda siz 9 -sonli ulanishdan foydalanishingiz mumkin.

Bu 5 -datchikli sensorlar bilan bir vaqtda amalga oshiriladi.

"Zilzila signallari" ni aniqlanganda, siz P yoki boshqa signallarni topa olmaysiz, bu esa A -ni kuzatib borishga imkon beradi.

Kabel kabellari quyidagilarga bo'linadi:

5v - A0 - kabel konstruktsiyasi

Aloqa sensori, 5V va undan yuqori simli kabellar - bu ulagichlar va kabellar.

Bu kabelni ulash uchun eng yaxshi kabel hisoblanadi.

una vez los tengamos en este orden soldamos para que la electricidad pase entre ellos.

Sensor 9V ulagichni ulashda muhim ahamiyatga ega bo'lib, u kabelni yoqish va o'chirish uchun juda muhim ahamiyatga ega.

2 -qadam: Codigo Arduino

Bu erda Arduino 2 -chi o'rinni egalladi:

  1. Avtobuslar uchun eng katta talab
  2. Variantlar va xizmatlar veb -tarmog'idan farq qiladi.

Bu erda hech qanday savol tug'ilmagan bo'lsa, bu hech qanday savol tug'dirmaydi.

Qidiruv va tarmoq himoyasi uchun ketma -ket foydalanish mumkin.

#qo'shing

#qo'shing

PIN -kodni o'chirib qo'yish - bu eng muhim muammo.

#QUAKEALARM A0 ni aniqlang

O'zgaruvchilarni aniqlab bo'ladigan bo'lsak, bu xizmatlar veb -saytlaridagi eng katta farq.

statik farqlar;

int qaVal = 0; int qaPreVal = 0;

int chegarasi = 10;

int intervalliTiempo = 5000; // Internet -xizmatlar veb -sayti orqali

uzoq

ultimaConexion = 0; // Tarmoqli xizmatlar veb -sayti juda katta

Ethernet -dan farqli o'laroq, MAC -ning aniq ta'riflari, shuningdek, EthernetClient -ni o'chirib qo'yish, shuningdek, qizil rangda. Ma'lumotlar IP -ni aniqlab olish mumkin.

bayt mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

bayt ip = {192, 168, 15, 120}; // Direccion IP del Arduino

bayt

server = {192, 168, 15, 111}; // Yo'nalish IP -manzili

EthernetClient mijozi;

O'zgaruvchilar, kutubxonalar va dasturlar Arduino -da dasturlar ro'yxati:

  • 57600 seriyali inkializamos
  • A0 (doimiy QUAKEALARM) bu erda hech qanday muammo yo'q.
  • Oxirgi qism qizil rangda.

void setup () {Serial.begin (57600); pinMode (QUAKEALARM, INPUT);

Ethernet.begin (mac, ip); // Ethernet qalqoni

}

Yo'nalishdagi dasturlar bir vaqtning o'zida 5 oydan kam bo'lmagan xizmatlarni qayta ko'rib chiqish bilan bir vaqtning o'zida "o'zgaruvchan" kabi o'zgaradi. bir vaqtning o'zida 5 ta ma'lumotni o'chirib tashlamang.

void loop () {

qaVal = analogRead (QUAKEALARM); diferensiya = qaPreVal - qaVal;

agar ((diferensiya> 0) va (diferensiya> = chegara) va ((millis () - ultimaConexion)> intervalliTiempo)) {

kontador = kontador + 1;

Serial.print ("Sismo!");

Serial.println (kontador);

ultimaConexion = millis ();

if (client.connect (server, 5002)> 0) {

Serial.println ("Konekto");

client.print ("GET /? sismo = 1"); // GET -dan olingan ma'lumotlar

client.println ("HTTP/1.0");

client.println ("Foydalanuvchi-Agent: Arduino 1.0");

}

client.stop ();

mijoz.flush (); }

qaPreVal = qaVal;

}

Github.com/bettocr/alertasismo saytidan yuklab oling

To'liq tugatish:

#qo'shing

#qo'shing

// Quake signal

#QUAKEALARM A0 ni aniqlang

// QuakeAlarm signallari o'zgaruvchan

statik farqlar;

int qaVal = 0;

int qaPreVal = 0; int chegarasi = 10; int intervalliTiempo = 5000; // Intervalo tiempo entre dos llamadas al servicio web long ultimaConexion = 0; // Tarmoqli xizmatlar veb -sayti juda katta

// Ethernet o'zgaruvchilari

// MAC, mahalliy IP, Puerta de Enlace va Máscara de Red javob beradi.

bayt mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; bayt ip = {192, 168, 8, 20}; // Direccion IP del Arduino bayt serveri = {192, 168, 8, 11}; // EthernetClient mijozining IP -xizmati; void setup () {Serial.begin (57600); pinMode (QUAKEALARM, INPUT); // chekilgan Ethernet.begin (mac, ip); // Ethernet qalqoni ishga tushirildi}

void loop () {

qaVal = analogRead (QUAKEALARM);

diferensiya = qaPreVal - qaVal;

agar ((diferensiya> 0) va (diferensiya> = chegara) va ((millis () - ultimaConexion)> intervalliTiempo)) {

kontador = kontador + 1; Serial.print ("Sismo!"); Serial.println (kontador); ultimaConexion = millis (); if (client.connect (server, 5002)> 0) {Serial.println ("Conecto"); client.print ("GET /? key = 1122334455 & sismo = 1"); // GET client.println ("HTTP/1.0") ma'lumotlar bazasi; client.println ("Foydalanuvchi-Agent: Arduino 1.0"); } client.stop (); mijoz.flush (); } qaPreVal = qaVal; }

3 -qadam: Codigo Python

Codigo Python
Codigo Python

Bu 5002 ta xizmat ko'rsatuvchi veb -saytni yaratishda (Raspberry Pi -da), shuningdek, Arduino -ni tanlashda yordam beradi.

PUSH -ning har qanday xizmatidan foydalanish mumkin bo'lgan vaqtdan buyon amalga oshirilishi mumkin.

Bu apps.twitter.com saytida iste'molchi kaliti (API kaliti), iste'molchi siri (API maxfiyligi), kirish belgisi va kirish token siri haqidagi ma'lumotlar mavjud. y en la función tweet cambiar las xxxxx por hurmat bilan.

Github.com/bettocr/alertasismo yoki uzluksiz nusxa ko'chirish tugmachasini yuklab oling:

#!/usr/bin/python2.7

#-*-kodlash: utf-8-*-

import so'rovlari, urllib2, urllib, tweepy

kolbadan import qilish Shisha, so'rov

StringIO -dan StringIO -ni import qilish

datetime import datetime, timedelta

def tvit (erkaklar):

CONSUMER_KEY = 'xxxxxxx'

CONSUMER_SECRET = 'xxxxxxxx'

ACCESS_KEY = 'xxxxxxxx'

ACCESS_SECRET = 'xxxxxxxx'

auth = tweepy. OAuthHandler (CONSUMER_KEY, CONSUMER_SECRET)

auth.set_access_token (ACCESS_KEY, ACCESS_SECRET)

api = tweepy. API (auth, parser = tweepy.parsers. JSONParser ())

tweetid = api.update_status (holat = mensaje)

app = Flask (_ nomi_)

@app.route ("/", usullar = ['Olish'])

def sismo ():

harakat qilib ko'ring:

sismo = request.args.get ("sismo")

agar (str (sismo) == "1"):

t = datetime.now ()

hora = t.strftime ("%-I:%M%p")

tweet ("[Pruebas] Segundos los próximos segundos ("+hora+")")

xato sifatida IOErrordan tashqari: "Fallo" ni chop eting

o'tish

istisnolardan tashqari:

"Istisno"+str (e) ni chop eting

o'tish

"OK" ga qaytish

4 -qadam: Finalni aniqlang

Detalles finali
Detalles finali
Detalles finali
Detalles finali
Detalles finali
Detalles finali
Detalles finali
Detalles finali

Mana, har bir narsani o'ylab ko'ring

  • Corte la Placa de Circuito faqat eng yaxshi o'yinlardan biri hisoblanadi.
  • Kabelni uzatishning eng yaxshi usuli - bu kabellar.
  • Aqlli material - bu 3 ta kabel, yakka kabel.
  • Yo'l -yo'lakay, 3D formatida o'rnatiladi

Mana shu savolga javob bering @SismoTico

Tavsiya: