İçindekiler:
- Adım 1: Arduino'ya Buton
- Adım 2: Arduino'dan Ahududuya
- 3. Adım: Sunucu Tarafı Kodu
- 4. Adım: Web Sitesini Yapılandırın
Video: Web'i Çalın!: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Ring the Web, yerel/gerçek yerlerden web sitelerini etkilemek içindir.
Bununla ilgili daha fazla bilgi:
makker.hu/RingTheWeb/
İhtiyacın olacak:
- 1 buton
- 10k direnç
- Arduino (herhangi bir tür)
- kablolar
- küçük, düşük güçlü bilgisayar - bu durumda bir RPI
- node.js ile genel IP'ye sahip bir sunucuya veya bilgisayara erişim
- İnternet sitesi
Adımlar:
- Arduino'ya buton
- Arduino'dan Ahududuya
- Ahududu sunucuya
- Web sitesi sunucuya
Adım 1: Arduino'ya Buton
İlk önce bir Arduino'ya ve bir düğmeye ihtiyacınız var!
Her türlüsü mümkün, seçim size kalmış.
Bunları bağlamak için lütfen Arduino'nun resmi düğme eğitimini takip edin.
İşte Arduino kodu:
// Dijital pini okumak ve seri porta değer göndermek için Arduino kodu
// Balázs Kovács, 2018. void setup () { Serial.begin(9600); // seri portu aç pinMode(8, INPUT); // butonunu Pin 8'e bağla } int counter = 0; // daha sonra kullanılan bir şey void loop() { if(digitalRead(8) == 1) { // pin 8 durumunu kontrol edin Serial.write("8"); } gecikme(100); sayaç++; if(counter=20) { // her 20x100=2000ms -> sayaç = 0; Serial.write("0"); // sunucuya "ben varım" mesajı gönderir } } // hepsi bu!
Adım 2: Arduino'dan Ahududuya
Artık Arduino'yu bir bilgisayara bağlayabiliriz. Bu durumda, düşük güç tüketimi nedeniyle bir Ahududu kullanıyoruz.
USB aracılığıyla veya doğrudan burada açıklanan RX-TX pinleriyle bağlayın.
Ardından node.js ve npm'yi burada açıklandığı gibi kurun. Anahtar kelimeler:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
ve daha sonra
sudo apt-get install -y düğümleri
Npm (Node.js'nin paket yöneticisi) socket.io-client ve serialport modüllerine ihtiyaç duyar, bu yüzden bunları kurun:
npm socket.io-client'ı kurun
npm seri bağlantı noktasını kurun
Aşağıdaki kodla birthing.js dosyasını açın ve kaydedin:
// socket.io bağlantısını başlat:
var soket; var io = require('socket.io-client'); soket = io("https://server.com:port"); // sunucuya bağlantı başarılıysa: socket.on('connect', function(){ socket.send("buradayım!"); console.log("sunucuya bağlı"); }); // seri port iletişimini başlat, NB /dev=ttyACM0 değiştirilebilir: var SerialPort = require('serialport'); var serialPort = new SerialPort('/dev/ttyACM0', { baudRate: 9600 }); // Arduino'dan bir şey gelirse, sunucuya buna göre farklı mesajlar // gönderir 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. send('/client1 1'); } }); // Mevcut verileri oku - bence gerekli değil serialPort.on('readable', function () { console.log('Data:', port.read()); });
Şimdi sunucu tarafı node.js kodunu da ayarlamalısınız, o zamana kadar betiği başlatabilir ve test edebilirsiniz.
düğüm./bir şey.js
Bir şey yanlışsa, lütfen bana bildirin!
3. Adım: Sunucu Tarafı Kodu
Sunucu tarafında ise socket.io sunucusu ile node.js'ye ihtiyacımız var.
Öyleyse şununla ekleyin:
npm soket-io'yu kurun
Ardından, 2. adımdaki koda benzer bir komut dosyasına ihtiyacınız olacak, farkı, bağlantıları beklemesi ve eğer varsa, istemciden tüm istemcilere gönderilen herhangi bir mesajı yayınlayacak olmasıdır. durumda, web sitesi kullanıcılarına…
Bu nedenle, aşağıdakilerle bir serverscript.js açın:
var http = gerektirir('http'), io = require('socket.io'); // minimal bir http sunucusu açın. socket.io'nun buna ihtiyacı var. var server = http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/html' }); res.end('merhaba'); }); // tcp soketini açın - portunuzu ayarlayın! server.listen(7004, function() { console.log("7004 portunda çalışan TCP sunucusu"); }); // tcp mesajlarını analiz et var socket=io.listen(server); socket.on('bağlantı', işlev(istemci, rinfo) { client.broadcast.emit('system', 'bağlı biri…'); client.on('message', function(event){ console.log(event)); // her bağlı kullanıcıya herhangi bir mesajı yayınla! socket.emit('message', event); }); client.on('herkes', function(event){ }); client.on('bağlantıyı kes', function(){ socket.emit('message', 'birisi bağlantısı kesildi…'); }); });
ile test etmeyi deneyin
düğüm./serverscript.js
İstemci de çalışıyorsa, iletişimlerini her iki konsolda da görmelisiniz. En azından bunlar:
Veri: 0
- periyodik olarak sisteme Arduino->Raspberry->sunucu iletişiminin çalıştığını söyler.
ve
Veri: 8
- düğmenin açık olduğunu söyler.
4. Adım: Web Sitesini Yapılandırın
Şimdi %75 ile hazırız!
Web sitesinin kodunu dahil ederek zor işi bitirin.
Bu kolay.
ilk olarak, socket.io istemcisini dahil edin:
daha sonra mesaj analizörü sistemini oluşturun:
var soket;
soket = io("server.com:port"); socket.on('connect', function () { socket.send('anonim istemci - bir web sitesi kullanıcısı - bağlı!'); socket.on('message', function (msg) { // görmek isterseniz her mesaj, sadece yorumunu kaldırın: // console.log(msg); if (msg == "/RingTheBell 1") // işte buton olayını ifade etmek için kullanılacak kod geliyor: {document.body.style.background = "#ccc"; setTimeout(function() { document.body.style.background = "#000"; }, 1000); }; if (msg == "/client1 1") { // buraya bir şeyler yerleştirebilirsiniz bağlı istemci durumuna tepki veren }; });
İşte!
hazır.
Önerilen:
Flyback Transformer veya Hoparlörde ADC - PWM Kullanarak Arduino İle Şarkı Çalın: 4 Adım
Flyback Transformer veya Hoparlörde ADC to PWM Kullanarak Arduino İle Şarkı Çalın: Merhaba Arkadaşlar, Bu benim başka bir talimatımın ikinci kısmı (bu çok zordu), Temel olarak, Bu Projede, Arduino'mdaki ADC ve ZAMANLAYICILARI kullandım. Ses Sinyalini bir PWM Sinyaline dönüştürün. Bu, önceki Talimatlarımdan çok daha kolay
Hoparlör veya Flyback Transformer Üzerinde PWM Kullanarak Arduino İle Şarkı Çalın(MP3): 6 Adım (Resimlerle)
Hoparlör veya Flyback Transformer Üzerinde PWM Kullanarak Arduino İle Şarkı Çalın(MP3): Merhaba Arkadaşlar, Bu benim ilk dersim, umarım beğenirsiniz!! müzik verilerini dizüstü bilgisayarımdan Arduino'ya iletmek için. Ve Arduino TIMERS t kullanarak
AI ve YouTube Kullanarak CD Çalar Olmadan CD Çalın: 10 Adım (Resimlerle)
CD Çalar Olmadan CD Çalın, AI ve YouTube Kullanarak: CD'lerinizi çalmak istiyorsunuz ama artık CD çalarınız yok mu? CD'lerinizi kopyalamak için zamanınız olmadı mı? Onları kopyaladım ama dosyalar gerektiğinde kullanılamıyor mu?Sorun değil. Bırakın AI (yapay zeka) CD'nizi tanımlasın ve YouTube onu oynatsın!Bir Android uygulaması yazdım
Aynı Müziği Birden Fazla Odada Çalın: 3 Adım
Aynı Müziği Birden Fazla Odada Çalın: Herkese merhaba, sizi bilmem ama sesi çok yükseltmeden tüm dairemde aynı müziğin olmasını seviyorum. Bu problem hakkında biraz araştırma yaptıktan sonra, hepsi aynı cihaza wifi ile bağlı birkaç hoparlör kurmaya karar verdim
Arduino İle Müzik Çalın!: 5 Adım (Resimlerle)
Arduino ile Müzik Çalın!: Bu derste size Arduino UNO ve SD Kart modülü kullanarak nasıl müzik çaldığımı göstereceğim.SPI İletişimini kullanacağız.Hadi başlayalım