Sadržaj:
- Korak 1: Pritisnite dugme za Arduino
- Korak 2: Arduino do maline
- Korak 3: Kod na strani servera
- Korak 4: Konfigurirajte web lokaciju
Video: Zvonite Webu !: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
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 dugme
- 10k otpornik
- Arduino (bilo koje vrste)
- kablovi
- mali računar male snage - u ovom slučaju RPi
- pristup serveru ili računaru sa javnom IP adresom sa node.js
- web stranica
Koraci:
- Pritisnite dugme za arduino
- Arduino do maline
- Malina na server
- Veb lokacija na server
Korak 1: Pritisnite dugme za Arduino
Prvo vam trebaju Arduino i dugme!
Bilo koja vrsta je moguća, na vama je da odaberete.
Da biste ih povezali, 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 serijskog porta pinMode (8, INPUT); // povezivanje tastera sa 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); counter ++; 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.
Povežite ga putem USB-a ili direktno sa 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 serialport
Otvorite i spremite datoteku something.js sa sljedećim kodom:
// inicijalizira socket.io vezu:
var socket; var io = require ('socket.io-client'); socket = io ("https://yourserver.com:port"); // ako je veza sa serverom uspešna: socket.on ('connect', function () {socket.send ("ovde sam!"); console.log ("povezano sa serverom");}); // 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 iz Arduina, šalje različite poruke // serveru 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. send ('/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 servera, do tada možete pokrenuti i testirati skriptu do
node./something.js
Ako nešto nije u redu, javite mi!
Korak 3: Kod na strani servera
Na strani servera potreban nam je node.js sa socket.io serverom.
Zato ga dodajte sa:
npm install socket-io
Tada će vam trebati skripta slična kodu u drugom koraku, s tom razlikom što čeka veze, a ako su prisutne emitirat će svaku poruku poslanu od klijenta svim klijentima, u ovom slučaju, korisnicima web stranice …
Dakle, otvorite servercript.js sa sljedećim:
var http = require ('http'), io = require ('socket.io'); // otvaranje minimalnog http servera. socket.io treba. var server = 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 server radi na portu 7004");}); // analiziramo tcp poruke var socket = io.listen (server); socket.on ('veza', funkcija (klijent, rinfo) {client.broadcast.emit ('sistem', 'neko povezan …'); client.on ('poruka', funkcija (događaj) {console.log (događaj); // emitira 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', 'neko je isključen …');});});
Pokušajte to isprobati
node./serverscript.js
Ako i klijent radi, trebali biste vidjeti njihovu komunikaciju na obje konzole. Bar ove:
Podaci: 0
-povremeno govori sistemu da komunikacija Arduino-> Raspberry-> poslužitelj radi.
i
Podaci: 8
- govori da je dugme uključeno.
Korak 4: Konfigurirajte web lokaciju
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 kreirajte sistem za analizu poruka:
var socket;
socket = io ("yourserver.com:port"); socket.on ('connect', function () {socket.send ('anonym client - korisnik web stranice - povezan je!'); socket.on ('message', function (msg) {// ako želite vidjeti svaku poruku, samo raskomentirajte: // console.log (msg); if (msg == "/RingTheBell 1") // ovdje dolazi kôd koji možete koristiti za izražavanje događaja sa tipkom: {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čuje se:
Dizajn igre brzim pokretom u 5 koraka: 5 koraka
Dizajn igre u Flick -u u 5 koraka: Flick je zaista jednostavan način da napravite igru, posebno nešto poput zagonetke, vizuelnog romana ili avanturističke igre
SMART LED animacijski sat povezan s internetom sa upravljačkom pločom zasnovanom na webu, sinhroniziran vremenski server: 11 koraka (sa slikama)
SMART LED animacijski sat povezan s internetom S upravljačkom pločom zasnovanom na webu, sinhroniziranim vremenskim serverom: Priča o ovom satu seže u daleku prošlost-više od 30 godina. Moj otac je započeo ovu ideju kada sam imao samo 10 godina, mnogo prije LED revolucije - tada kada su LED diode bile 1/1000 svjetline trenutnog zasljepljujućeg sjaja. Istina
Broj koraka / koraka: 3 koraka
পেনড্রাইভ / মেমোরি কার্ডে ভাইরাসের ভাইরাসের হারিয়ে সমাধান সমাধান সমাধান সমাধান সমাধান পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি এখন এখন এখন।।।।।। Zaštita podataka, pristup prečicama / virusima
Sparky - DIY Robot za teleprisutnost na webu: 15 koraka (sa slikama)
Sparky - DIY Robot za teleprisutnost na Internetu: Naziv Sparky zasnovan je na akronimu za? Artefakt autoportreta? Roving Chassis I? nezgodan naslov za umjetnički projekt započet početkom 90 -ih. Od tada je Sparky evoluirao od prevelike RC igračke s nekoliko "baby monitora"? video ca
Mjerenje vode na webu s IoBridge -om: 10 koraka (sa slikama)
Mjerenje vode na webu s IoBridge-om: Nakon projekta mjerača energije u stvarnom vremenu koji sam obavio u siječnju, sljedeći logičan korak izgledao je kao mjerač vode baziran na ioBridge-u. Da se razumijemo, očuvanje energije neće samo po sebi spasiti planetu. Postoji mnogo resursa osim izabranih