هنا سوف تجد بعض دورات لعمل سيرفر
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
====================================
جيكوري
https://www.youtube.com/watch?v=0B77...gyR6fLdx4uEXOa
================================
دورة برمجة المواقع - 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";
}