Mundarija:
- 1 -qadam: Arduino tugmachasini bosing
- 2 -qadam: Arduino - malina
- 3-qadam: Server tomonidagi kod
- 4 -qadam: Veb -saytni sozlash
Video: Internetga qo'ng'iroq qiling: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Internetga qo'ng'iroq qilish veb -saytlarga mahalliy/haqiqiy joylardan ta'sir qilish uchun mo'ljallangan.
Bu haqda ko'proq ma'lumot:
makker.hu/RingTheWeb/
Sizga kerak bo'ladi:
- 1 tugma
- 10 k qarshilik
- Arduino (har qanday turdagi)
- kabellar
- kichik, kam quvvatli kompyuter - bu holda RPi
- node.js bilan umumiy IP bo'lgan server yoki kompyuterga kirish
- veb -sayt
Qadamlar:
- Arduino tugmachalari
- Arduino dan malina
- Malina serverga
- Veb -sayt serverga
1 -qadam: Arduino tugmachasini bosing
Birinchidan, sizga Arduino va tugma kerak!
Ularning har qanday turi mumkin, tanlash sizga bog'liq.
Ularni ulash uchun Arduino -ning rasmiy tugmalar qo'llanmasiga amal qiling.
Mana Arduino kodi:
// Raqamli pinni o'qish va ketma -ket portga qiymat yuborish uchun Arduino kodi
// Balázs Kovács, 2018. void setup () {Serial.begin (9600); // pinMode ketma -ket portini ochish (8, INPUT); // tugmachani 8 -pinga ulang} int counter = 0; // keyinchalik ishlatilgan narsa void loop () {if (digitalRead (8) == 1) {// 8 -pinning holatini tekshirish Serial.write ("8"); } kechikish (100); hisoblagich ++; agar (hisoblagich = 20) {// har 20x100 = 2000ms -> hisoblagich = 0; Serial.write ("0"); // serverga "men mavjudman" xabarini yuboradi}} // hammasi shu!
2 -qadam: Arduino - malina
Endi biz Arduino -ni kompyuterga ulashimiz mumkin. Bu holda biz Raspberry -dan foydalanamiz, chunki u kam quvvat sarflaydi.
Uni USB orqali yoki to'g'ridan-to'g'ri bu erda tasvirlangan RX-TX pinlari bilan ulang.
Keyin bu erda tasvirlanganidek node.js va npm -ni o'rnating. Kalit so'zlar:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
undan keyin
sudo apt -get install -y nodejs
Npm (Node.js paket menejeri) socket.io-client va serialport modullariga muhtoj, shuning uchun ularni o'rnating:
npm socket.io-mijozini o'rnating
npm serialport -ni o'rnating
Bir narsa.js faylini quyidagi kod bilan oching va saqlang:
// socket.io aloqasini ishga tushiring:
var soket; var io = talab ('socket.io-mijoz'); soket = io ("https://yourserver.com:port"); // agar serverga ulanish muvaffaqiyatli bo'lsa: socket.on ('ulanish', function () {socket.send ("men shu yerdaman!"); console.log ("serverga ulangan");}); // ketma -ket port aloqasini ishga tushiring, NB /dev = ttyACM0 ni o'zgartirish mumkin: var SerialPort = talab ('serialport'); var serialPort = yangi SerialPort ('/dev/ttyACM0', {baudRate: 9600}); // Agar biror narsa Arduino -dan kelgan bo'lsa, serverga turli xil xabarlarni yuboradi // unga muvofiq serialPort.on ('ma'lumotlar', funktsiya (ma'lumotlar) {console.log ('Ma'lumotlar:', data.toString ('ascii'))); if (data.indexOf ('8')! ==-1) {socket.send ('/RingTheBell 1');} if (data.indexOf ('0')! ==-1) {soket. yuborish ('/client1 1');}}); // Mavjud ma'lumotlarni o'qing - menimcha, bu kerak emas serialPort.on ('o'qiladigan', function () {console.log ('Ma'lumotlar:', port.read ());});
Endi siz server tomonidagi node.js kodini o'rnatishingiz kerak, shunda siz skriptni ishga tushirishingiz va sinab ko'rishingiz mumkin
tugun./something.js
Agar biror narsa noto'g'ri bo'lsa, menga xabar bering!
3-qadam: Server tomonidagi kod
Server tomonida bizga socket.io serverli node.js kerak.
Shunday qilib, uni qo'shing:
npm socket-io ni o'rnating
Keyin sizga 2 -qadamdagi kodga o'xshash skript kerak bo'ladi, farqi shundaki, u ulanishlarni kutadi va agar ular mavjud bo'lsa, u mijozdan yuborilgan har qanday xabarni barcha mijozlarga uzatadi. Veb -sayt foydalanuvchilari uchun …
Shunday qilib, quyidagi bilan serververscript.js -ni oching:
var http = talab ('http'), io = talab ('socket.io'); // minimal http serverini oching. socket.io ga kerak. var server = http.createServer (funktsiya (req, res) {res.writeHead (200, {'Content-Type': 'text/html'}); res.end ('salom');}); // tcp rozetkasini yoqing - portingizni sozlang! server.listen (7004, function () {console.log ("TCP serveri 7004 portida ishlaydi");}); // tcp xabarlarini tahlil qiling var socket = io.listen (server); socket.on ("ulanish", funktsiya (mijoz, rinfo) {client.broadcast.emit ("tizim", "kimdir ulangan …"); client.on ("xabar", funktsiya (hodisa) {console.log (hodisa)); // har qanday ulangan foydalanuvchilarga har qanday xabarni yuboring! socket.emit ('xabar', hodisa);}); client.on ('hamma', funktsiya (hodisa) {}); mijoz.on ('uzib qo'yish', function () {socket.emit ('xabar', 'kimdir o'chirilgan…');});});
Buni sinab ko'ring
tugun./serverscript.js
Agar mijoz ham ishlayotgan bo'lsa, ularning muloqotini ikkala pristavkada ham ko'rishingiz kerak. Hech bo'lmaganda bular:
Ma'lumotlar: 0
-vaqti-vaqti bilan tizimga Arduino-> Raspberry-> server aloqasi ishlayotganligini bildiradi.
va
Ma'lumotlar: 8
- tugma yoqilganligini bildiradi.
4 -qadam: Veb -saytni sozlash
Endi biz 75% bilan tayyormiz!
Veb -sayt kodini kiritish bilan mashaqqatli ishni tugating.
Bu oson.
Birinchidan, socket.io mijozini kiriting:
Keyin xabarlarni tahlil qilish tizimini yarating:
var soket;
soket = io ("yourserver.com:port"); socket.on ('ulanish', funktsiya () {socket.send ('anonim mijoz - veb -sayt foydalanuvchisi - ulangan!'); socket.on ('xabar', funktsiya (msg) {// agar ko'rishni xohlasangiz) har bir xabarga izoh qoldirmang: // console.log (msg); if (msg == "/RingTheBell 1") // bu erda tugma hodisasini ifodalash uchun ishlatiladigan kod keladi: {document.body.style.background = "#ccc"; setTimeout (function () {document.body.style.background = "#000";}, 1000);}; if (msg == "/client1 1") {// bu erda biror narsani joylashtirish mumkin ulangan mijoz maqomiga javob beradigan};});
Voila!
tayyor
Tavsiya:
Buyuk Britaniyaning halqali video eshikli qo'ng'irog'i Pro mexanik qo'ng'iroq bilan ishlaydi: 6 qadam (rasmlar bilan)
UK Ring Video Doorbell Pro mexanik qo'ng'iroq bilan ishlaydi: ************************************** *************** Iltimos, shuni esda tutingki, bu usul hozirda faqat AC quvvati bilan ishlaydi, agar men shahar zaryadini ishlatadigan eshik qo'ng'iroqlari uchun yechim topsam, yangilab turaman. ta'minot, sizga kerak bo'ladi
Arduino - CoolPhone 1/2: 5 qadam bilan qanday qo'ng'iroq qilish mumkin
Qanday qilib Arduino bilan qo'ng'iroq qilish mumkin - CoolPhone 1/2: Nokia n97 - Bu, ehtimol, mening birinchi mobil telefonim edi. Men uni musiqa tinglash va ba'zida suratga olish uchun ishlatardim, lekin asosan qo'ng'iroq qilish uchun. Men o'z telefonimni faqat qo'ng'iroq qilish va qabul qilish uchun ishlatishga qaror qildim. Bu inte bo'ladi
Fikrlaringizni himoya qiling, ishingizni himoya qiling: 8 qadam
Fikrlaringizni himoya qiling, ishingizni himoya qiling: Men bir necha kun oldin kompyuterning ishdan chiqishi natijasida ma'lumotlarni yo'qotib qo'ydim. Bir kunlik ishim yo'qoldi .:/ Men qattiq diskdagi nuqsonni oldini olish uchun ma'lumotlarni bulutda saqlayman. Men o'z ishimning eski versiyalarini tiklash uchun versiya dasturidan foydalanaman. Men har kuni zaxira nusxasini yarataman, lekin bu safar men
O'zingizning qo'ng'iroq ohanglaringizni bepul qiling: 4 qadam
O'zingizning qo'ng'iroq ohanglaringizni tekin qiling. Siz qo'ng'iroq ohanglari uchun 99., 1.99 va 2.99 to'lashni yoqtirmaysizmi? Umid qilamanki, bu o'rgatilmasdan so'ng, siz o'zingizning qo'ng'iroq ohangingizni qanday qilishni o'rganasiz. ESLATMA: Men hech qanday qonuniy masalalar bo'yicha javobgar emasman, xuddi siz qo'shiqlarni, NOR KOPIRINI KO'CHIRGANGIZNI
Internetga ulangan holda har qanday joyda ommaviy axborot vositalarini tomosha qiling yoki tinglang: 5 qadam
Internetga ulangan holda har qanday joyda o'z ommaviy axborot vositalarini tomosha qiling yoki tinglang: Bu qo'llanmada sizga Youtube.com saytida ko'rilganlarga o'xshab Flash videolarni (FLV) saqlaydigan mp3 server va veb -sayt yaratish ko'rsatiladi