Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-23 15:10
Ring Web është për të prekur faqet e internetit nga vendet lokale/reale.
Më shumë informacion në lidhje me të:
makker.hu/RingTheWeb/
Do t'ju duhet:
- 1 buton
- Rezistencë 10k
- Arduino (çdo lloj)
- kabllot
- kompjuter i vogël, me fuqi të ulët - në këtë rast një RPi
- qasje në një server ose kompjuter me IP publike me node.js
- faqe interneti
Hapat:
- Butoni në arduino
- Arduino në mjedër
- Mjedër në server
- Uebfaqe në server
Hapi 1: Butoni në Arduino
Së pari ju duhet një Arduino dhe një buton shtytës!
Çdo lloj i tyre është i mundur, ju takon juve të zgjidhni.
Për t'i lidhur ato, ju lutemi ndiqni tutorialin zyrtar të butonave të Arduino.
Këtu është kodi Arduino:
// Kodi Arduino për leximin e një kodi dixhital dhe dërgimin e vlerës në portin serik
// Balázs Kovács, 2018. void setup () {Serial.begin (9600); // hapni portin serik pinMode (8, INPUT); // lidheni butonin me Pin 8} int counter = 0; // diçka e përdorur më vonë void loop () {if (digitalRead (8) == 1) {// kontrolloni statusin e pinit 8 Serial.write ("8"); } vonesë (100); banak ++; if (counter = 20) {// çdo 20x100 = 2000ms -> counter = 0; Serial.write ("0"); // dërgon një mesazh "unë jam ekzistues" në server}} // kjo është e gjitha!
Hapi 2: Arduino në mjedër
Tani mund ta lidhim Arduino me një kompjuter. Në këtë rast ne përdorim një mjedër, për shkak të konsumit të ulët të energjisë.
Lidheni atë përmes USB ose drejtpërdrejt me kunjat RX-TX, të përshkruara këtu.
Pastaj instaloni node.js dhe npm siç përshkruhet këtu. Fjalët kyçe janë:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
dhe pastaj
sudo apt -get install -y nodejs
Npm (menaxheri i paketave të Node.js) ka nevojë për module socket.io-client dhe serialport, kështu që instalojini ato:
npm install socket.io-client
npm instaloni portin serial
Hapni dhe ruani një skedar something.js me kodin e mëposhtëm:
// inicializoni lidhjen socket.io:
fole var; var io = kërkoj ('socket.io-client'); fole = io ("https://yourserver.com:port"); // nëse lidhja me serverin është e suksesshme: socket.on ('Connect', function () {socket.send ("Unë jam këtu!"); console.log ("lidhur me serverin");}); // iniconi komunikimin e portit serik, NB /dev = ttyACM0 mund të ndryshohet: var SerialPort = kërkojnë ('serialport'); var serialPort = SerialPort i ri ('/dev/ttyACM0', {baudRate: 9600}); // Nëse diçka vjen nga Arduino, dërgon mesazhe të ndryshme // në server sipas tij serialPort.on ('të dhëna', funksion (të dhëna) {console.log ('Të dhëna:', data.toString ('ascii')); if (data.indexOf ('8')! ==-1) {socket.send ('/RingTheBell 1');} if (data.indexOf ('0')! ==-1) {fole dërgoni ('/client1 1');}}); // Lexoni të dhënat që janë në dispozicion - mendoj se nuk është e nevojshme serialPort.on ('i lexueshëm', funksioni () {console.log ('Të dhënat:', port.read ());});
Tani Ju duhet të vendosni kodin node.js të serverit gjithashtu, derisa të mund të filloni dhe testoni skriptin duke
nyje./dicka.js
Nëse diçka nuk shkon, ju lutem më tregoni!
Hapi 3: Kodi nga ana e serverit
Nga ana e serverit, ne kemi nevojë për node.js me serverin socket.io.
Pra shtojeni me:
npm instaloni socket-io
Atëherë Ju do të keni nevojë për një skenar të ngjashëm me kodin në hapin e 2 -të, me ndryshimin, se ai pret lidhjet, dhe nëse ato janë të pranishme, ai do të transmetojë çdo mesazh të dërguar nga klienti te të gjithë klientët, në këtë rast, për përdoruesit e faqes në internet…
Pra, hapni një serverscript.js me sa vijon:
var http = kërkoj ('http'), io = kërkoj ('socket.io'); // hapni një server minimal http. socket.io ka nevojë për të. var server = http.createServer (funksioni (req, res) {res.writeHead (200, {'Content-Type': 'text/html'}); res.end ('përshëndetje');}); // ndizni prizën tcp - vendosni portën tuaj! server.listen (7004, funksioni () {console.log ("Serveri TCP që funksionon në portën 7004");}); // analizoni mesazhet tcp var socket = io.listen (server); socket.on ('lidhje', funksion (klient, rinfo) {client.broadcast.emit ('sistem', 'dikush i lidhur …'); client.on ('mesazh', funksion (ngjarje) {console.log (ngjarje); // transmetoni çdo mesazh për çdo përdorues të lidhur! funksion () {socket.emit ('mesazh', 'dikush i shkëputur …');});});
Provoni ta provoni me
nyje./serverscript.js
Nëse klienti po funksionon gjithashtu, duhet të shihni komunikimin e tyre në të dy tastierët. Të paktën këto:
Të dhënat: 0
-i tregon periodikisht sistemit që komunikimi i serverit Arduino-> Raspberry-> po funksionon.
dhe
Të dhënat: 8
- tregon se butoni është aktiv.
Hapi 4: Konfiguroni Uebfaqen
Tani jemi gati me 75%!
Përfundoni punën e vështirë duke përfshirë kodin për faqen e internetit.
Është e lehtë.
së pari, përfshini klientin socket.io:
pastaj krijoni sistemin e analizuesit të mesazheve:
fole var;
fole = io ("Yourerver.com:port"); socket.on ('Connect', function () {socket.send ('klienti anonim - një përdorues i uebfaqes - është i lidhur!'); socket.on ('mesazh', funksioni (msg) {// nëse dëshironi të shihni çdo mesazh, thjesht mos e komentoni: // console.log (msg); nëse (msg == "/RingTheBell 1") // këtu vjen kodi për t'u përdorur për të shprehur ngjarjen e butonit: {document.body.style.background = "#ccc"; setTimeout (funksioni () {document.body.style.background = "#000";}, 1000);}; nëse (msg == "/client1 1") {// këtu mund të vendosni diçka i cili reagon ndaj statusit të klientit të lidhur};});
Voilá!
gati.
Recommended:
UK Ring Video Doorbell Pro Duke punuar me tingull mekanik: 6 hapa (me fotografi)
UK Ring Video Doorbell Pro Duke punuar me tingull mekanik: ************************************* *************** Ju lutemi vini re se kjo metodë funksionon vetëm me energji AC tani Unë do të azhurnoj nëse/kur gjej një zgjidhje për kambanat e derës duke përdorur fuqinë DC Ndërkohë, nëse keni një energji DC furnizim, do t'ju duhet t
DIY MIDI CONTROLLER USB Plug & Play (ND URMARRJA E NEOPIXEL RING): 12 hapa
DIY MIDI CONTROLLER USB Plug & Play (UPGRADE NEOPIXEL RING): MAO pasionante dhe Muzikë Elektronike, por edhe duke parë që ishte e mundur të krijoni një Ndërfaqe të personalizuar Midi i bërë nga unë 6 Potenciometra dhe 12 butona (ndez / fikur) por për ta bërë vendin më të vështirë se tashmë do të doja të shtoja tregues vizual
DIY Mini LED Ring Light !: 7 hapa (me fotografi)
DIY Mini LED Ring Light !: A jeni të lodhur nga ditët e errëta? Këto ditë kanë mbaruar me këtë dritë të re mini unazë DIY! Përdoreni atë për selfiet, vlog -et apo edhe bloget tuaja! Me një kapacitet mahnitës të baterisë prej 1800 mAh ju do të jeni në gjendje ta përdorni llambën për rreth 4 orë në ndriçim të plotë
DIY LED Ring Light PCB për mikroskopë !: 6 hapa (me fotografi)
DIY LED Ring Light PCB për Mikroskopë !: Unë jam kthyer dhe këtë herë i kam vënë në provë aftësitë e mia të dizajnit të bordit! Në këtë udhëzues ju tregoj se si kam krijuar vetë dritën time unazore të mikroskopit dhe disa sfida që kam hasur gjatë rrugës. Bleva një mikroskop të dytë për përdorim elektronik dhe
"Ring" i madh LED Dritë për Timelapse, Portrete dhe më shumë : 11 hapa (me fotografi)
LED i madh "unazon" Dritën për Timelapse, Portrete dhe Më shumë …: Unë bëj shumë video timelapse që përfshijnë disa ditë, por urrej dritën e pabarabartë që japin dritat e kapëses - veçanërisht gjatë natës. Një dritë e madhe unazore është shumë e shtrenjtë - kështu që vendosa të bëj diçka vetë në një mbrëmje të vetme me gjërat që kisha në dorë.