Мазмуну:
- 1 -кадам: Ардуино баскычын басыңыз
- 2 -кадам: Arduino - Малинага
- 3-кадам: Сервер тарабындагы код
- 4 -кадам: Веб -сайтты конфигурациялоо
Video: Желеге шыңгыр!: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Ring Web веб -сайттарга жергиликтүү/чыныгы жерлерден таасир этүү үчүн.
Бул тууралуу көбүрөөк маалымат:
makker.hu/RingTheWeb/
Сага керек болот:
- 1 баскыч
- 10k каршылык
- Arduino (каалаган түрү)
- кабелдер
- кичинекей, аз кубаттуу компьютер - бул учурда RPi
- node.js менен жалпы IP менен серверге же компьютерге кирүү
- вебсайт
Кадамдар:
- Ардуино үчүн баскычтар
- Arduino to Raspberry
- Малина серверге
- Вебсайт серверге
1 -кадам: Ардуино баскычын басыңыз
Адегенде сизге Arduino жана баскыч керек!
Алардын ар кандай түрү мүмкүн, тандоо сизден көз каранды.
Аларды туташтыруу үчүн, Arduino расмий баскыч үйрөтмөсүн аткарыңыз.
Бул жерде Arduino коду:
// Ардуино коду санарип пинди окуу жана сериялык портко бааны жөнөтүү үчүн
// Balázs Kovács, 2018. void setup () {Serial.begin (9600); // pinMode сериялык портун ачуу (8, INPUT); // баскычты Pin 8ге туташтыруу} int counter = 0; // кийинчерээк колдонулган нерсе void loop () {if (digitalRead (8) == 1) {// check pin 8 status Serial.write ("8"); } кечиктирүү (100); counter ++; if (counter = 20) {// ар 20x100 = 2000ms -> counter = 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 орнотуу -y nodejs
Npm (Node.js пакет менеджери) socket.io-client жана serialport модулдарына муктаж, андыктан аларды орнотуңуз:
npm socket.io-клиентти орнотуу
npm serialport орнотуу
Бир нерсе.js файлын ачып, төмөнкү код менен сактаңыз:
// socket.io байланышын баштоо:
var socket; var io = талап кылуу ('socket.io-client'); розетка = 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 (function (req, res) {res.writeHead (200, {'Content-Type': 'text/html'}); res.end ('hello');}); // 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 ('ар ким', функция (окуя) {}); client.on ('ажыратуу', function () {socket.emit ('message', 'somebody disconneted…');});});
Аны сынап көрүңүз
түйүн./serverscript.js
Эгерде кардар дагы иштеп жатса, алардын байланышын эки консолдо көрүшүңүз керек. Жок дегенде булар:
Маалымат: 0
-мезгил-мезгили менен системага Arduino-> Raspberry-> сервер байланышы иштеп жатканын айтат.
жана
Маалыматтар: 8
- баскычтын күйүк экенин айтат.
4 -кадам: Веб -сайтты конфигурациялоо
Эми 75% даярбыз!
Вебсайттын кодун киргизүү менен оор жумушту бүтүрүңүз.
Бул оңой.
Биринчиден, socket.io кардарын камтыйт:
анда билдирүү анализатор системасын түзүү:
var socket;
розетка = io ("yourserver.com:port"); socket.on ('туташуу', функция () {socket.send ('анонимдүү кардар - веб -сайттын колдонуучусу - туташкан!'); socket.on ('билдирүү', функция (msg) {// эгер сиз көргүңүз келсе) ар бир билдирүү, жөн эле комментарий бербеңиз: // console.log (msg); if (msg == "/RingTheBell 1") // бул жерде баскычтын окуясын билдирүү үчүн колдонула турган код келет: {document.body.style.background = "#ccc"; setTimeout (function () {document.body.style.background = "#000";}, 1000);}; if (msg == "/client1 1") {// бул жерге бир нерсе коюуга болот туташкан кардардын абалына жооп берет};});
Voilá!
даяр
Сунушталууда:
Кантип кадам эсептегич жасоо керек?: 3 кадам (сүрөттөр менен)
Step Counter кантип жасалат ?: Мен көптөгөн спортто жакшы аткарчумун: жөө басуу, чуркоо, велосипед тебүү, бадминтон ойноо ж.б. Мейли, менин ичимди карачы ……. Ооба, баары бир мен машыгуу үчүн кайра баштоону чечтим. Мен кандай жабдыктарды даярдашым керек?
IPodдо Doomду 5 жеңил кадам менен ойноңуз !: 5 кадам
Doom'ду IPodдо 5 жеңил кадам менен ойноңуз!: Doom жана башка ондогон оюндарды ойноо үчүн iPod'уңузда Rockboxту кантип кош жүктөө керектиги боюнча этап-этабы менен көрсөтмө. Бул чындыгында оңой нерсе, бирок менин iPodдо кыйроо ойноп жатканымды көргөндөрдүн көбү дагы эле таң калышат жана көрсөтмө менен чаташып кетишет
WordPressке плагиндерди 3 кадам менен кантип орнотсо болот: 3 кадам
WordPressке плагиндерди 3 этапта кантип орнотуу керек: Бул үйрөткүчтө мен сизге веб -сайтыңызга WordPress плагинин орнотуу үчүн эң маанилүү кадамдарды көрсөтөм. Негизи плагиндерди эки башка жол менен орнотсоңуз болот. Биринчи ыкма ftp же cpanel аркылуу болот. Бирок мен аны тизмектебейм, анткени бул чындыгында нааразы
Кадам моторун айдоо үчүн 556 таймерди колдонуу: 5 кадам
Step моторун айдоо үчүн 556 таймерди колдонуу: Бул инструкция 556 таймердин кантип тепкичтүү моторду айдай аларын түшүндүрүп берет
Акустикалык левитация Arduino Uno менен кадам-кадам (8-кадам): 8 кадам
Акустикалык левитация менен Arduino Uno Step-by-Step (8-кадам): ультрадыбыштуу үн өткөргүчтөр L298N Dc аял адаптеринин электр энергиясы менен камсыздоосу эркек токту Arduino UNOBreadboard Бул кантип иштейт: Биринчиден, сиз Arduino Uno кодун жүктөп бересиз (бул санарип менен жабдылган микроконтроллер) жана аналогдук порттор кодду айландыруу үчүн (C ++)