Агуулгын хүснэгт:
- Алхам 1: Arduino руу түлхэх товчлуур
- Алхам 2: Arduino -аас Raspberry руу
- Алхам 3: Сервер талын код
- Алхам 4: Вэбсайтыг тохируулах
Видео: Вэб рүү залгаарай!: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Вэбийг цагираглах нь вэбсайтуудад орон нутгийн/бодит газраас нөлөөлөх зорилготой юм.
Энэ тухай дэлгэрэнгүй мэдээлэл:
makker.hu/RingTheWeb/
Танд хэрэгтэй болно:
- 1 товчлуур
- 10к эсэргүүцэл
- Arduino (ямар ч төрөл)
- кабель
- жижиг, бага хүчин чадалтай компьютер - энэ тохиолдолд RPi
- node.js бүхий нийтийн IP бүхий сервер эсвэл компьютерт хандах
- вэбсайт
Алхам:
- Arduino руу дарна уу
- Arduino -аас бөөрөлзгөнө хүртэл
- Бөөрөлзгөнө сервер рүү
- Вэбсайт сервер рүү
Алхам 1: Arduino руу түлхэх товчлуур
Эхлээд танд Arduino болон товчлуур хэрэгтэй болно!
Тэдгээрийн аль нь ч байж болно, сонгох нь танаас хамаарна.
Тэднийг холбохын тулд 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) {// 8 -р зүү 8 -ийн статусыг шалгах Serial.write ("8"); } саатал (100); тоолуур ++; if (counter = 20) {// 20x100 = 2000ms тутамд -> тоолуур = 0; Serial.write ("0"); // серверт "би байгаа" гэсэн мессеж илгээдэг}} // энэ бүгд!
Алхам 2: Arduino -аас Raspberry руу
Одоо бид 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-client суулгах
npm serialport суулгах
Дараах кодыг ашиглан 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) {сокет. илгээх ('/client1 1');}}); // Боломжтой өгөгдлийг унших - энэ нь шаардлагагүй гэж би бодож байна serialPort.on ('уншигдах', 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 ("7004 порт дээр ажиллаж байгаа TCP сервер");}); // tcp мессежийг шинжлэх var socket = io.listen (сервер); socket.on ('холболт', функц (үйлчлүүлэгч, rinfo) {client.broadcast.emit ('систем', 'хэн нэгэн холбогдсон…'); client.on ('мессеж', функц (үйл явдал) {console.log (үйл явдал)); // холбогдсон бүх хэрэглэгчдэд ямар ч мессеж дамжуулах! socket.emit ('message', event);}); client.on ('everybody', function (event) {}); client.on ('disconnect', функц () {socket.emit ('зурвас', 'хэн нэгэн салсан …');});});
Үүнийг туршиж үзээрэй
зангилаа./serverscript.js
Хэрэв үйлчлүүлэгч бас ажиллаж байгаа бол та хоёр консол дээр тэдний харилцааг харах ёстой. Наад зах нь эдгээр нь:
Өгөгдөл: 0
-Arduino-> Raspberry-> серверийн харилцаа холбоо ажиллаж байгааг системд үе үе хэлдэг.
ба
Өгөгдөл: 8
- товчлуур асаалттай байгааг хэлнэ.
Алхам 4: Вэбсайтыг тохируулах
Одоо бид 75% бэлэн боллоо!
Вэбсайтын кодыг оруулаарай.
Энэ нь амархан.
Нэгдүгээрт, socket.io клиентийг оруулна уу:
Дараа нь мессеж анализаторын системийг үүсгэнэ үү.
var сокет;
сокет = 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") {// энд та ямар нэгэн зүйл байрлуулж болно. холбогдсон үйлчлүүлэгчийн статуст хариу үйлдэл үзүүлдэг};});
Воила!
бэлэн
Зөвлөмж болгож буй:
IoT ESP8266 Цуврал: 1- WIFI чиглүүлэгч рүү холбогдох: 4 алхам
IoT ESP8266 Цуврал: 1- WIFI чиглүүлэгч рүү холбогдох: Энэ бол " Зааварчилгаа " ESP8266 NodeMCU ашиглан вэбсайтын өгөгдлийг унших, илгээх, ижил вэбсайтыг ашиглан үйлдэл хийх зорилготой зүйлсийн интернетийг хэрхэн яаж хийхийг тайлбарлахад зориулагдсан цуврал
Node.js ашиглан Raspberry Pi -ийг үүл рүү хэрхэн холбох вэ: 7 алхам
Node.js ашиглан Raspberry Pi -ийг үүлтэй хэрхэн холбох вэ: Энэхүү заавар нь Rodeberry Pi -ийг үүлэнд, ялангуяа AskSensors IoT платформд Node.js. ашиглан холбохыг хүссэн хүмүүст хэрэгтэй болно. Raspberry Pi байхгүй байна уу? Хэрэв танд одоогоор Raspberry Pi байхгүй бол би танд Raspberry авахыг зөвлөж байна
Jammarduino DUE - Зоосон машин шүүгээнд зориулсан Жамма интерфэйс рүү DIY компьютер: 6 алхам
Jammarduino DUE - Зөөврийн машины кабинетийн Жамма интерфэйсээс DIY компьютер: Энэхүү зааварчилгаа нь Arduino DUE -ийг энгийн нягтралтай CRT болон jamma холбогчтой жинхэнэ компьютерийн машинтай хэрхэн холбохыг танд харуулах болно. видеоноос ирж буй видео дохиог нэмэгдүүлэхийн тулд
Вэб дээр суурилсан хяналтын самбар бүхий вэб холболттой SMART LED анимэйшн цаг, синхрончлогдсон цагийн сервер: 11 алхам (зурагтай)
Вэб дээр суурилсан Хяналтын самбар бүхий вэб холболттой SMART LED анимэйшн цаг, синхрончлогдсон цаг: Энэ цагийн түүх 30 гаруй жилийн түүхтэй. Аав маань энэ санааг анх 10 -хан настай байхад, LED хувьсгалаас нэлээд өмнө анх санаачилж байсан юм. Үнэн
Retro аркад консолыг залгаарай: 5 алхам (зурагтай)
Plug 'n' Play Retro Arcade Console: The Plug 'n' Play Retro Arcade Console нь таны дуртай олон сонгодог консол, тоглоомыг нэг төхөөрөмжид багтаасан болно. Хамгийн сайн тал бол консолоо ТВ -ийнхээ видео оролттой холбож, бүх тэжээлээ үзэхийн тулд тэжээлийн эх үүсвэрт оруулах явдал юм