هنا ببساطه بعد نضع الايبي في متصفح طبعا لازم نخلي LED للدلاله على اكمال عمليه التهيئه بنجاح
كود:
configuration_esp8266();
led_connected=1;
طبعا ايضا نحتاج للتعريفات التاليه لغرض تهيئه
كود:
// Setup interrupts
RC1IE_bit = 1; // Enable Rx1 intterupts
PEIE_bit = 1; // Enable peripheral interrupts
GIE_bit = 1; // Enable global interrupts
طبعا يرجى مراجعه مشاركه 35 لانه نفس الشرح تقريبا
طبعا بالبدايه راح راح تقوم مكتبه بتخاطب مع موديل لغرض عمل تهيئه
حيث ترسل بالبدايه
1-AT
2- ATE0
3-AT+RST
4-AT+CWMODE
5-AT+CIPMUX
6- ربط مع راوتر عن طريق AT+CWJAP
7- جعل موديل كمحطه الارسال عن طريق AT+CWSAP
8- خطوه الي تختلف عن مشاركه 35 هي ارسال الامر AT+CIPSERVER=1,80
============================================
الان لما نضع الايبي بالمتصفح ومن ثم نضغط enter عندها راح يبدأ المتصفح بأرسال البيانات ويتم خزنها في مصفوفه esp8266_received_data طبعا يتم القراءاه البيانات بهذا الشكل
كود:
+IPD,id,len:GET /?data HTTP
طبعا هنا اخزن البيانات GET /?data حيث كما قلنا انه اول سته عناصر من مصفوفه esp8266_received_data
طبعا بعدما يقرأ البيانات متصفح ينتظر الرد من سيرفر او مايكرو
هنا طبعا يأتي دور داله
كود:
void ESP8266_UserTCP()
طبعا بهذه الداله يتم تنفيذ الاوامر المرسله من متصفح
كود:
if(!memcmp(esp8266_received_data+11, "d1on", 4)) // do we have ON command
PORTD.F0 = 1; // set PORTD bit0
else
if(!memcmp(esp8266_received_data+11, "d1off", 5)) // do we have OFF command
PORTD.F0 = 0; // clear PORTD bit0
if(!memcmp(esp8266_received_data+11, "d2on", 4)) // do we have ON command
PORTD.F1 = 1; // set PORTD bit0
else
if(!memcmp(esp8266_received_data+11, "d2off", 5)) // do we have OFF command
PORTD.F1 = 0; // clear PORTD bit0
طبعا الاكواد اعلاه لتشغيل واطفاء ليدات او ريليات موجوده عند portd.f0, port.f1
طبعا هنا تم تنفيذ اوامر مرسله من قبل متصفح ولكن لابد من الرد
لذا نجمع البيانات ومن ثم نقوم بأرسالها
===========================
كود:
memcpy(indexPage2+495,volt, 4);
if (PORTD.F0)
{
memcpy(indexPage2+13, "#00FF00", 6); // highlight (red) ON
memcpy(indexPage2+114, "#FF0000", 6); // clear OFF
}
else
{
memcpy(indexPage2+13, "#FF0000", 6); // clear ON
memcpy(indexPage2+114, "#00FF00", 6); // highlight (yellow) OFF
}
if (PORTD.F1)
{
memcpy(indexPage2+256, "#00FF00", 6); // highlight (yellow) ON
memcpy(indexPage2+357, "#FF0000", 6); // clear OFF
}
else
{
memcpy(indexPage2+256, "#FF0000", 6); // clear ON
memcpy(indexPage2+357, "#00FF00", 6); //
}
هنا وضعنا feedback يعني في حاله port.f0=1 مثلا خلي لون اخضر واذا كان port.f0=0 هنا خلي لون احمر يعني اقصد ظهور هذه الالوان في متصفح
اي في الاكواد اعلاه وضعنا معلومات الازمه لغرض ارسالها الى متصفح
وبعد ذلك نقوم بأرسال البيانات الى متصفح
كود:
Send_ESP8266_data(indexPage1,indexPage2,1309); // 1309 = length for indexPage1 + lenght for indexPage2
