Sadržaj:
- Korak 1: Pritisnite gumb za Arduino
- Korak 2: Arduino do maline
- Korak 3: Kôd na strani poslužitelja
- Korak 4: Konfigurirajte web stranicu
Video: Nazovite web !: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Ring the Web služi za utjecaj na web stranice s lokalnih/stvarnih mjesta.
Više informacija o tome:
makker.hu/RingTheWeb/
Trebat će vam:
- 1 gumb
- 10k otpornik
- Arduino (bilo koje vrste)
- kabeli
- malo računalo male snage - u ovom slučaju RPi
- pristup poslužitelju ili računalu s javnom IP adresom s node.js
- web stranica
Koraci:
- Pritisnite gumb za arduino
- Arduino do maline
- Malina na poslužitelj
- Web stranica na poslužitelj
Korak 1: Pritisnite gumb za Arduino
Prvo vam je potreban Arduino i gumb!
Bilo koja vrsta je moguća, na vama je da odaberete.
Za njihovo povezivanje slijedite službeni vodič za gumbe Arduina.
Evo Arduino koda:
// Arduino kôd za čitanje digitalnog pina i slanje vrijednosti na serijski port
// Balázs Kovács, 2018. void setup () {Serial.begin (9600); // otvaranje pinMode serijskog porta (8, INPUT); // povezivanje tipke na Pin 8} int brojač = 0; // nešto kasnije korišteno void loop () {if (digitalRead (8) == 1) {// provjerite status pin 8 Serial.write ("8"); } kašnjenje (100); brojač ++; if (brojač = 20) {// svakih 20x100 = 2000ms -> brojač = 0; Serial.write ("0"); // šalje poslužitelju poruku "postojeći sam"}} // to je sve!
Korak 2: Arduino do maline
Sada možemo povezati Arduino s računalom. U ovom slučaju koristimo malinu zbog male potrošnje energije.
Spojite ga putem USB-a ili izravno s ovdje opisanim pinovima RX-TX.
Zatim instalirajte node.js i npm kako je ovdje opisano. Ključne riječi su:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
i onda
sudo apt -get install -y nodejs
Npm (upravitelj paketa Node.js-a) trebaju module socket.io-klijenta i module serijskog porta, pa ih instalirajte:
npm instalirajte socket.io-klijent
npm install serijski port
Otvorite i spremite datoteku something.js sa sljedećim kodom:
// inicijalizira socket.io vezu:
var utičnica; var io = require ('socket.io-client'); socket = io ("https://yourserver.com:port"); // ako je povezivanje sa poslužiteljem uspješno: socket.on ('connect', function () {socket.send ("ja sam ovdje!"); console.log ("spojen na poslužitelj");}); // inicijalizira komunikaciju serijskog porta, NB /dev = ttyACM0 se može promijeniti: var SerialPort = require ('serialport'); var serialPort = novi SerialPort ('/dev/ttyACM0', {baudRate: 9600}); // Ako nešto dolazi s Arduina, šalje različite poruke // poslužitelju prema njemu serialPort.on ('data', function (data) {console.log ('Data:', data.toString ('ascii'))); if (data.indexOf ('8')! ==-1) {socket.send ('/RingTheBell 1');} if (data.indexOf ('0')! ==-1) {socket. poslati ('/client1 1');}}); // Čitanje dostupnih podataka - mislim da nije potrebno serialPort.on ('čitljivo', function () {console.log ('Podaci:', port.read ());});
Sada biste trebali postaviti i kôd node.js na strani poslužitelja, do tada možete pokrenuti i testirati skriptu do
čvor./something.js
Ako nešto nije u redu, javite mi!
Korak 3: Kôd na strani poslužitelja
Na strani poslužitelja potreban nam je node.js sa poslužiteljem socket.io.
Zato ga dodajte sa:
npm instalirati socket-io
Tada će vam trebati skripta slična kodu u 2. koraku, s tom razlikom što čeka veze, a ako su prisutne emitirat će svaku poruku poslanu od klijenta svim klijentima, u ovom u slučaju korisnika web stranice …
Dakle, otvorite servercript.js sa sljedećim:
var http = require ('http'), io = require ('socket.io'); // otvoriti minimalni http poslužitelj. socket.io treba. var poslužitelj = http.createServer (funkcija (req, res) {res.writeHead (200, {'Content-Type': 'text/html'}); res.end ('zdravo');}); // uključite tcp utičnicu - postavite port! server.listen (7004, function () {console.log ("TCP poslužitelj radi na portu 7004");}); // analiziramo tcp poruke var socket = io.listen (poslužitelj); socket.on ('veza', funkcija (klijent, rinfo) {client.broadcast.emit ('sustav', 'netko povezan …'); client.on ('poruka', funkcija (događaj) {console.log (događaj); // emitirajte bilo koju poruku svim povezanim korisnicima! socket.emit ('poruka', događaj);}); client.on ('svi', funkcija (događaj) {}); client.on ('prekini vezu', function () {socket.emit ('poruka', 'netko je isključen …');});});
Pokušajte to isprobati
čvor./serverscript.js
Ako i klijent radi, trebali biste vidjeti njihovu komunikaciju na obje konzole. Barem ove:
Podaci: 0
-povremeno govori sustavu da komunikacija Arduino-> Raspberry-> poslužitelj radi.
i
Podaci: 8
- govori da je gumb uključen.
Korak 4: Konfigurirajte web stranicu
Sada smo spremni sa 75%!
Završite naporan rad uključivanjem koda za web stranicu.
To je lako.
prvo, uključite socket.io klijenta:
zatim stvorite sustav za analizu poruka:
var utičnica;
socket = io ("yourserver.com:port"); socket.on ('connect', function () {socket.send ('anonimni klijent - korisnik web stranice - povezan je!'); socket.on ('message', function (msg) {// ako želite vidjeti svaku poruku, samo je raskomentirajte: // console.log (msg); if (msg == "/RingTheBell 1") // ovdje dolazi kôd za korištenje za izražavanje događaja tipke: {document.body.style.background = "#ccc"; setTimeout (function () {document.body.style.background = "#000";}, 1000);}; if (msg == "/client1 1") {// ovdje možete postaviti nešto koji reagira na status povezanog klijenta};});
Voilá!
spreman.
Preporučeni:
LED LIGHT DIY za web kameru (C920): 10 koraka (sa slikama)
LED LIGHT DIY za web kameru (C920): Rasvjeta je bitna za web kameru. Ovaj mali LED prsten pomaže vašoj kameri za lice da vas jako dobro drži. Možete snimati video bez ikakvog svjetla osim ove LED diode. Koristio sam 3D pisač i LED modul WS2812b (kompatibilan s Neopixelom)
Božićno drvce koje kontrolira web stranica (svatko ga može kontrolirati): 19 koraka (sa slikama)
Božićno drvce koje kontrolira web stranica (svatko ga može kontrolirati): Želite li znati kako izgleda božićno drvce kontrolirano web lokacijom? Evo video snimke koja prikazuje moj projekt mog božićnog drvca. Prijenos uživo do sada je završio, ali snimio sam video koji bilježi što se događa: Ove godine, sredinom prosinca
Ponovna upotreba modula web kamere HP WebCam 101 Aka 679257-330 kao generičke USB web kamere: 5 koraka
Ponovno upotrijebite modul web kamere HP WebCam 101 Aka 679257-330 kao opću USB web kameru: Želim začiniti svoj 14-godišnji Panasonic CF-18 potpuno novom web kamerom, ali Panasonic više ne podržava taj čudesni stroj, pa moram upotrijebite sivu tvar za nešto lakše od b & b (piva i hamburgera). Ovo je prvi dio
IO vodič za IO web upravljačkog programa Korištenje web stranice uživo i primjeri rada: 8 koraka
IO vodič za IO web upravljačkog programa Korištenje web stranice uživo i primjeri rada: IO vodič za upravljački program web upravljačkog programa Korištenje web stranice uživo i primjeri rada Zadnje ažuriranje: 26.7.2015. (Često provjeravajte dok ažuriram ove upute s više detalja i primjera) Pozadina Nedavno sam imao zanimljiv izazov koji mi je predstavljen. Trebao sam
Postavljanje filtriranja web sadržaja u 4 koraka uz Ubuntu: 5 koraka
Postavljanje filtriranja web sadržaja u 4 koraka uz Ubuntu: Kao informatičar, jedna od najčešćih stvari koje me kolege pitaju je kako mogu kontrolirati web stranicama kojima njihova djeca mogu pristupiti na internetu. Ovo je vrlo jednostavno za napraviti i besplatno pomoću Ubuntu linux -a, dansguardiana i tinyproxyja