Kazalo:
- Korak: Pritisnite gumb na Arduino
- Korak: Arduino do maline
- 3. korak: Koda na strani strežnika
- 4. korak: Konfigurirajte spletno mesto
Video: Pokliči na splet!: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:06
Ring the Web je namenjen vplivanju na spletna mesta iz lokalnih/resničnih krajev.
Več informacij o tem:
makker.hu/RingTheWeb/
Potrebovali boste:
- 1 gumb
- 10k upor
- Arduino (katere koli vrste)
- kabli
- majhen računalnik z nizko porabo energije - v tem primeru RPi
- dostop do strežnika ali računalnika z javnim IP z node.js
- Spletna stran
Koraki:
- Pritisnite gumb za arduino
- Arduino do maline
- Malina na strežnik
- Spletno mesto na strežnik
Korak: Pritisnite gumb na Arduino
Najprej potrebujete Arduino in gumb!
Vse vrste so možne, na vas je, da izberete.
Če jih želite povezati, sledite uradni vadnici gumbov Arduina.
Tu je koda Arduino:
// Arduino koda za branje digitalnega zatiča in pošiljanje vrednosti na serijska vrata
// Balázs Kovács, 2018. void setup () {Serial.begin (9600); // odpremo zaporedna vrata pinMode (8, INPUT); // priključitev gumba na Pin 8} int števec = 0; // nekaj uporabljenega kasneje void loop () {if (digitalRead (8) == 1) {// preveri stanje pin 8 Serial.write ("8"); } zamuda (100); števec ++; if (števec = 20) {// vsakih 20x100 = 2000ms -> števec = 0; Serial.write ("0"); // pošlje strežniku sporočilo "obstoječ sem"}} // to je vse!
Korak: Arduino do maline
Zdaj lahko Arduino povežemo z računalnikom. V tem primeru uporabljamo malino zaradi majhne porabe energije.
Priključite ga prek USB-ja ali neposredno s tukaj opisanimi zatiči RX-TX.
Nato namestite node.js in npm, kot je opisano tukaj. Ključne besede so:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
in potem
sudo apt -get install -y nodejs
Npm (upravitelj paketov Node.js) potrebuje odjemalce socket.io in module za serijski port, zato jih namestite:
npm namestite odjemalca socket.io
npm namestite serijski port
Odprite in shranite datoteko something.js z naslednjo kodo:
// inicializiramo socket.io povezavo:
varna vtičnica; var io = require ('socket.io-client'); socket = io ("https://yourserver.com:port"); // če je povezava s strežnikom uspešna: socket.on ('connect', function () {socket.send ("sem tukaj!"); console.log ("povezan s strežnikom");}); // inicializiramo komunikacijo prek serijskih vrat, NB /dev = ttyACM0 je mogoče spremeniti: var SerialPort = require ('serialport'); var serialPort = nov SerialPort ('/dev/ttyACM0', {baudRate: 9600}); // Če nekaj prihaja iz Arduina, pošlje strežniku različna sporočila // po njem 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');}}); // Branje razpoložljivih podatkov - mislim, da ni potrebno serialPort.on ('berljivo', function () {console.log ('Podatki:', port.read ());});
Zdaj bi morali nastaviti tudi kodo node.js na strani strežnika, do takrat pa lahko zaženete in preizkusite skript
vozlišče./something.js
Če je kaj narobe, mi sporočite!
3. korak: Koda na strani strežnika
Na strani strežnika potrebujemo node.js s strežnikom socket.io.
Zato ga dodajte z:
npm namestite socket-io
Potem boste potrebovali podoben skript za kodo v 2. koraku, z razliko, da čaka na povezave, in če so prisotne, bo v tem odjemalcu predvajal vsa sporočila, poslana od odjemalca, vsem odjemalcem. uporabnikom spletnega mesta …
Odprite torej servercript.js z naslednjim:
var http = require ('http'), io = require ('socket.io'); // odpre minimalni strežnik http. socket.io potrebuje. var server = http.createServer (function (req, res) {res.writeHead (200, {'Content-Type': 'text/html'}); res.end ('hello');}); // vklopite vtičnico tcp - nastavite vrata! server.listen (7004, function () {console.log ("Strežnik TCP deluje na vratih 7004");}); // analiziramo sporočila tcp var socket = io.listen (strežnik); socket.on ('povezava', funkcija (odjemalec, rinfo) {client.broadcast.emit ('sistem', 'nekdo je povezan …'); client.on ('sporočilo', funkcija (dogodek) {console.log (dogodek); // oddaja vsako sporočilo vsem povezanim uporabnikom! socket.emit ('sporočilo', dogodek);}); client.on ('vsi', funkcija (dogodek) {}); client.on ('odklopi', function () {socket.emit ('sporočilo', 'nekdo je odklopljen …');});});
Poskusite ga preizkusiti
vozlišče./serverscript.js
Če se odjemalec tudi izvaja, bi morali videti njihovo komunikacijo na obeh konzolah. Vsaj te:
Podatki: 0
-sistemu občasno sporoča, da komunikacija s strežnikom Arduino-> Raspberry-> deluje.
in
Podatki: 8
- pove, da je gumb vklopljen.
4. korak: Konfigurirajte spletno mesto
Zdaj smo pripravljeni s 75%!
Trdo delo zaključite z vključitvijo kode za spletno mesto.
To je enostavno.
najprej vključite odjemalca socket.io:
nato ustvarite sistem za analizo sporočil:
varna vtičnica;
socket = io ("yourserver.com:port"); socket.on ('connect', function () {socket.send ('anonimni odjemalec - uporabnik spletnega mesta - je povezan!'); socket.on ('message', function (msg) {// če želite videti vsako sporočilo, samo razkomentirajte: // console.log (msg); if (msg == "/RingTheBell 1") // tukaj pride koda za izražanje dogodka s tipko: {document.body.style.background = "#ccc"; setTimeout (function () {document.body.style.background = "#000";}, 1000);}; if (msg == "/client1 1") {// tukaj lahko postavite nekaj ki reagira na stanje povezanega odjemalca};});
Voilá!
pripravljeno.
Priporočena:
Splet? Arduino Simulator na osnovi Wokwi-2020?: 5 korakov
Splet? Arduino Simulator na osnovi Wokwi-2020?: Wokwi Arduino Simulator deluje na platformi AVR8js. To je spletni Arduino Simulator. Arduino Simulator deluje v spletnem brskalniku. zato zasluži več pozornosti in iskreno, to ima veliko pozitivnih točk v primerjavi z drugimi simulatorji, ki so na voljo
DIY stativ pod koraki 1: 3 koraki
DIY stativ pod 1 USD: Ta pouk vas bo naučil, kako narediti fantastičen stativ pod 1 USD. Z uporabo samo gospodinjskih predmetov, kot je moka, lahko naredite fantastičen stativ, ki je še boljši od običajnega stojala, celo prenosnega … poskusite! najprej bi si moral ogledati video
4G/5G HD video pretakanje v živo z DJI Drone z nizko zakasnitvijo [3 koraki]: 3 koraki
4G/5G HD video pretakanje v živo z DJI Drone z nizko zakasnitvijo [3 koraki]: Naslednji vodnik vam bo pomagal prenašati videoposnetke v visoki kakovosti HD v skoraj vseh DJI-jih. S pomočjo mobilne aplikacije FlytOS in spletne aplikacije FlytNow lahko začnete pretakati videoposnetke iz drona
Pridobite brezplačen brezžični splet na telefonu Motorola/nextel/boost: 6 korakov
Pridobite brezplačen brezžični splet na telefonu Motorola/nextel/boost: Danes vas bom naučil, kako dobiti brezplačen brezžični splet na telefonu nextel/motorola/boost
Pojdite na splet, ne da bi vas preganjali: Tor (čebulni usmerjevalnik): 4 koraki (s slikami)
Pojdite na splet, ne da bi vas preganjali: Tor (čebulni usmerjevalnik): Ko greste na splet, puščate sledi povsod. Lahko se družite s prijatelji v neposrednem sporočilu, pregledujete spletna mesta ali nalagate glasbo. Če živite v državi, kjer vohunci iščejo, kaj počnejo navadni državljani na spletu (npr