تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة في توظيف الكود بشكل صحيح
#1
قمت بعمل برنامج بسيط لعرض معلومات الجوال دلك عن طريق اوامر  AT المستنبطة من  hyper terminal
 و عند تشغيل البرنامج  والاتصال بالهاتف عن طريق serial port  تظهر معلومات الجهاز  ولكن بشكل غير لائق
من فضلكم اخوانى اريد مساعدة في توظيف هده الاكواد كي تظهر المعلومات فى textbox  بشكل صحيح
مع العلم انه لابد ان يكون جهاز الهاتف المستعمل يدعم اوامر  AT وكابل USB  للاتصال بالكمبيوتر


الملفات المرفقة
.rar   Device info.rar (الحجم : 69.12 ك ب / التحميلات : 50)
الرد }}}
تم الشكر بواسطة:
#2
يا رياض،

هذه الطريقة قديمة، الآن الشركات تتيح ارسال رسائل SMS عن طريق الموقع مقابل اشتراك.



شاهد هذا الموضوع
http://www.ozekisms.com/index.php?owpn=587
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy
#3
مرحبا بكم وصح رمضانكم
اخي الوادي انا لا اريد استعمال البرنامج فى ارسال الرسائل و لكن لدي منه اغراض اخري
فمثلا اعطيك مثال عن البرنامج عند ربط الكمبيوتر بالهاتف  عن طريق الكابل  وتحديد البورت كوم  المناسب
للهاتف والضغط على  connect  فى البرنامج  فان البرنامج البرنامج يتعرف على الهاتف و اظهار معلوماته
فى textbox  وكل  textbox له  معلومة  ولكن لا اريد اظهار  المعلومات بهدا الشكل فمثلا  فى خانة
Device Modele  تظهر المعلومة فى textbox المناسب له  بهدا  الشكل

AT+CGMM

C2-03

OK
وانا اريد ان تظهر المعلومة بتحديد نوع المودال مباشرة و هو C2-03  فقط  فى textbox
وكدلك فى خانة netwok   المعلومة تظهر هكدا  

AT+COPS?

+COPS: 0,2,"60301",0

OK
و انا اريدها ان تكون بهدا الشكل بتحديد الشبكة مباشرة وهي  60301
اخي الوادي و الاخوة االكرام ان كان لكم  طريقة  فى ترتيب هدة المعلومات بما اريدها فانا فى
انتظار ردودكم واكون لكم من الشاكرين
الرد }}}
تم الشكر بواسطة:
#4
يا رياض،

انا لا استطيع تجربة البرنامج لأن هاتفي ليس فيه هذه الطريقة.

لكن لو تضع كل الردود للأوامر ممكن نعمل لها استخلاص للجزء الذي تريد من البيانات مثل:
PHP كود :
TextBox4.Text System.Text.RegularExpressions.Regex.Match(SerialPort1.ReadExisting"(?<="").+?(?="")").Value 
هنا اقتطعنا الجزء الذي بين علامتي " " من المعلومات العائدة من الأمر AT+COPS? الخاص ب network حسب ما فهمت من الجزء
AT+COPS?

+COPS: 0,2,"60301",0

OK
الرد }}}
تم الشكر بواسطة:
#5
تفضل اخى الوادي جميع الردود للاوامر
device model
امر الرد هو
AT+CGMM

C2-03

OK
هنا اريد اظهار فى التاكست بوكس C2-03 فقط
manufacturer
امر الرد هو
AT+CGMI

Nokia

OK
اريد اظهار Nokia فقط فى التاكست بوكس
EMEI
امر الرد
AT+CGSN

353697051505622

OK
اظهار رقم 353697051505622 فقط
BATERY LEVEL
امر الرد
AT+CBC

+CBC: 0,56

OK
اريد اظهار 0,56 فقط
و بالنسبة للشبكة network فالكود الدى كتبته صالح %100
الرد }}}
تم الشكر بواسطة:
#6
يا رياض،

هذا تعديل
PHP كود :
'---------------------------------------------------'
' Read response data '
'---------------------------------------------------'
' Device model -----------------'
' Command: AT+CGMM
'
 
               SerialPort1.Write("AT+CGMM" vbCr)
 
               System.Threading.Thread.Sleep(1000)
 
               TextBox1.Text SerialPort1.ReadExisting.Trim

' Manufacturer -----------------'
' Command: AT+CGMI
'
 
               SerialPort1.Write("AT+CGMI" vbCr)
 
               System.Threading.Thread.Sleep(1000)
 
               TextBox2.Text SerialPort1.ReadExisting.Trim

' EMEI -------------------------'
' Command: AT+CGSN
'
 
               SerialPort1.Write("AT+CGSN" vbCr)
 
               System.Threading.Thread.Sleep(1000)
 
               TextBox3.Text SerialPort1.ReadExisting.Trim

' Network ----------------------'
' Command: AT+COPS?
'
 
               SerialPort1.Write("AT+COPS?" vbCr)
 
               System.Threading.Thread.Sleep(1000)
 
               TextBox4.Text System.Text.RegularExpressions.Regex.Match(SerialPort1.ReadExisting"(?<="").+?(?="")").Value.Trim

' BATERY LEVEL -----------------'
' Command: AT+CBC
'
 
               SerialPort1.Write("AT+CBC" vbCr)
 
               System.Threading.Thread.Sleep(1000)
 
               TextBox5.Text System.Text.RegularExpressions.Regex.Match(SerialPort1ReadExisting"(?<=\:).+").Value.Trim
'---------------------------------------------------' 
الرد }}}
تم الشكر بواسطة:
#7
شكرا لك اخي الوادي على الكود ولكن بقيت مشكلة صغيرة فقط وهي فى حانة device model تظهر بهدا الشكل
C2-03OK وكدلك فى manufacturer و emei اي بمعنى اريد عدم اظهار ok
و اما فى network و batery level فكل شيء تمام فان كان باستطاعتك حدف ok الموجودة وراء C2-03
فددلك افضل و ان لم تستطيع فشكرا لك مرة اخرى على مجهوداتك القيمة
الرد }}}
تم الشكر بواسطة:
#8
يا رياض،

اسف لم انتبه للرد الاخير جرب الان
PHP كود :
'---------------------------------------------------'
' Read response data '
'---------------------------------------------------'
' Device model -----------------'
' Command: AT+CGMM
'
SerialPort1.Write("AT+CGMM" vbCr)
System.Threading.Thread.Sleep(1000)
TextBox1.Text System.Text.RegularExpressions.Regex.Match(SerialPort1.ReadExisting".+").Value.Trim

' Manufacturer -----------------'
' Command: AT+CGMI
'
SerialPort1.Write("AT+CGMI" vbCr)
System.Threading.Thread.Sleep(1000)
TextBox2.Text System.Text.RegularExpressions.Regex.Match(SerialPort1.ReadExisting".+").Value.Trim

' EMEI -------------------------'
' Command: AT+CGSN
'
SerialPort1.Write("AT+CGSN" vbCr)
System.Threading.Thread.Sleep(1000)
TextBox3.Text System.Text.RegularExpressions.Regex.Match(SerialPort1.ReadExisting".+").Value.Trim

' Network ----------------------'
' Command: AT+COPS?
'
SerialPort1.Write("AT+COPS?" vbCr)
System.Threading.Thread.Sleep(1000)
TextBox4.Text System.Text.RegularExpressions.Regex.Match(SerialPort1.ReadExisting"(?<="").+?(?="")").Value.Trim

' BATERY LEVEL -----------------'
' Command: AT+CBC
'
SerialPort1.Write("AT+CBC" vbCr)
System.Threading.Thread.Sleep(1000)
TextBox5.Text System.Text.RegularExpressions.Regex.Match(SerialPort1.ReadExisting"(?<=\:).+").Value.Trim
'---------------------------------------------------' 
الرد }}}
تم الشكر بواسطة:
#9
الوادي ممكن تشوف موضوعي الغالي
http://vb4arb.com/vb/thread-16320-post-7...l#pid79480
الرد }}}
تم الشكر بواسطة:
#10
يا طالب،

ابشر، انا كنت جاي له.
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم