جدول المحتويات:
- الخطوة 1: اضغط على زر اردوينو
- الخطوة 2: اردوينو لتوت العليق
- الخطوة 3: الكود من جانب الخادم
- الخطوة 4: تكوين موقع الويب
فيديو: دق الويب !: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
Ring the Web هو للتأثير على مواقع الويب من أماكن محلية / حقيقية.
مزيد من المعلومات حول هذا الموضوع:
makker.hu/RingTheWeb/
انك سوف تحتاج:
- 1 زر ضغط
- 10 كيلو المقاوم
- اردوينو (أي نوع)
- الكابلات
- كمبيوتر صغير منخفض الطاقة - في هذه الحالة RPi
- الوصول إلى خادم أو كمبيوتر باستخدام IP عام باستخدام node.js
- موقع الكتروني
خطوات:
- اضغط على زر اردوينو
- اردوينو إلى توت العليق
- توت العليق للخادم
- موقع على الخادم
الخطوة 1: اضغط على زر اردوينو
تحتاج أولاً إلى Arduino وزر ضغط!
أي نوع منها ممكن ، الأمر متروك لك للاختيار.
لتوصيلهم ، يرجى اتباع البرنامج التعليمي الرسمي للأزرار من Arduino.
هذا هو كود اردوينو:
// كود Arduino لقراءة دبوس رقمي وإرسال قيمة إلى المنفذ التسلسلي
// Balázs Kovács، 2018. void setup () {Serial.begin (9600)؛ // فتح المنفذ التسلسلي pinMode (8 ، INPUT) ؛ // connect pushbutton to Pin 8} int counter = 0 ؛ // شيء ما تم استخدامه لاحقًا حلقة باطلة () {if (digitalRead (8) == 1) {// check pin 8 status Serial.write ("8")؛ } تأخير (100)؛ عداد ++ ؛ إذا (العداد = 20) {// كل 20 × 100 = 2000 مللي ثانية -> العداد = 0 ؛ Serial.write ("0") ؛ // يرسل رسالة "أنا موجود" إلى الخادم}} // هذا كل شيء!
الخطوة 2: اردوينو لتوت العليق
الآن يمكننا توصيل 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 تثبيت serialport
افتح واحفظ ملف something.js بالشفرة التالية:
// تهيئة اتصال socket.io:
مقبس فار var io = تتطلب ('socket.io-client') ؛ المقبس = io ("https://yourserver.com:port") ؛ // إذا كان الاتصال بالخادم ناجحًا: socket.on ('connect' ، الوظيفة () {socket.send ("أنا هنا!") ؛ console.log ("متصل بالخادم") ؛}) ؛ // تهيئة اتصال المنفذ التسلسلي ، يمكن تغيير NB / dev = ttyACM0: var SerialPort = يتطلب ('serialport') ؛ var serialPort = new 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. send ('/ client1 1') ؛}}) ؛ // قراءة البيانات المتوفرة - أعتقد أنها ليست ضرورية serialPort.on ('readable'، function () {console.log ('Data:'، port.read ())؛})؛
الآن يجب عليك إعداد كود node.js من جانب الخادم أيضًا ، حتى تتمكن من بدء البرنامج النصي واختباره
العقدة./something.js
إذا كان هناك شيء خاطئ ، من فضلك أعلمني!
الخطوة 3: الكود من جانب الخادم
على جانب الخادم ، نحتاج إلى node.js مع خادم socket.io.
لذا أضفه بـ:
npm تثبيت socket-io
بعد ذلك ، ستحتاج إلى نص برمجي مشابه للرمز الموجود في الخطوة الثانية ، مع الاختلاف ، أنه ينتظر الاتصالات ، وإذا كانوا موجودين ، فسوف يبث أي رسالة مرسلة من العميل إلى جميع العملاء ، في هذا لمستخدمي الموقع …
لذلك ، افتح ملف servercript.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')؛})؛ // Turn tcp socket on - اضبط المنفذ الخاص بك! server.listen (7004، function () {console.log ("خادم TCP يعمل على المنفذ 7004") ؛})؛ // تحليل رسائل برنامج التعاون الفني var socket = io.listen (الخادم) ؛ socket.on ('connect'، function (client، rinfo) {client.broadcast.emit ('system'، 'Somebody connect …')؛ client.on ('message'، function (event) {console.log (event)؛ // بث أي رسالة لكل مستخدم متصل! socket.emit ('message'، event)؛})؛ client.on ('everybody'، function (event) {})؛ client.on ('قطع الاتصال'، الوظيفة () {socket.emit ('message'، 'somebody disconneted…') ؛}) ؛}) ؛
جرب اختبارها باستخدام
العقدة./serverscript.js
إذا كان العميل يعمل أيضًا ، فيجب أن ترى اتصالاته على كلا الجهازين. على الأقل هذه:
البيانات: 0
- يخبر النظام بشكل دوري أن اتصال الخادم Arduino-> Raspberry-> يعمل.
و
البيانات: 8
- يخبر أن الزر قيد التشغيل.
الخطوة 4: تكوين موقع الويب
الآن نحن جاهزون بنسبة 75٪!
قم بإنهاء العمل الشاق بتضمين رمز الموقع.
من السهل.
أولاً ، قم بتضمين عميل socket.io:
ثم أنشئ نظام تحليل الرسائل:
مقبس فار
المقبس = io ("yourserver.com:port") ؛ socket.on ('connect'، function () {socket.send ('anonym client - a website user - is connect!')؛ socket.on ('message'، function (msg) {// إذا كنت تريد أن ترى كل رسالة ، فقط قم بإلغاء التعليق عليها: // console.log (msg) ؛ إذا (msg == "/ RingTheBell 1") // هنا يأتي الكود الذي يجب استخدامه للتعبير عن حدث زر الضغط: {document.body.style.background = "#ccc"؛ setTimeout (function () {document.body.style.background = "# 000"؛}، 1000)؛}؛ إذا (msg == "/ client1 1") {// هنا يمكنك وضع شيء ما الذي يتفاعل مع حالة العميل المتصل} ؛}) ؛
هاهو!
جاهز.
موصى به:
ضوء LED DIY لكاميرا الويب (C920): 10 خطوات (بالصور)
LED LIGHT DIY لكاميرا الويب (C920): الإضاءة ضرورية لكاميرا الويب. تساعد حلقة LED الصغيرة هذه الكاميرا على أخذك جيدًا. يمكنك التقاط فيديو بدون أي ضوء ولكن هذا الصمام. استخدمت طابعة ثلاثية الأبعاد ووحدة WS2812b LED (متوافقة مع Neopixel)
محاكي Arduino المستند إلى الويب من Wokwi-2020: 5 خطوات
محاكي Arduino المستند إلى الويب من Wokwi-2020؟: يعمل Wokwi Arduino Simulator على منصة AVR8js. إنها لعبة Arduino Simulator على شبكة الإنترنت. يعمل Arduino Simulator على متصفح الويب. وبالتالي ، فإن هذا يكتسب المزيد من الاهتمام وبصراحة ، هذا له العديد من النقاط الإيجابية مقارنة بأجهزة المحاكاة الأخرى المتاحة
راديو الويب: 5 خطوات (بالصور)
راديو الويب: منذ أشهر رأيت لوحة تطوير M5stickC في Banggood واشتريت واحدة للعب بها. يمكنك الحصول عليها هنا. لقد جربت الكثير من الرسومات ، لكنني أخيرًا ذهبت إلى هذه الصفحة ، وقررت أن أحاول إنشاء راديو على شبكة الإنترنت. بالنسبة إلى لوحة التطوير هذه
التحكم في سطوع Led بواسطة Raspberry Pi وصفحة الويب المخصصة: 5 خطوات
التحكم في سطوع Led بواسطة Raspberry Pi وصفحة الويب المخصصة: باستخدام خادم apache على pi مع php ، وجدت طريقة للتحكم في سطوع مصباح LED باستخدام شريط تمرير مع صفحة ويب مخصصة يمكن الوصول إليها على أي جهاز متصل بنفس الشبكة مثل pi .هناك الكثير من الطرق التي يمكن أن يكون
قم بإعداد تصفية محتوى الويب في 4 خطوات باستخدام Ubuntu: 5 خطوات
قم بإعداد تصفية محتوى الويب في 4 خطوات باستخدام Ubuntu: بصفتي رجلًا في مجال تكنولوجيا المعلومات ، فإن أحد الأشياء الأكثر شيوعًا التي يسألني عنها زملائي في العمل هو كيف يمكنهم التحكم في المواقع التي يمكن لأطفالهم الوصول إليها عبر الإنترنت. هذا سهل للغاية ومجاني باستخدام Ubuntu linux و dansguardian و tinyproxy