صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 10 من 12

الموضوع: تحديث الصفحة كيفيه تحكم بعدد كبير من الأجهزة باستخدام راسبيري باي و MQTTو ESP8266

  1. #1
    عضو فى رابطة مهندسى الكهرباء العرب الصورة الرمزية حسن هادي محمود
    تاريخ التسجيل
    Oct 2008
    الدولة
    البصره-العراق
    المشاركات
    512

    تحديث الصفحة كيفيه تحكم بعدد كبير من الأجهزة باستخدام راسبيري باي و MQTTو ESP8266

    السلام عليكم ورحمه الله وبركاته
    كل عام وانتم بالف خير
    رمضان كريم عليكم جميعا

    في هذا موضوع سأشرح لكم ان شاء الله المواضيع التاليه
    1- تنصيب نظام Raspbian في راسبيري
    2- التحكم بأعدادت الراسبيري
    3- الدخول على راسبيري عبر حاسبه (( اي تحكم براسبيري عن بعد ))
    4- شرح بعض الاوامر المهمه
    5- شرح سيرفر mosquitto وكيف نستفاد منه في تحكم بعدد كبير من الاجهزه
    6-تنصيب مكتبه mosquitto في راسبيري باي
    7- تنصيب phpmyadmin , php, sqlserver في حاسبه وراسبيري باي
    8- بعض معلومات عن ESP8266 وكيفيه برمجتها بدون البيك
    8-تنصيب مكتبه mosquitto clientفي ESP8266 وبتالي تستطيع اتصال مع سيرفر
    ومواضيع اخرى .........

  2. #2
    عضو فى رابطة مهندسى الكهرباء العرب الصورة الرمزية حسن هادي محمود
    تاريخ التسجيل
    Oct 2008
    الدولة
    البصره-العراق
    المشاركات
    512

    تنصيب نظام Raspbian في راسبيري

    نقوم بتحميل Raspbian
    من موقع الرسمي

    https://www.raspberrypi.org/downloads/raspbian/

    طبعا توجد نسختين الاولى مكتوبه Raspbian Jessie و الثانيه Raspbian Jessie Lite
    طبعا الاولى نسخه كامله اي تحتوي على سطح مكتب وبتالي يمكنك دخول على راسبيري
    اما الثانيه فلاتحتوي على سطح مكتب ولذلك لاتستطيع دخول على راسبيري وبالطبع هذه نسخه اخف من الاولى

    طبعا انتم نزلو نسخه كامله وبعدذلك قرار لكم فيما يتم تنصيب اي نسخه

    احيانا انا لااريد ان يتم دخول على راسبيري بشكل مباشره ولااريد فيه البرنامج عندها ننصب نسخه الثانيه

    بعد أكمال تنزيل نحتاج الى تنصيبه على رام

    قبل ذلك مواصفات مطلوبه لراسبيري هي في هذا رابط

    1- راسبيري باي 3
    2- مشتتات حراره عدد 2
    3- غلاف للحمايه راسبيري من رطوبه
    4- محوله 5 فولت ديسي لاتقل عن 2.5 امبير

    https://www.amazon.com/Vilros-Raspbe...?ie=UTF8&psc=1

    نسخه 3 يحتوي على واي فاي والبلوتوث داخلي
    عكس نسخه الثانيه التي لاتحتوي على واي فاي والبلوتوث

    نسخه الاولى تم الالغاءها

    اقل سرعه مطلوبه لرام يجب ان تكون اكثر من calss4 وسعه تخزينيه 8 او اكثر

    ملاحظه مهمه//يجب فرمته رام قبل تنصيب برنامج عن طريق البرنامج SDFormatterv4

    تابع الصور sd1 , sd2

    بعد ذلك نقوم بتنزيل برنامج Win32DiskImager-0.9.5-install

    https://sourceforge.net/projects/win32diskimager/

    1- نختار نظام الذي نريده حرقه على البطاقه الذاكره
    2- نحدد بطاقه ذاكره
    3-ثم نضغط على write

    وانتظر لحين حرق برنامج على بطاقه الذاكره
    ثم نقوم بوضع بطاقه براسبيري ونقوم بتشغيل راسبيري شاهد صوره rasp1

    حيث نربطه على شاشه مع كيبورد وماوس
    الصور المرفقة الصور المرفقة
    • نوع الملف: png sd1.png‏ (14.5 كيلوبايت, 49 مشاهدات)
    • نوع الملف: png sd2.png‏ (19.1 كيلوبايت, 48 مشاهدات)
    • نوع الملف: png rasp1.png‏ (243.6 كيلوبايت, 54 مشاهدات)
    الملفات المرفقة الملفات المرفقة

  3. #3
    عضو فى رابطة مهندسى الكهرباء العرب الصورة الرمزية حسن هادي محمود
    تاريخ التسجيل
    Oct 2008
    الدولة
    البصره-العراق
    المشاركات
    512

    رد: تحديث الصفحة كيفيه تحكم بعدد كبير من الأجهزة باستخدام راسبيري باي و MQTTو ESP8266

    نرجو من الادراه المنتدى تعديل على عنوان موضوع من

    تحديث الصفحة كيفيه تحكم بعدد كبير من الأجهزة باستخدام راسبيري باي و MQTTو ESP8266

    كيفيه تحكم بعدد كبير من الأجهزة باستخدام راسبيري باي و MQTTو ESP8266

    مع الشكر والتقدير

  4. #4
    عضو فى رابطة مهندسى الكهرباء العرب الصورة الرمزية حسن هادي محمود
    تاريخ التسجيل
    Oct 2008
    الدولة
    البصره-العراق
    المشاركات
    512

    الدخول على راسبيري عبر حاسبه (( اي تحكم براسبيري عن بعد ))

    السلام عليكم ورحمه الله وبركاته
    سنركز اليوم على نقطتين
    2- التحكم بأعدادت الراسبيري
    3- الدخول على راسبيري عبر حاسبه (( اي تحكم براسبيري عن بعد ))
    نحتاج الى برنامج اسمه putty وهو يعمل بدون تنصيب
    لتحميل البرنامج
    http://www.putty.org/
    ومن ثم Download PuTTY
    طريقه اتصال مع راسبيري
    نقوم بأدخال ايبي راسبيري في مربع host name or IP address
    ومن ثم open انظر الصوره ssh
    وبعد ذلك تفتح لنا شاشه اوامر تطلب منك تسجيل الدخول
    username : pi
    pass: raspberry
    انظر الصوره ssh2 و ssh3
    ملاحظه// عندما تكتب الباسورد فانك لاتشاهدها تكتب على شاشه اي تكون غير مرئيه
    =================================
    لغرض دخول على الاعدادات الراسبيري نكتب
    sudo raspi-config
    عندها تظهر لنا هذه شاشه انظر الصوره confg
    نختار الاول لغرض عمل expanded للذاكره لان الذاكره تكون مقفوله على حجم 2GB
    لذا هذه خطوه تحرر الذاكره لتستغل حجمها الكامل
    الصور المرفقة الصور المرفقة
    • نوع الملف: png ssh.png‏ (21.8 كيلوبايت, 39 مشاهدات)
    • نوع الملف: png ssh2.png‏ (9.0 كيلوبايت, 39 مشاهدات)
    • نوع الملف: png ssh3.png‏ (13.4 كيلوبايت, 38 مشاهدات)
    • نوع الملف: png confg.png‏ (16.5 كيلوبايت, 39 مشاهدات)

  5. #5
    عضو فى رابطة مهندسى الكهرباء العرب الصورة الرمزية حسن هادي محمود
    تاريخ التسجيل
    Oct 2008
    الدولة
    البصره-العراق
    المشاركات
    512

    4- شرح بعض الاوامر المهمه

    السلام عليكم ورحمه الله وبركاته
    شرح بعض اوامر مهمه في راسبيري
    اذا انت دخلت على راسبيري ومن ثم حاولت أضافه مجلد كما في حاسبه فأن النظام سوف لن يسمح لك ذلك اي ان نظام محمي والسبب في ذلك انت دخلت بأسم مستخدم pi بينما اسم مستخدم root له صلاحيه كامله
    وبالطبع انت راح تدخل بأسم مستخدم pi وهناك اومر تتيح لك انشاء مجلدات وملفات بكل سهوله وايضا يمكنك ايضا اضافه مجلد او بيانات لراسبيري بعد رفع حمايه من ملف مراد تعديل عليه
    هنا شرح لبعض اوامر
    http://randomnerdtutorials.com/learn...i-cheat-sheet/
    نبدأ اولا بأمر
    sudo raspi-config
    هذا الامر يدخلك على أعدادات الرسبيري ومنه يمكنك توسيع بطاقه الذاكره وهذه اهم خطوه وكذلك يمكنك تغير الباسورد من raspberry الى اي شفره تريدها
    ======================================== =
    الامر
    mkdir NewFolder
    لغرض انشاء مجلد اسمه newfolder
    =======================================
    الامر
    cd
    هذا امر مهم يقوم بتوجيهك الى مسار معين يعني مثلا انت تريد بحاسبه تدخل على هارد D لكي تصل الى D لابد من وجود مسار وكذلك حال براسبيري نستخدم cd
    مثلا اريد اوصل لمجلد اسمه html هذا موجود في مجلد اسمه www وهذا اخير موجود في مجلد اسمه var لذلك لكي نصل لمجلد html نكتب
    cd /var/www/html
    لرجوع الى مجلد الرئيسي نكتب فقط cd
    ======================================
    الامر تحديث
    sudo apt-get update
    وترقيه
    sudo apt-get upgrade
    وهذه من اوامر مهمه جدا والتي نقوم بتنفيذها عند تنصيب النظام وبعد ما
    نقوم بعمل expand للبطاقه الذاكره

    ======================================== ===
    الامر انشاء ملف
    sudo nano namefile
    مثال
    sudo nano test.php
    or
    sudo nano test.txt
    ========================================
    الامر حذف
    sudo rm namefile
    الامر حذف مثلا اريد حذف ملف test.txt
    sudo rm test.txt
    هل يمكن كتابه عدت اوامر معا الجواب نعم مثال
    sudo rm test.txt & sudo nano test.txt
    اخبرته احذف ملف test.txt وقم بأنشاءه من جديد الغايه من ذلك حتى امسح بيانات ملف واعيد وضع بيانات جديده
    ملاحظه // لغرض انشاء ملف في مجلد html عليك اولا الذهاب الى مسار html وبعدها تنشأ ملف
    مثلا اريد انشاء ملف اسمه index.php في مجلد html
    اولا نكتب
    sudo cd /var/www/html ومن ثم نضغط انتر
    بعدها نكتب sudo nano index.php
    ========================
    هناك امر مهم وهو يسمح لك بأضافه ملفات بشكل مباشر داخل راسبيري مثلا اريد اضافه ملفات سيرفر الى ملف html مره واحده
    بالطبع اذا وضعت فلاش براسبيري واخذت منه ملفات وقمت بعمليه نسخ وذهبت الى ملف html وقمت هناك بعمليه لصق فأن نظام لن يسمح لي ذلك
    لهذا عليه فتح الحمايه عن هذا ملف عن طريق هذا الامر
    sudo chown pi:root html
    ===========================
    لعمل shutdown
    sudo poweroff
    لعمل ريستارتsudo reboot

  6. #6
    عضو فى رابطة مهندسى الكهرباء العرب الصورة الرمزية حسن هادي محمود
    تاريخ التسجيل
    Oct 2008
    الدولة
    البصره-العراق
    المشاركات
    512

    5- شرح سيرفر mosquitto وكيف نستفاد منه في تحكم بعدد كبير من الاجهزه

    السلام عليكم ورحمه الله وبركاته
    نشرح اليوم ان شاء الله أهم موضوع وهو
    5- شرح سيرفر mosquitto وكيف نستفاد منه في تحكم بعدد كبير من الاجهزه
    انظر الصوره التاليه
    انت اذا كان لديك 10 esp8266 او 10 الاردينو وتريد تربطها معا اي يتم تبادل البيانات فيما بينهما او لكل واحده منها مرتبط بعدد من الاجهزه وتريد تتحكم بها في وقت واحد
    بوضع الطبيعي اذا عملت تطبيق اندرويد مثلا فأنك تستطيع أتصال بأحد هذه قطع فقط عن طريق ايبي ولكن كيف اتصل للبقيه لازم تغير ايبي ومن تتصل بقطع اخرى
    لذا نحتاج الى وسيله تجعلنه نصل الى هذه القطعه والتحكم بها او اخذ البيانات منها بكل سهوله لذا نحتاج مايسمى MQTT Broker
    هنا كل قطع ( ESP8266 او الاردينو ) سوف تتصل بسيرفر اسمه mqtt broker وهذا سيرفر سوف يقرر لمن يرسل البيانات وفق مايسمى بالعنوان TOPIC
    دعونا نختصر موضوع
    كل مانحتاجه هو 3 اشياء ضروريه وهي TOPIC وPUBLISH , SUBSCRIBE
    احنا قلنه لكل قطع esp8266 او الاردينو متصله مع mqtt broker لذا كيف سيتعامل معها هذا سيرفر وذلك عن طريق مايسمى عنوان لكل قطعه TOPIC
    كيف نكتب العنوان كتالي
    Home
    او
    Home/Room1
    او
    Home/room1/dev1
    اذا كنت تريد كتابه اكثر من مستوى لازم تضع / بين مستوى واخر
    ماهو SUBSCRIBE وهو من نخبر كلاينت ((ESP8266 او الاردينو)) قم بأستقبال البيانات القادمه من عنوان معين
    ماهو PUBLISH وهو من نخبر كلاينت ((ESP8266 او الاردينو)) قم بارسال البيانات الى عنوان معين
    ايضا يوجد مصطلح اخر وهو
    UNSUBSCRIBE
    ماهو UNSUBSCRIBE وهو من نخبر كلاينت ((ESP8266 او الاردينو)) توقف عن أستقبال البيانات القادمه من عنوان معين
    ===============================
    لنضرب مثال لنفترض عن 2 كلاينت اي 2 من ESP8266 اريد من ارسل من كلاينت اول كلمه my name hasan وارسلها الى كلاينت الثاني ليقوم هو برد علي ويقول مثلا hello hasan
    طبعا هذا مثال توضيحي وانت بالطبع يمكنك ارسال ماتشاء من البيانات وفق للنظام الذي تريده
    هسى اشلون راح ارتب مثال
    لنعطي عنوان الى كلاينت الاول ونسميه مثلا
    TOPIC==>ESP1
    لنعطي عنوان الى كلاينت الثاني ونسميه مثلا
    TOPIC==>ESP2
    الان كخطوه الاولى لازم كلاينت الاول والثاني يتصل ب mqtt broker
    كود:
    const char* mqtt_server = "210.201.4.100";//"YOUR_RPi_IP_Address"
    client.setServer(mqtt_server, 1883);
    الخطوه الثاني نخبر كلاينت الاول بأن يستقبل البيانات من كلاينت الثاني وكذلك الحال بالنسبه للكلاينت الثاني
    كلاينت الاول
    كود:
    // This functions reconnects your ESP8266 to your MQTT broker
    // Change the function below if you want to subscribe to more topics with your ESP8266 
    void reconnect() {
    // Loop until we're reconnected
    while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    // Attempt to connect
    if (client.connect("ESP8266Client")) {
    Serial.println("connected");  
    // Subscribe or resubscribe to a topic
    // You can subscribe to more topics (to control more LEDs in this example)
          client.subscribe("ُESP2");
    } else {
    Serial.print("failed, rc=");
    Serial.print(client.state());
    Serial.println(" try again in 5 seconds");
    // Wait 5 seconds before retrying
    delay(5000);
    }
    }
    }
    ======================================== ==========
    وفي كلاينت الثاني
    كود:
    // This functions reconnects your ESP8266 to your MQTT broker
    // Change the function below if you want to subscribe to more topics with your ESP8266 
    void reconnect() {
    // Loop until we're reconnected
    while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    // Attempt to connect
    if (client.connect("ESP8266Client")) {
    Serial.println("connected");  
    // Subscribe or resubscribe to a topic
    // You can subscribe to more topics (to control more LEDs in this example)
          client.subscribe("ESP1");
    } else {
    Serial.print("failed, rc=");
    Serial.print(client.state());
    Serial.println(" try again in 5 seconds");
    // Wait 5 seconds before retrying
    delay(5000);
    }
    }
    }
    الان راح ارسل البيانات my name hasan من كلاينت الاول الى عنوان ESP2
    كود:
    client.publish("ESP2", "my name hasan");

    طبعا كلاينت الثاني راح يستقبل البيانات عن طريق داله اسمها callback
    كود:
    void callback(String topic, byte* message, unsigned int length) {
    for (int i = 0; i < length; i++) {
    Serial.print((char)message[i]);
    messageTemp += (char)message[i];
    }
    // If a message is received on the topic ESP1
    if(topic=="ESP2"){
            client.publish("ESP1", "Hello hasan");
    }
    }
    الصور المرفقة الصور المرفقة

  7. #7
    عضو فى رابطة مهندسى الكهرباء العرب الصورة الرمزية حسن هادي محمود
    تاريخ التسجيل
    Oct 2008
    الدولة
    البصره-العراق
    المشاركات
    512

    6-تنصيب مكتبه mosquitto في راسبيري باي

    السلام عليكم ورحمه الله وبركاته
    كيف يمكننا الحصول على سيرفر mosquitto هناك طريقتين
    1- سيرفر حي مثل test.mosquitto.org
    http://test.mosquitto.org/
    وهو سيرفر يمكن لاي الشخص الوصول اليه ويمكننا التحكم من خلاله
    اهم البورتات
    The server listens on the following ports:
    1883 : MQTT, unencrypted
    8883 : MQTT, encrypted
    8884 : MQTT, encrypted, client certificate required
    8080 : MQTT over WebSockets, unencrypted
    8081 : MQTT over WebSockets, encrypted
    نحن نستخدم 1883 اذا كان دخول بدون باسورد اما اذا كان تريد دخول يطلب باسورد نختار البورت 8883

    ملاحظه مهمه// هذا سيرفر مجاني ويمكن لاي شخص الوصول اليه لذلك يجب ان تعطي عنوان مميز topic لاي موديل عندك لكي لايستطيع اي احد التنصت على البيانات مرسله
    مثلا لوعطيت احد موديل لديك ب topic==>Room وهناك شخص اخر اعطى نفس الاسم فان ذلك الشخص ممكن ان يعمل subscribe لهذا العنوان ويمكنه مشاهده البيانات لذا اعطي عنوان مميز
    كما قلنا العنوان يمكن ان يكون اكثر من مستوى تفصل بين مستوى واخر بـــــ /


    ======================================== =
    2- طريقه الثانيه من خلال سيرفر محلي اي سيرفر خاص بنا فقط
    هنا نستخدم راسبيري
    نقوم بتنصيب مكتبه mosquitto لكي يصبح راسبيري يدعم MQTT
    قبل هذه خطوه تأكد انك عملت تحديث وترقيه للنظام
    عن طريق الامر
    sudo apt-get update
    sudo apt-get upgrade
    بعد ذلك قم بتنصيب هذه مكتبه بتباع هذه اوامر بترتيب وبدون ترك اي احدا منها
    هذه اوامر مهمه في تنصيب مكتبه
    ======================================== =========

    sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
    sudo apt-key add mosquitto-repo.gpg.key
    cd /etc/apt/sources.list.d/
    sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
    cd
    sudo apt-get update
    sudo apt-get install mosquitto
    sudo apt-get install mosquitto-clients
    sudo apt-get install php5-dev
    sudo apt-get install libmosquitto-dev
    sudo pecl install Mosquitto-alpha

    ثم نكتب
    cd /etc/php5/mods-available
    وبعدها نقوم بأنشاء ملف اسمهmosquitto.ini
    sudo nano mosquitto.ini
    ثم نضع هذا الكود بملف
    extension=mosquitto.so
    ولحفظ ملف نضغط على ctrl+x ثم y
    ثم نعمل جيك للمكتبه انظر الصوره المرفقه
    this for check version of the Mosquitto library
    dpkg -l | grep mosquitto
    واخير نفعل php
    اي enabled that with sudo php5enmod mosquitto
    عن طريق الامر
    sudo php5enmod mosquitto
    echo "<?php phpinfo(); ?>" > ~/tester.php
    php ~/tester.php
    الصور المرفقة الصور المرفقة

  8. #8
    عضو فى رابطة مهندسى الكهرباء العرب الصورة الرمزية حسن هادي محمود
    تاريخ التسجيل
    Oct 2008
    الدولة
    البصره-العراق
    المشاركات
    512

    فحص المكتبه mosquitto

    لغرض فحص المكتبه mosquitto نقوم بفتح شاشه اوامر لاستقبال اي mosquitto_sup
    و شاشه أخرى لغرض الارسال اي mosquitto_pub
    نكتب في شاشه mosquitto_sup العباره التاليه
    mosquitto_sub -h 210.201.4.100 -d -t hello/world
    ماذا تعني هذه ؟
    قلت لايبي 210.210.4.100 وهو ايبي سيرفر (( راسبيري)) اعمل subscribe على عنوان topic الذي اسمه hello/world
    ونكتب في شاشه ترمنل mosquitto_pub
    " mosquitto_pub -h 210.201.4.100 -d -t hello/world -m "Hello world
    هنا قلت له ارسل بيانات Hello world الى عنوان
    hello/world
    انظرو الصوره مرفقه حيث عملت subscribe لعنوان friend وارسلت له بيانات ramadan kreem
    الصور المرفقة الصور المرفقة

  9. #9
    عضو فى رابطة مهندسى الكهرباء العرب الصورة الرمزية حسن هادي محمود
    تاريخ التسجيل
    Oct 2008
    الدولة
    البصره-العراق
    المشاركات
    512

    7- تنصيب phpmyadmin , php, sqlserver في حاسبه وراسبيري باي

    هذا الشرح ينطبق على حاسبه وراسبيري فأنك تستطيع عمل مشروعك على حاسبه وبعد ذلك تنقله الى راسبيري
    لكي نشغل حاسبه ونجعلها كسيرفر نحتاج الى اباشي سيرفر اي phpmyadmin وكذلك الحال بالنسبه لراسبيري
    1-لتنصيب اباشي سيرفر في حاسبه
    http://download.cnet.com/WampServer-...0.html?hlndr=1
    ايضا تحتاج برنامج webuilder لغرض كتابه الاكواد php,html ,css,**********s,.........
    http://www.webuilderapp.com/download.php
    ==================================
    2- تنصيب phpmyadmin و php و sqlserver في راسبيري

    sudo apt-get install apache2 –y
    sudo apt-get install php5 libapache2-mod-php5 -y
    sudo apt-get install mysql-server
    sudo apt-get install phpmyadmin
    sudo nano /etc/apache2/apache2.conf

    add this code in the bottom
    اي في اخر الصفحه تماما
    لتقلب بالصفحات اضغط على Ctrl+v
    include /etc/phpmyadmin/apache.conf
    ثم تقوم بحفظ ملف عن طريق ctrl+x ومن ثم اختار y
    الامر الاخير
    sudo /etc/init.d/apache2 restart
    ============================
    ملاجظه مهمه// اذا عندك ملفات سيرفر اي صفحات php او html وتريد توصل اليها من خلال تشغيل حاسبه كسيرفر او راسبيري كسيرفر يجب عليك وضع هذه ملفات في مسار التالي
    بالنسبه للحاسبه توضع في مسار
    C:\wamp\www
    وفي راسبيري توضع في مسار
    var/www/html/

  10. #10
    عضو فى رابطة مهندسى الكهرباء العرب الصورة الرمزية حسن هادي محمود
    تاريخ التسجيل
    Oct 2008
    الدولة
    البصره-العراق
    المشاركات
    512

    دورات في ويب

    هنا سوف تجد بعض دورات لعمل سيرفر
    html ,css ,tsbootstrap ,جيكوري, php ,sql, server , javascrib
    ===================================
    دورة تصميم المواقع - HTML
    http://www.youtube.com/playlist?list...qJlwzELbzdmtcR
    ================================
    كيفية تصميم المواقع بطريقية ديناميكية على جميع الاجهزة والمتصفحات باستخدام فريموورك bootstrap
    http://www.youtube.com/playlist?list...c1O75dqBgLyVD-
    ======================================
    دورة تصميم المواقع - CSS
    http://www.youtube.com/playlist?list...1HV_UY_-awCP7r
    ====================================
    جيكوري

    ================================
    دورة برمجة المواقع - PHP
    https://www.youtube.com/playlist?lis...ZyNLH5_Qnnp_t9
    ====================================
    برمجة قواعد بيانات - MySQL
    https://www.youtube.com/playlist?lis...kOXI4rogejrWmx
    ===================================
    ايضا تحتاج لمعرفه بجافسكربت واجاكس وجيسون
    =======================================
    وهذا موقع مهم
    http://www.w3schools.com/
    اذاكانت لديك معرفه بدورات اعلاه فأنك سوف تحتاج الى هذين صفحتين وخاصه بتعامل مع مكتبه mosquitto
    كود pub.php
    كود:
      <?php
    $_USERNAME = '';
    $_TOKEN = '';
    $_TOKEN_HASH = md5($_TOKEN);
    $_HOST = 'localhost';
    $_PORT = 1883;          // Use port 8883 for SSL
    if ( isset($_SESSION["Room_topic_publish"]) and !empty($_SESSION["Room_topic_publish"]))$_TOPIC = $_SESSION["Room_topic_publish"];
    else $_TOPIC="/topic";
    if (isset($_SESSION["Room_payload_publish"]) and !empty($_SESSION["Room_payload_publish"]))  $_PAYLOAD =$_SESSION["Room_payload_publish"];
    else $_PAYLOAD="error:check connection and press any switch";
    $_QOS = 0;
    $client = new Mosquitto\Client();
    $client->onConnect('connect');
    $client->onDisconnect('disconnect');
    $client->onPublish('publish');
    // Set client credentials.
    $client->setCredentials($_USERNAME, $_TOKEN_HASH);
    $client->connect($_HOST, $_PORT,50);
    while (true) {
    try{
    for ($i = 0; $i < 100; $i++) {
    // Loop around to permit the library to do its work
    $client->loop(1);
    }
    $mid = $client->publish($_TOPIC, $_PAYLOAD);
    for ($i = 0; $i < 100; $i++) {
    // Loop around to permit the library to do its work
    $client->loop(1);
    }
    }catch(Mosquitto\Exception $e){
    //echo"{$e}" ;
    return;
    }
    sleep(2);
    }
    $client->disconnect();
    unset($client);
    function connect($r) {
    echo "I got code {$r}\n";
    }
    function publish() {
    global $client;
    echo "Mesage published\n";
    $client->disconnect();
    }
    function disconnect() {
    echo "Disconnected cleanly\n";
    }
    ==================================
    sub.php
    كود:
    <?php
    $client = new Mosquitto\Client();
    $client->onConnect('connect');
    $client->onDisconnect('disconnect');
    $client->onSubscribe('subscribe');
    $client->onMessage('message');
    // Set client credentials.
    $client->setCredentials("", "");
    $client->connect("localhost", 1883, 5);
    $client->onLog('logger');
    $client->subscribe("Smart/Home/room1", 1);
    $client->subscribe("Smart/Home/room2", 1);
    $client->subscribe("Smart/Home/room3", 1);
    $client->subscribe("Smart/Home/room4", 1);
    $client->subscribe("Smart/Home/room5", 1);
    $client->subscribe("Smart/Home/room6", 1);
    $client->subscribe("Smart/Home/room7", 1);
    $client->subscribe("Smart/Home/room8", 1);
    for ($i = 0; $i <50; $i++) {
    $client->loop(10);
    }
    //$client->subscribe('Smart/Home/room1');
    for ($i = 0; $i < 50; $i++) {
    $client->loop(10);
    }
    function connect($r, $message) {
    //echo "I got code {$r} and message {$message}\n";
    }
    function subscribe() {
    //echo "Subscribed to a topic\n";
    }
    function message($message) {
    //print_r($message->topic, $message->payload);
    $_SESSION["Room_topic_subscribe"]= $message->topic;
    $_SESSION["Room_payload_subscribe"]= $message->payload;
    }
    function disconnect() {
    // echo "Disconnected cleanly\n";
    }
    function logger() {
    //var_dump(func_get_args());
    //print_r(func_get_args());
    //echo "\n";
    }

صفحة 1 من 2 12 الأخيرةالأخيرة

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

المواضيع المتشابهه

  1. فهرس قسم نقل وتوزيع الطاقه باستخدام الكابلات الأرضية ( أخر تحديث 19 / 03 / 2011 )
    بواسطة firas issa atwan في المنتدى قسم نقل وتوزيع الطاقه باستخدام الكابلات الأرضية under ground cable
    مشاركات: 31
    آخر مشاركة: 14-06-16, 01:49 PM
  2. تحديث الصفحة لعاشقى دورة plc كل شىء عن الدورة من كتب وفديوهات وبرامج
    بواسطة ahmed saad mohamed في المنتدى قسم المحركات الكهربية و دوائر التحكم المبرمج PLC
    مشاركات: 9
    آخر مشاركة: 29-05-10, 04:25 AM
  3. تحديث الصفحة كتاب صيانة الهاتف النقال باللغة العربية من الالف للياء
    بواسطة ahmed saad mohamed في المنتدى قسم الألكترونيات
    مشاركات: 5
    آخر مشاركة: 04-10-09, 02:49 PM
  4. تحديث الصفحة مساعدة في مشروع جهد عالي هااااام جدا لو سمحتوا ؟؟
    بواسطة Eslam Attya في المنتدى إدارة المشروعات الهندسية Project management
    مشاركات: 0
    آخر مشاركة: 28-02-09, 06:52 PM

المفضلات

المفضلات

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
 

 

 

Flag Counter