Daftar Isi:
- Langkah 1: Tombol tekan ke Arduino
- Langkah 2: Arduino ke Raspberry
- Langkah 3: Kode sisi server
- Langkah 4: Konfigurasikan Situs Web
Video: Deringkan Web!: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Dering Web adalah untuk memengaruhi situs web dari tempat lokal/nyata.
Info lebih lanjut tentangnya:
makker.hu/RingTheWeb/
Kamu akan membutuhkan:
- 1 tombol tekan
- resistor 10k
- Arduino (jenis apa saja)
- kabel
- komputer kecil berdaya rendah - dalam hal ini RPi
- akses ke server atau komputer dengan IP publik dengan node.js
- situs web
Langkah:
- Tombol tekan ke arduino
- Arduino ke Raspberry
- Raspberry ke server
- Situs web ke server
Langkah 1: Tombol tekan ke Arduino
Pertama, Anda memerlukan Arduino dan tombol tekan!
Semua jenisnya dimungkinkan, terserah Anda untuk memilih.
Untuk menghubungkannya, silakan ikuti tutorial tombol resmi Arduino.
Berikut kode Arduinonya:
// Kode Arduino untuk membaca pin digital dan mengirim nilai ke port serial
// Balázs Kovács, 2018. batalkan pengaturan () { Serial.begin(9600); // buka port serial pinMode(8, INPUT); // sambungkan tombol tekan ke Pin 8 } int counter = 0; // sesuatu yang digunakan nanti void loop() { if(digitalRead(8) == 1) { // periksa status pin 8 Serial.write("8"); } penundaan(100); penghitung++; if(penghitung=20) { // setiap 20x100=2000 md -> penghitung = 0; Serial.write("0"); // mengirim pesan "saya sudah ada" ke server } } // itu saja!
Langkah 2: Arduino ke Raspberry
Sekarang kita dapat menghubungkan Arduino ke komputer. Dalam hal ini kami menggunakan Raspberry, karena konsumsi dayanya yang rendah.
Hubungkan melalui USB atau langsung dengan pin RX-TX, yang dijelaskan di sini.
Kemudian instal node.js dan npm seperti yang dijelaskan di sini. Kata kuncinya adalah:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
lalu
sudo apt-get install -y nodejs
Npm (pengelola paket Node.js) membutuhkan modul socket.io-client dan serialport, jadi instal:
npm instal socket.io-client
npm instal port serial
Buka dan simpan file something.js dengan kode berikut:
// inisialisasi koneksi socket.io:
soket var; var io = membutuhkan('socket.io-klien'); socket = io("https://serveranda.com:port"); // jika koneksi ke server berhasil: socket.on('connect', function(){ socket.send("saya di sini!"); console.log("terhubung ke server"); }); // menginisialisasi komunikasi port serial, NB /dev=ttyACM0 dapat diubah: var SerialPort = require('serialport'); var serialPort = new SerialPort('/dev/ttyACM0', { baudRate: 9600 }); // Jika sesuatu berasal dari Arduino, mengirimkan pesan yang berbeda // ke server sesuai dengan 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. kirim('/klien1 1'); } }); // Baca data yang tersedia - saya rasa tidak perlu serialPort.on('readable', function() { console.log('Data:', port.read()); });
Sekarang Anda harus mengatur kode node.js sisi server juga, hingga Anda dapat memulai dan menguji skrip dengan
simpul./sesuatu.js
Jika ada yang salah, tolong beri tahu saya!
Langkah 3: Kode sisi server
Di sisi server, kita membutuhkan node.js dengan server socket.io.
Jadi tambahkan dengan:
npm instal socket-io
Maka Anda akan memerlukan skrip yang mirip dengan kode pada langkah ke-2, dengan perbedaan, itu menunggu koneksi, dan jika ada, itu akan menyiarkan pesan apa pun yang dikirim dari klien ke semua klien, dalam hal ini kasus, untuk pengguna situs web …
Jadi, buka serverscript.js dengan yang berikut:
var http = membutuhkan('http'), io = membutuhkan('socket.io'); // buka server http minimal. socket.io membutuhkannya. var server = http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/html' }); res.end('hello'); }); // nyalakan soket tcp - atur port Anda! server.listen(7004, function() { console.log("Server TCP berjalan pada port 7004"); }); // menganalisis pesan tcp var socket=io.listen(server); socket.on('connection', function(client, rinfo) { client.broadcast.emit('system', 'somebody connected… '); client.on('message', function(event){ console.log(event); // menyiarkan pesan apa pun ke setiap pengguna yang terhubung! socket.emit('message', event); }); client.on('everybody', function(event){ }); client.on('disconnect', function(){ socket.emit('pesan', 'seseorang terputus…'); }); });
Cobalah untuk mengujinya dengan
simpul./serverscript.js
Jika klien juga berjalan, Anda akan melihat komunikasi mereka di kedua konsol. Setidaknya ini:
Data: 0
- secara berkala memberi tahu sistem bahwa komunikasi server Arduino->Raspberry->berfungsi.
dan
Data: 8
- memberitahu bahwa tombol aktif.
Langkah 4: Konfigurasikan Situs Web
Sekarang kita siap dengan 75% !
Selesaikan kerja keras dengan menyertakan kode untuk situs web.
Mudah.
pertama, sertakan klien socket.io:
kemudian buat sistem penganalisis pesan:
soket var;
socket = io("serveranda.com:port"); socket.on('connect', function () { socket.send('anonym client - pengguna situs web - terhubung!'); socket.on('message', function (msg) { // jika Anda ingin melihat setiap pesan, cukup batalkan komentarnya: // console.log(msg); if (msg == "/RingTheBell 1") // inilah kode yang digunakan untuk mengekspresikan peristiwa tombol tekan: { document.body.style.background = "#ccc"; setTimeout(function() { document.body.style.background = "#000"; }, 1000); }; if (msg == "/client1 1") { // di sini Anda dapat menempatkan sesuatu yang bereaksi terhadap status klien terhubung }; });
Voila!
siap.
Direkomendasikan:
Pohon Natal yang Dikendalikan Situs Web (Siapapun Dapat Mengontrolnya): 19 Langkah (dengan Gambar)
Pohon Natal yang Dikendalikan Situs Web (Siapapun Dapat Mengontrolnya): Anda ingin tahu seperti apa pohon Natal yang dikendalikan situs web? Ini adalah video yang memamerkan proyek pohon Natal saya. Streaming langsung telah berakhir sekarang, tetapi saya membuat video, merekam apa yang sedang terjadi: Tahun ini, di pertengahan Desember
Cara Membuat Situs Web (Panduan Langkah-demi-Langkah): 4 Langkah
Cara Membuat Situs Web (Panduan Langkah-demi-Langkah): Dalam panduan ini, saya akan menunjukkan kepada Anda bagaimana sebagian besar pengembang web membangun situs mereka dan bagaimana Anda dapat menghindari pembuat situs web mahal yang seringkali terlalu terbatas untuk situs yang lebih besar.Saya juga membantu Anda menghindari beberapa kesalahan yang saya lakukan ketika saya memulai
Jam Animasi LED SMART yang Terhubung ke Web Dengan Panel Kontrol Berbasis Web, Server Waktu Disinkronkan: 11 Langkah (dengan Gambar)
Jam Animasi LED SMART yang Terhubung ke Web Dengan Panel Kontrol Berbasis Web, Server Waktu Disinkronkan: Kisah jam ini kembali ke masa lalu - lebih dari 30 tahun. Ayah saya mempelopori ide ini ketika saya baru berusia 10 tahun, jauh sebelum revolusi LED - kembali ketika LED di mana 1/1000 kecerahan kecemerlangan menyilaukan mereka saat ini. Benar
Tutorial IO Driver Web Menggunakan Situs Web Langsung dan Contoh Kerja: 8 Langkah
Tutorial IO Driver Web Menggunakan Situs Web Langsung dan Contoh Kerja: Tutorial Web Driver IO Menggunakan Situs Web Langsung Dan Contoh Kerja Pembaruan Terakhir: 26/07/2015(Periksa kembali sesering saya memperbarui instruksi ini dengan lebih banyak detail dan contoh)Latar BelakangSaya baru-baru ini memiliki tantangan menarik yang disajikan kepada saya. saya perlu
Mengatur Penyaringan Konten Web dalam 4 Langkah Dengan Ubuntu: 5 Langkah
Mengatur Penyaringan Konten Web dalam 4 Langkah Dengan Ubuntu: Sebagai seorang IT, salah satu hal paling umum yang ditanyakan rekan kerja kepada saya adalah bagaimana mereka dapat mengontrol situs mana yang dapat diakses anak-anak mereka secara online. Ini sangat mudah dilakukan dan gratis menggunakan linux Ubuntu, dansguardian dan tinyproxy