Mundarija:
Video: Alerta Sísmica Temprana.: 4 qadam (rasmlar bilan)
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
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
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:
- Avtobuslar uchun eng katta talab
- 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
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
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