![Ring the Web !: 4 Langkah Ring the Web !: 4 Langkah](https://i.howwhatproduce.com/images/001/image-2697-136-j.webp)
Isi kandungan:
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:01
![Image Image](https://i.howwhatproduce.com/images/001/image-2697-138-j.webp)
![](https://i.ytimg.com/vi/9Jq9KA99mws/hqdefault.jpg)
![Tombol tekan ke Arduino Tombol tekan ke Arduino](https://i.howwhatproduce.com/images/001/image-2697-139-j.webp)
Ring the Web adalah untuk mempengaruhi laman web dari tempat tempatan / sebenar.
Maklumat lanjut mengenainya:
makker.hu/RingTheWeb/
Anda memerlukan:
- 1 butang tekan
- Perintang 10k
- Arduino (jenis apa pun)
- kabel
- komputer kecil dan berkuasa rendah - dalam kes ini RPi
- akses ke pelayan atau komputer dengan IP awam dengan node.js
- laman web
Langkah-langkah:
- Tombol tekan ke arduino
- Arduino ke Raspberry
- Raspberry ke pelayan
- Laman web ke pelayan
Langkah 1: Tekan butang ke Arduino
Pertama Anda memerlukan Arduino dan butang tekan!
Mana-mana jenisnya adalah mungkin, terserah kepada anda untuk memilih.
Untuk menghubungkannya, ikuti tutorial butang rasmi Arduino.
Inilah kod Arduino:
// Kod Arduino untuk membaca pin digital dan menghantar nilai ke port bersiri
// Balázs Kovács, 2018. persediaan tidak sah () {Serial.begin (9600); // buka pinMode port bersiri (8, INPUT); // sambungkan butang tekan ke Pin 8} int counter = 0; // sesuatu yang digunakan kemudian gelung void () {if (digitalRead (8) == 1) {// semak pin 8 status Serial.write ("8"); } kelewatan (100); kaunter ++; jika (kaunter = 20) {// setiap 20x100 = 2000ms -> kaunter = 0; Serial.write ("0"); // menghantar mesej "saya ada" ke pelayan}} // itu sahaja!
Langkah 2: Arduino ke Raspberry
![Arduino ke Raspberry Arduino ke Raspberry](https://i.howwhatproduce.com/images/001/image-2697-140-j.webp)
Sekarang kita boleh menghubungkan Arduino ke komputer. Dalam kes ini, kami menggunakan Raspberry, kerana penggunaan tenaga yang rendah.
Sambungkannya melalui USB atau secara langsung dengan pin RX-TX, yang dinyatakan di sini.
Kemudian pasang node.js dan npm seperti yang dijelaskan di sini. Kata kunci adalah:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
dan kemudian
sudo apt-get install -y nodejs
Npm (pengurus pakej Node.js) memerlukan modul socket.io-client dan serialport, jadi pasangkannya:
npm pasang socket.io-client
npm pasang serialport
Buka dan simpan fail sesuatu.js dengan kod berikut:
// mulakan sambungan socket.io:
soket var; var io = memerlukan ('socket.io-client'); soket = io ("https://yourserver.com:port"); // jika sambungan ke pelayan berjaya: socket.on ('connect', function () {socket.send ("saya di sini!"); console.log ("disambungkan ke pelayan");}); // memulakan komunikasi port bersiri, NB / dev = ttyACM0 dapat diubah: var SerialPort = memerlukan ('serialport'); var serialPort = SerialPort baru ('/ dev / ttyACM0', {baudRate: 9600}); // Sekiranya ada sesuatu yang berasal dari Arduino, menghantar mesej yang berbeza // ke pelayan mengikutnya 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) {soket. hantar ('/ klien1 1');}}); // Baca data yang ada - saya rasa tidak perlu serialPort.on ('readable', function () {console.log ('Data:', port.read ());});
Sekarang Anda harus menyediakan kod node.js sisi pelayan juga, sehingga anda boleh memulakan dan menguji skrip dengan
simpul./something.js
Sekiranya ada yang tidak kena, beritahu saya!
Langkah 3: Kod sisi pelayan
![Kod sisi pelayan Kod sisi pelayan](https://i.howwhatproduce.com/images/001/image-2697-141-j.webp)
Di sisi pelayan, kita memerlukan node.js dengan pelayan socket.io.
Oleh itu, tambahkan dengan:
npm pasang soket-io
Maka Anda akan memerlukan skrip yang serupa dengan kod pada langkah ke-2, dengan perbezaannya, ia menunggu sambungan, dan jika ada, ia akan menyiarkan apa-apa mesej yang dihantar dari klien kepada semua pelanggan, dalam ini kes, kepada pengguna laman web …
Oleh itu, buka servercript.js dengan yang berikut:
var http = memerlukan ('http'), io = memerlukan ('socket.io'); // buka pelayan http minimum. socket.io memerlukannya. var server = http.createServer (function (req, res) {res.writeHead (200, {'Content-Type': 'text / html'}); res.end ('hello');}); // hidupkan soket tcp - pasang port anda! server.listen (7004, function () {console.log ("Pelayan TCP berjalan di port 7004");}); // analisis mesej tcp var socket = io.listen (pelayan); socket.on ('connection', function (client, rinfo) {client.broadcast.emit ('system', 'seseorang terhubung …'); client.on ('message', function (event) {console.log (event); // siarkan sebarang mesej kepada setiap pengguna yang terhubung! socket.emit ('message', event);}); client.on ('Everyone', function (event) {}); client.on ('disconnect', fungsi () {socket.emit ('message', 'seseorang terputus…');});});
Cubalah untuk mengujinya
simpul./serverscript.js
Sekiranya pelanggan berjalan juga, Anda harus melihat komunikasi mereka di kedua-dua konsol. Sekurang-kurangnya ini:
Data: 0
- secara berkala memberitahu sistem bahawa komunikasi pelayan Arduino-> Raspberry-> berfungsi.
dan
Data: 8
- memberitahu bahawa butang dihidupkan.
Langkah 4: Konfigurasikan Laman Web
![Konfigurasikan Laman Web Konfigurasikan Laman Web](https://i.howwhatproduce.com/images/001/image-2697-142-j.webp)
Sekarang kita sudah bersedia dengan 75%!
Selesaikan kerja keras dengan memasukkan kod untuk laman web.
Ia mudah.
pertama, sertakan pelanggan socket.io:
kemudian buat sistem penganalisis mesej:
soket var;
soket = io ("yourserver.com:port"); socket.on ('connect', function () {socket.send ('anonym client - pengguna laman web - disambungkan!'); socket.on ('message', function (msg) {// jika anda ingin melihat setiap mesej, hanya unmentasikannya: // console.log (msg); if (msg == "/ RingTheBell 1") // di sini terdapat kod yang akan digunakan untuk menyatakan peristiwa butang tekan: {document.body.style.background = "#ccc"; setTimeout (function () {document.body.style.background = "# 000";}, 1000);}; jika (msg == "/ client1 1") {// di sini anda boleh meletakkan sesuatu yang bertindak balas terhadap status pelanggan yang disambungkan};});
Voilá!
siap.
Disyorkan:
Doorbell Pro UK Ring Video Bekerja Dengan Lekapan Mekanikal: 6 Langkah (dengan Gambar)
![Doorbell Pro UK Ring Video Bekerja Dengan Lekapan Mekanikal: 6 Langkah (dengan Gambar) Doorbell Pro UK Ring Video Bekerja Dengan Lekapan Mekanikal: 6 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/001/image-277-j.webp)
Doorbell Pro Video Ring UK Bekerja Dengan Lekapan Mekanikal: **************************************** *************** Harap maklum bahawa kaedah ini hanya berfungsi dengan kuasa AC sekarangSaya akan mengemas kini jika / ketika saya mencari penyelesaian untuk bel pintu menggunakan kuasa DC Sementara itu, jika anda mempunyai kuasa DC bekalan, anda perlu
Penunjuk Kelantangan Neopixel Ws2812 LED Ring & Arduino: 8 Langkah
![Penunjuk Kelantangan Neopixel Ws2812 LED Ring & Arduino: 8 Langkah Penunjuk Kelantangan Neopixel Ws2812 LED Ring & Arduino: 8 Langkah](https://i.howwhatproduce.com/images/001/image-1645-j.webp)
Volume Indicator Neopixel Ws2812 LED Ring & Arduino: Dalam tutorial ini kita akan belajar bagaimana membuat Volume Indicator menggunakan Neopixel Ws2812 LED Ring dan arduino. Tonton Video
Jam Animasi LED SMART Bersambung Web Dengan Panel Kawalan berasaskan Web, Pelayan Masa Diselaraskan: 11 Langkah (dengan Gambar)
![Jam Animasi LED SMART Bersambung Web Dengan Panel Kawalan berasaskan Web, Pelayan Masa Diselaraskan: 11 Langkah (dengan Gambar) Jam Animasi LED SMART Bersambung Web Dengan Panel Kawalan berasaskan Web, Pelayan Masa Diselaraskan: 11 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/001/image-1346-36-j.webp)
Jam Animasi LED SMART Bersambung Web Dengan Panel Kawalan Berasaskan Web, Time Server Synchronized: Kisah jam ini sudah lama - lebih dari 30 tahun. Ayah saya mempelopori idea ini ketika saya baru berusia 10 tahun, jauh sebelum revolusi LED - kembali ketika LED di mana 1/1000 kecerahan cahaya mereka yang membutakan semasa. Betul
Tutorial IO Pemandu Web Menggunakan Laman Web Langsung dan Contoh Kerja: 8 Langkah
![Tutorial IO Pemandu Web Menggunakan Laman Web Langsung dan Contoh Kerja: 8 Langkah Tutorial IO Pemandu Web Menggunakan Laman Web Langsung dan Contoh Kerja: 8 Langkah](https://i.howwhatproduce.com/images/002/image-4556-56-j.webp)
Tutorial IO Pemandu Web Menggunakan Laman Web Langsung dan Contoh Bekerja: Tutorial IO Pemandu Web Menggunakan Laman Web Langsung Dan Contoh Bekerja Kemas kini Terakhir: 07/26/2015 (Selalunya periksa semula kerana saya mengemas kini arahan ini dengan lebih terperinci dan contoh) Latar belakang Saya baru-baru ini cabaran menarik yang dikemukakan kepada saya. Saya perlu
Diffuser Flash Ring-and-Shoot Ring: 6 Langkah (dengan Gambar)
![Diffuser Flash Ring-and-Shoot Ring: 6 Langkah (dengan Gambar) Diffuser Flash Ring-and-Shoot Ring: 6 Langkah (dengan Gambar)](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10965426-point-and-shoot-ring-flash-diffuser-6-steps-with-pictures-0.webp)
Point-and-Shoot Ring Flash Diffuser: Beri kamera digital murah anda peningkatan yang sejuk yang biasanya disediakan untuk fotografi mewah dengan membuat diffuser flash cincin dari barang-barang di sekitar rumah! Sekiranya anda seperti saya, dan bahkan tidak mampu membeli DSLR, maka anda mungkin tidak dapat membeli lampu suling $ 300