Мазмұны:
- 1 -қадам: Arduino түймесін басыңыз
- 2 -қадам: Arduino - таңқурай
- 3-қадам: серверлік код
- 4 -қадам: Веб -сайтты конфигурациялау
Бейне: Интернетке қоңырау шалыңыз!: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Интернетке қоңырау шалу веб -сайттарға жергілікті/нақты жерлерден әсер етуге арналған.
Бұл туралы қосымша ақпарат:
makker.hu/RingTheWeb/
Сізге қажет:
- 1 түйме
- 10 к резистор
- Arduino (кез келген түрі)
- кабельдер
- шағын, қуаты аз компьютер - бұл жағдайда RPi
- node.js бар жалпы IP бар серверге немесе компьютерге кіру
- веб -сайт
Қадамдар:
- Ардуиноға батырмалар
- Arduino - таңқурай
- Таңқурай серверге
- Веб -сайт серверге
1 -қадам: Arduino түймесін басыңыз
Алдымен сізге Arduino мен түйме қажет!
Олардың кез келген түрі мүмкін, таңдау сізге байланысты.
Оларды қосу үшін Arduino -ның ресми батырмалық нұсқаулығын орындаңыз.
Міне Arduino коды:
// Сандық түйреуішті оқуға және мәнді сериялық портқа жіберуге арналған Arduino коды
// Balázs Kovács, 2018. void setup () {Serial.begin (9600); // pinMode сериялық портын ашу (8, INPUT); // түймені түйреуішке жалғау 8} int counter = 0; // кейінірек қолданылған нәрсе void loop () {if (digitalRead (8) == 1) {// 8 -түйреуішті тексеру Serial.write («8»); } кешіктіру (100); есептегіш ++; if (counter = 20) {// әрбір 20x100 = 2000ms -> санауыш = 0; Serial.write («0»); // серверге «мен бармын» хабарын жібереді}} // бұл ғана!
2 -қадам: Arduino - таңқурай
Енді біз Arduino -ны компьютерге қосамыз. Бұл жағдайда біз таңқурай қолданамыз, себебі оның қуаты аз.
Оны USB арқылы немесе осы жерде сипатталған RX-TX түйреуіштерімен тікелей қосыңыз.
Содан кейін мұнда сипатталғандай node.js және npm орнатыңыз. Кілт сөздер:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
содан соң
sudo apt -get install -y nodejs
Npm (Node.js пакет менеджері) socket.io-client және serialport модульдерін қажет етеді, сондықтан оларды орнатыңыз:
npm socket.io-клиентті орнатыңыз
npm сериялық портты орнатыңыз
Something.js файлын келесі кодпен ашыңыз және сақтаңыз:
// socket.io байланысын баптаңыз:
var розеткасы; var io = қажет ('socket.io-клиент'); розетка = io («https://yourserver.com:port»); // егер серверге қосылу сәтті болса: socket.on ('connect', function () {socket.send («мен осындамын!»); console.log («серверге қосылған»);}); // сериялық порт байланысын инициализациялаңыз, NB /dev = ttyACM0 өзгертуге болады: var SerialPort = қажет ('serialport'); var serialPort = жаңа SerialPort ('/dev/ttyACM0', {baudRate: 9600}); // Егер бірдеңе Arduino -дан келсе, әр түрлі хабарларды // серверге сәйкес жібереді 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. жіберу ('/client1 1');}}); // Қол жетімді деректерді оқу - менің ойымша, бұл қажет емес serialPort.on ('readable', function () {console.log ('Data:', port.read ());});
Енді сіз node.js серверлік кодын орнатуыңыз керек, оған дейін сіз сценарийді бастауға және тексеруге болады
түйін./something.js
Егер бірдеңе дұрыс болмаса, маған хабарлаңыз!
3-қадам: серверлік код
Сервер жағында бізге socket.io сервері бар node.js қажет.
Сондықтан оны қосыңыз:
npm socket-io орнатыңыз
Содан кейін сізге 2 -қадамдағы кодқа ұқсас сценарий қажет болады, айырмашылығы - ол қосылуды күтеді, ал егер олар бар болса, ол клиенттен жіберілген кез келген хабарды барлық клиенттерге жібереді. жағдайда, сайт қолданушыларына …
Сонымен, serverscript.js файлын ашыңыз:
var http = талап етіңіз ('http'), io = қажет ('socket.io'); // ең аз http серверін ашыңыз. socket.io қажет. var server = http.createServer (функция (req, res) {res.writeHead (200, {'Content-Type': 'text/html'}); res.end ('сәлем');}); // tcp розеткасын қосыңыз - портыңызды орнатыңыз! server.listen (7004, function () {console.log («TCP сервері 7004 портында жұмыс істейді»);}); // tcp хабарламаларын талдау var socket = io.listen (сервер); socket.on ('байланыс', функция (клиент, rinfo) {client.broadcast.emit ('жүйе', 'біреу қосылған …'); client.on ('хабар', функция (оқиға) {console.log (оқиға)); // барлық қосылған пайдаланушыларға кез келген хабарды тарату! socket.emit ('хабарлама', оқиға);}); client.on ('барлығы', функция (оқиға) {}); клиент.он ('ажырату', function () {socket.emit ('хабарлама', 'біреу өшірілді…');});});
Оны сынап көріңіз
түйін./serverscript.js
Егер клиент жұмыс істесе, сіз олардың консольдегі байланысын көресіз. Кем дегенде, бұл:
Мәліметтер: 0
-жүйеге Arduino-> Raspberry-> серверлік байланысының жұмыс істеп тұрғанын жүйелі түрде хабарлайды.
және
Мәліметтер: 8
- түйменің қосылғанын айтады.
4 -қадам: Веб -сайтты конфигурациялау
Біз 75% дайынбыз!
Веб -сайттың кодын қосу арқылы жұмысты аяқтаңыз.
Бұл оңай.
Біріншіден, socket.io клиентін қосыңыз:
содан кейін хабарлама-анализатор жүйесін құрыңыз:
var розеткасы;
розетка = io («yourserver.com:port»); socket.on ('қосылу', функция () {socket.send ('анонимді клиент - веб -сайт пайдаланушысы - қосылған!'); socket.on ('хабарлама', функция (хабар) {// егер көргіңіз келсе) әр хабарлама, тек түсініктеме бермей -ақ қойыңыз: // console.log (msg); if (msg == «/RingTheBell 1») // мұнда түймешік оқиғасын білдіру үшін қолданылатын код келеді: {document.body.style.background = «#ccc»; setTimeout (function () {document.body.style.background = «#000»;}, 1000);}; егер (msg == «/client1 1») {// мұнда бірдеңе қоюға болады ол қосылған клиенттің күйіне жауап береді};});
Voilá!
дайын
Ұсынылған:
Дауыссыз қоңырау: 5 қадам
Қолмен жұмыс жасайтын есік қоңырауы: Карантин кезінде есік қоңырауы микробтарды таратудың үлкен әдісі болып табылады, өйткені оларға көптеген адамдар тиіп кетеді. Сонымен, біз сіздің телефоныңызға электронды хат жіберетін, сырттағы адамдардың қозғалысын анықтайтын, дауыссыз қоңырауды ойлап таптық. Электрондық поштада ол кімнің бетін көрсетеді
Bluetooth қоңырау хабарлаушысы: 5 қадам (суреттермен)
Bluetooth қоңырау шалу хабарлаушысы: Кіріспе Мен бірнеше күн бұрын осы жобаны кездестіргенде, нұсқаулық жаңалықтар арнасын шолып жүрдім. Бұл керемет жоба болды. Бірақ мен оны неге күрделі Wi -Fi емес, Bluetooth көмегімен құруға болмайтынын ойладым
Қоңырау шалмаңыз: 4 қадам
Қоңырауды ұстамаңыз: бүкіл халық осы пандемиямен күресіп жатқан және әлеуметтік алыстау қажет болған қиын кезеңде мен қолдан жасалған сенсорлық қоңырау жүйесімен келдім. Үндістанда әр 1 шақырымға бір ғибадатхана бар, өйткені біздің халық мәдениет пен адалдыққа толы
Содадан жасалған қос қоңырау оятқышы: 7 қадам (суреттермен)
Сода банкілерінен егіз қоңырау оятқыш сағаты: Бұл нұсқаулықта сода банкаларынан егіз қоңырау оятқышын қалай жасау керектігін көрсетеді. Жобада сия шығарылған сода банкалары қолданылады (Сілтеме: Сода банкаларынан сияны алып тастау). Бұл оятқыштың толық жұмыс істеуі үшін DIY кварц сағаты модулі біріктірілген
Python -дан MATLAB сценарийі мен функциясына қоңырау шалыңыз: 5 қадам
Python -дан MATLAB сценарийі мен функциясына қоңырау шалыңыз: Сәлем достар. Бұл нұсқаулықта мен сізге MATLAB сценарийлерін қалай іске қосуды және python кодынан MATLAB функцияларын шақыруды көрсетемін