İçindekiler:

Alerta Sísmica Temprana.: 4 Adım (Resimlerle)
Alerta Sísmica Temprana.: 4 Adım (Resimlerle)

Video: Alerta Sísmica Temprana.: 4 Adım (Resimlerle)

Video: Alerta Sísmica Temprana.: 4 Adım (Resimlerle)
Video: Alerta sísmica skyalert. 2024, Temmuz
Anonim
Alerta Sismica Temprana
Alerta Sismica Temprana
Uyarı Sísmica Temprana
Uyarı Sísmica Temprana
Uyarı Sísmica Temprana
Uyarı Sísmica Temprana
Alerta Sismica Temprana
Alerta Sismica Temprana

Açıklama

Durante un sismo se, 3 tipos de ondas la primaria o Pque es la önemlie para este proyecto, viaja entre 8 y 13 km/s y es kayıtlar por los eposipo sismógrafos.

Varolan sensörler, alarmlar, uyarılar için uyarılar ve kontroller P, dandonos unos segundos antes que el sismo suceda.

Twitter'daki mevcut sistem ve uyarıları değiştir.

Materyaller bir utilizar

- 1 Arudino UNO (Maliyet yaklaşık 25 usd)

- 1 Arduino Shield Ehternet (Maliyet Yaklaşık 24 ABD Doları)

- 1 Deprem Alarmı (Yaklaşık 30 ABD Doları Maliyet)

- 1 Placa de Circuito impresa para prototipos (Costo Aprox. 0,60 USD) veya bir protoboard

- 3 Kablo Farklı renklerde Jumper (Maliyet Yaklaşık. 0,30 ABD Doları)

- 1 Conector de batería de 9V (Yaklaşık Maliyet. 0,30 ABD Doları)

- Cautin ve soldadura

Adım 1: Como Colocar Los Kabloları

Como Colocar Los Kabloları
Como Colocar Los Kabloları
Como Colocar Los Kabloları
Como Colocar Los Kabloları
Como Colocar Los Kabloları
Como Colocar Los Kabloları
Como Colocar Los Kabloları
Como Colocar Los Kabloları

"Deprem Alarmı" sensörünün en güncel hali.

El Arduino le dará 5v al sensor con los que va a poder funcionar bien.

"Deprem Alarmı", parlamenter olmayan bir uyarıyı, tüm uyarıları ve koşulları tespit etmeyi mümkün kılıyor.

En el siguiente orden se deben poner los kabloları:

5v - A0 - Kablo negro del connector de batería

Primero el kablosu 5V beslenme sensörü, luego el A0 que va bir monitör kulak el cihazı ve finalmente el Kablo negro del bağlayıcı.

En otra fila conectamos el kablo Negro que viene el Arduino ve kablo rojo que viene del bağlayıcı.

una vez los tengamos en este orden soldamos para que la elektirikli pase giriş ellos.

9V al sensör için önemli bağlantı ve konektör, kablo negro pasa a ser el positivo y el rojo el negatif, çok cuidado con esto.

Adım 2: Código Arduino

En el Arduino vamos a crear un código que nos va a a allow 2 cosas:

  1. Leer el ile para buscar cambios
  2. Si hay variación en eluna hacer una servicio web

Açıklayıcı olmayan bir açıklama, hiçbir sorun yaşamadan, derin bir açıklamanın yapılmasına izin verir.

Para iniciar vamos a incluir las librerías necesarias para poder usar el kalkan ethernet y el seri.

#Dahil etmek

#Dahil etmek

Luego vamos a crear una sabite que va a tener el PIN Analógico que vamos a usar

#define QUAKEALARM A0

Seguido tanımları las değişkenleri sıraya koyan bir ayudar al procesamiento de la variación de la variación de la variación de l el tiempo para hacer la lamada al servicio web.

statik int farklılıklar;

int qaVal = 0;int qaPreVal = 0;

int eşik = 10;

int intervaloTiempo = 5000; // Web'e giriş aralığı

uzun

ultimaConexion = 0; // Tiempo en milisegundos desde la ultima conexion al servicio web

Ethernet'ten bağımsız değişkenler, Ethernet'ten bağımsız değişkenler, MAC'leri tanımlayan, kırmızı'yı belirleyen, IP'yi kullananlar, Ethernet İstemci'yi kullanan değişkenler. También vamos, kesin olarak tanımlanmış bir IP adresidir.

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

bayt ip = { 192, 168, 15, 120 }; // Arduino'nun Yön IP'si

bayt

sunucu = { 192, 168, 15, 111 }; //Direccion IP sunucu sunucusu

EthernetClient istemcisi;

Ya con las değişkenleri, librerías y classes listas podemos iniciar el programa que tendrá nuestro Arduino:

  • Incializamos el seri bir 57600
  • Luego le decimos al arduino que el pin A0(constante QUAKEALARM) lo vamos ve usar como un pin de entrada.
  • Finalmente iniciamos la tarjeta de red.

geçersiz kurulum () { Serial.begin(57600); pinMode(QUAKEALARM, GİRİŞ);

Ethernet.begin(mac, ip); // Inicialisamos ve Ethernet Kalkanı

}

Y para terminar el program, ponemos en una función cíclica que revize el l e s es es es alt bir 5v que haga un llamada al servidor y por medio de GET le manda el valor 1 a la değişken "sismo". También filtra para que varolu olmayan bir aradan sonra, 5 gün boyunca, en yakın çevredeki enformasyon y otro'ya giriş yapın.

boşluk döngüsü () {

qaVal = analogRead(QUAKEALARM); farklılık = qaPreVal - qaVal;

if ((diferencia > 0) ve (diferencia >= eşik) ve ((millis() - ultimaConexion) > intervaloTiempo)) {

contador = contador + 1;

Serial.print("Sismo!");

Serial.println(contador);

ultimaConexion = millis();

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

Serial.println("Conecto");

client.print("GET /?sismo=1"); // GET için enviamos verileri

client.println("HTTP/1.0");

client.println("Kullanıcı-Aracı: Arduino 1.0");

}

istemci.durdur();

client.flush(); }

qaPreVal = qaVal;

}

Puedes descargar el código en github.com/bettocr/alertasismo

Código tamamlandı:

#Dahil etmek

#Dahil etmek

// Deprem Alarmı

#define QUAKEALARM A0

// Değişken que mantiene el valor anterior del QuakeAlarm

statik int farklılıklar;

int qaVal = 0;

int qaPreVal = 0; int eşik = 10; int intervaloTiempo = 5000; // Aralığın en iyi şekilde kullanılması, web uzun ultimaConexion = 0; // Tiempo en milisegundos desde la ultima conexion al servicio web

// Değişkenler Ethernet

//Bir MAC, IP yerel, Puerta de Enlace ve Máscara de Red için los valores karşılıkları tanıtıldı

bayt mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; bayt ip = { 192, 168, 8, 20 }; // Direccion IP del Arduino bayt sunucusu = { 192, 168, 8, 11 }; // Direccion IP sunucusu EthernetClient istemcisi; geçersiz kurulum () { Serial.begin(57600); pinMode(QUAKEALARM, GİRİŞ); // ethernet Ethernet.begin(mac, ip); // Inicialisamos ve Ethernet Kalkanı }

boşluk döngüsü () {

qaVal = analogRead(QUAKEALARM);

farklılık = qaPreVal - qaVal;

if ((diferencia > 0) ve (diferencia >= eşik) ve ((millis() - ultimaConexion) > intervaloTiempo)) {

contador = contador + 1; Serial.print("Sismo!"); Serial.println(contador); ultimaConexion = millis(); if (client.connect(sunucu, 5002)>0) { Serial.println("Conecto"); client.print("GET /?key=1122334455&sismo=1"); // GET client.println(" HTTP/1.0"); client.println("Kullanıcı-Aracı: Arduino 1.0"); } müşteri.durdur(); client.flush(); } qaPreVal = qaVal; }

Adım 3: Código Python

Codigo Python
Codigo Python

5002 sunucuyu (Raspberry Pi'yi en iyi şekilde kullanarak), Arduino'yu enviar ve Tuit'te kullanabilirsiniz.

İthalatçı denetimler için para poder uygulamacı estadísticas y en un futuro poderlo usar en algún servicio de bildirimler PUSH para móviles.

Tüketici Anahtarı (API Anahtarı), Tüketici Sırrı (API Sırrı), Erişim Simgesi ve Erişim Simgesi Sırrı. En eğlenceli ve en eğlenceli tweet, tüm değerlerin en iyi şekilde değerlendirilmesi.

Devamını oku:

#!/usr/bin/python2.7

# -*- kodlama: utf-8 -*-

içe aktarma istekleri, urllib2, urllib, tweepy

şişeden içe aktarma Şişesi, istek

StringIO'dan StringIO'yu içe aktar

tarihsaatten içe aktarma tarihsaatinden, timedelta

def tweet(mensaje):

TÜKETİCİ_ANAHTAR = 'xxxxxxx'

TÜKETİCİ_GİZLİ = 'xxxxxxxx'

ACCESS_KEY = 'xxxxxxxx'

ACCESS_SECRET = 'xxxxxxxx'

yetki = 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(status=mensaje)

uygulama = Şişe(_name_)

@app.route("/", yöntemler=['GET'])

tanım sismo():

denemek:

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

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

t = tarihsaat.şimdi()

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

tweet("[En Pruebas] Olası sismo en los proximos segundos ("+hora+")")

hata olarak IOError dışında: 'Fallo' yazdır

geçmek

e olarak İstisna hariç:

"İstisna" +str(e) yazdır

geçmek

"Tamam" dön

4. Adım: Finalleri Detalles

Detaylar Finaller
Detaylar Finaller
Detaylar Finaller
Detaylar Finaller
Detaylar Finaller
Detaylar Finaller
Detaylar Finaller
Detaylar Finaller

Como Pasos ek para darle en önemli görüntü

  • Corte la Placa de Circuito sadece para que entrara en el espacio destinado a la batería.
  • Con un mototool hice un hueco en la tapa en la esquina superior derecha para que los kablolar entraran.
  • Con malzeme termo sensible, puse los 3 kablolar que van al Arduino para que parezca un solo kablo.
  • Y para poner el arduino en la pared, yüksek la impresión 3D de este mount

Pueden seguir el bot que hice con estos pasos en @SismoTico

Önerilen: