INHOUDSOPGAWE:
- Stap 1: drukknop na Arduino
- Stap 2: Arduino tot framboos
- Stap 3: Kode aan die bediener
- Stap 4: Stel webwerf op
Video: Bel die web !: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Ring the Web is vir die invloed van webwerwe vanaf plaaslike/regte plekke.
Meer inligting daaroor:
makker.hu/RingTheWeb/
Jy benodig:
- 1 drukknop
- 10k weerstand
- Arduino (enige tipe)
- kabels
- klein rekenaar met 'n lae krag - in hierdie geval 'n RPi
- toegang tot 'n bediener of rekenaar met 'n openbare IP met node.js
- webwerf
Stappe:
- Drukknop na arduino
- Arduino tot framboos
- Framboos na bediener
- Webwerf na bediener
Stap 1: drukknop na Arduino
Eerstens het u 'n Arduino en 'n drukknop nodig!
Elke tipe daarvan is moontlik, dit is aan u om te kies.
Volg die amptelike knoppie -tutoriaal van Arduino om dit aan te sluit.
Hier is die Arduino -kode:
// Arduino -kode om 'n digitale pen te lees en waarde na die seriële poort te stuur
// Balázs Kovács, 2018. leemte -opstelling () {Serial.begin (9600); // maak die seriële poort pinMode (8, INPUT) oop; // koppel die drukknop aan Pin 8} int counter = 0; // iets wat later gebruik word, void loop () {if (digitalRead (8) == 1) {// check pin 8 status Serial.write ("8"); } vertraging (100); toonbank ++; as (teller = 20) {// elke 20x100 = 2000ms -> teller = 0; Serial.write ("0"); // stuur 'n "ek bestaan" -boodskap na die bediener}} // dit is alles!
Stap 2: Arduino tot framboos
Nou kan ons Arduino aan 'n rekenaar koppel. In hierdie geval gebruik ons 'n framboos vanweë die lae kragverbruik.
Koppel dit via USB of direk met die RX-TX-penne, wat hier beskryf word.
Installeer dan node.js en npm soos hier beskryf. Die sleutelwoorde is:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
en dan
sudo apt -get install -y nodejs
Npm (pakketbestuurder van Node.js) benodig socket.io-kliënt- en serialport-modules, dus installeer dit:
npm installeer socket.io-kliënt
npm installeer serialport
Open en stoor 'n something.js -lêer met die volgende kode:
// initialiseer die socket.io -verbinding:
var socket; var io = require ('socket.io-client'); socket = io ("https://yourserver.com:port"); // as die verbinding met die bediener suksesvol is: socket.on ('connect', function () {socket.send ("ek is hier!"); console.log ("gekoppel aan die bediener");}); // initialiseer die seriële poortkommunikasie, NB /dev = ttyACM0 kan verander word: var SerialPort = require ('serialport'); var serialPort = nuwe SerialPort ('/dev/ttyACM0', {baudRate: 9600}); // As daar iets van die Arduino afkomstig is, stuur dit verskillende boodskappe // na die bediener volgens die seriële port.on ('data', funksie (data) {console.log ('Data:', data.toString ('ascii')); if (data.indexOf ('8')! ==-1) {socket.send ('/RingTheBell 1');} if (data.indexOf ('0')! ==-1) {socket. stuur ('/client1 1');}}); // Lees beskikbare data - ek dink dit is nie nodig serialPort.on ('leesbaar', funksie () {console.log ('Data:', port.read ());});
Nou moet u die node.js -kode van die bediener ook instel totdat u die script kan begin en toets
node./something.js
Laat weet my as daar iets fout is!
Stap 3: Kode aan die bediener
Aan die bedienerkant het ons node.js nodig met socket.io -bediener.
Voeg dit dus by met:
npm installeer socket-io
Dan benodig u 'n soortgelyke script as die kode op die tweede stap, met die verskil dat dit op verbindings wag, en as dit teenwoordig is, sal dit 'n boodskap wat van die kliënt af gestuur is, na al die kliënte stuur geval, aan die webwerfgebruikers …
Maak dus 'n serverscript.js oop met die volgende:
var http = vereis ('http'), io = vereis ('socket.io'); // maak 'n minimale http -bediener oop. socket.io het dit nodig. var server = http.createServer (function (req, res) {res.writeHead (200, {'Content-Type': 'text/html'}); res.end ('hallo');}); // skakel tcp -aansluiting aan - stel u poort in! server.listen (7004, function () {console.log ("TCP -bediener loop op poort 7004");}); // ontleed tcp -boodskappe var socket = io.listen (bediener); socket.on ('verbinding', funksie (kliënt, rinfo) {client.broadcast.emit ('stelsel', 'iemand verbind …'); client.on ('boodskap', funksie (gebeurtenis) {console.log (gebeurtenis); // stuur 'n boodskap uit na elke gekoppelde gebruiker! socket.emit ('boodskap', gebeurtenis);}); client.on ('almal', funksie (gebeurtenis) {}); client.on ('ontkoppel', funksie () {socket.emit ('boodskap', 'iemand ontkoppel …');});});
Probeer om dit te toets
node./serverscript.js
As die kliënt ook werk, moet u hul kommunikasie op beide konsoles sien. Ten minste hierdie:
Data: 0
-vertel gereeld vir die stelsel dat die Arduino-> Framboos-> bedienerkommunikasie werk.
en
Data: 8
- vertel dat die knoppie aan is.
Stap 4: Stel webwerf op
Nou is ons gereed met die 75%!
Sluit die harde werk mee met die kode vir die webwerf in.
Dit is maklik.
Sluit eerstens socket.io -kliënt in:
skep dan die boodskap-ontlederstelsel:
var socket;
socket = io ("yourserver.com:port"); socket.on ('connect', function () {socket.send ('anonym client - a website user - is connected!'); socket.on ('message', function (msg) {// if You want to see elke boodskap, los dit net op: // console.log (msg); as (msg == "/RingTheBell 1") // hier kom die kode wat u kan gebruik om die drukknoppie -gebeurtenis uit te druk: {document.body.style.background = "#ccc"; setTimeout (function () {document.body.style.background = "#000";}, 1000);}; as (msg == "/client1 1") {// hier kan u iets plaas wat reageer op die gekoppelde kliëntstatus};});
Voilá!
gereed.
Aanbeveel:
Laat die ou telefoon weer bel: 4 stappe
Weereens 'n ou telefoon laat lui: Hallo, my naam is Lazar en dit is my eerste instruksie. Hier sal ek wys en verduidelik hoe ek dit reggekry het om 'n ou telefoon met boomdrade wat daaruit kom, aan 'n nuwe stelsel met slegs twee drade te koppel
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder op: 5 stappe
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder: In hierdie geval sal ons 'n eenvoudige program in C -kode skep en dit in die geheue van die mikrokontroleerder verbrand. Ons sal ons eie program skryf en die hex -lêer saamstel, met behulp van die Atmel Studio as die geïntegreerde ontwikkelingsplatform. Ons sal die sekering van twee instel
Hoe om die veiligheid van die meeste blokkeerders aan die kant van die bediener te omseil: 3 stappe
Hoe om die veiligheid van die meeste webblokkers op die bediener te verlig: dit is my eerste instruksie, so hou my in gedagte: Ok, ek sal u vertel hoe u die webblokkers wat ek in skole gebruik het, kan omseil. Al wat u nodig het, is 'n flash drive en 'n paar sagteware aflaai
Hoe om probleme op te los met die afstandsbediening van die Pionner -stuurwiel - Verhoog die IR -sein en herstel die klein slot: 14 stappe
Hoe om probleme op te los met die afstandsbediening van die stuurwiel van Pionner - Verhoog die IR -sein en herstel die klein slot.: Hierdie afstandsbediening is baie mooi en gerieflik, maar soms werk dit nie behoorlik nie. projek is nie 'n voorbeeld van doeltreffendheid nie. Ek kom uit Brasilië en het hierdie wenk op Amaz gekry
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek