PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوالات و مشکلات sim908 و sim808



صفحه ها : 1 [2]

جعفری نیا
15-11-2015, 10:49
کسی نیود جواب مارو بده؟؟؟؟؟؟؟؟؟؟؟؟

h_dalily
23-04-2016, 22:43
سلام دوستای عزیزم
میدونم مطرح کردن همچنین عنوانی شایسته نیست اصلا:sa:
ولی خب من خودم چند وقتیه کد میزنم تاحالا به همچنین مشکلی بر نخوردمcry::
و چون محوریت کارم با sim908 هستش گفتم توی این قسمت بیانش کنم.
باز هم مدیران محترم اگر صلاح دونستین منو راهتمایی کنین
خب حالا ماجرا چیه
ماجرا اینه که من یه ماژول sim908 n دارم که با میکرو باهاش ارتباط دارم خیییییلی خوب:wink:
و مشکلی ندارم
در ضمن من از پایه RI خوده sim908 برای اینتراپت استفاده کردم که هرجای برنامه باشه بهش اس رسید بره اینتراپتو بررسی کنه
والا چیز خاصیم ننوشتم تو اینتراپت فقط نوشتم i=1 باشه همیییین
با همین وجود من دارم توی یه قسمتی از پروژه هم اس دریاقت میکنم هم میفرستم میگم مشکلی نیست
مشکل اینجاست که من توی قسمتی دیگه از برنامه یه شرط گذاشتم که مقدار این i رو بررسی میکنه(حتما میدونید که وقتی sms میرسه سیم 908 پیغام CMTI:"SM" 1+ میده و برای خوندنش هم باید دستور AT+CMGR=1 را بفرستیم)وقتی sms میاد i رو یک مبکنه بعد من توی if برسی میکنم که ایا 1 شده یا نه اگر شده دستور خوندن رو بفرستم دقیقا همینجا وارد if میشه ولی printf رو نمیفرسته و میره دستورای بعدیش توی if رو اجرا میکنه
جالبیش اینجاست که وقتی تغذیه رو قطع میکنی دوباره وصل میکنی دستور printf رو میفرسته و از اول برنامه اجرا میشه

interrupt [EXT_INT0] void ext_int0_isr(void){
// Place your code here
i=1;

}
if(i>0)//recive message
{
i=0;
printf("AT+CMGR=1"); // ask recive sms data from sim 908
putchar(ENTER);
clean_cash();
}

بنظرتون چرا این اتفاق میوفته؟؟؟؟

dostajn
24-04-2016, 08:10
سلام دوستای عزیزم
میدونم مطرح کردن همچنین عنوانی شایسته نیست اصلا:sa:
ولی خب من خودم چند وقتیه کد میزنم تاحالا به همچنین مشکلی بر نخوردمcry::
و چون محوریت کارم با sim908 هستش گفتم توی این قسمت بیانش کنم.
باز هم مدیران محترم اگر صلاح دونستین منو راهتمایی کنین
خب حالا ماجرا چیه
ماجرا اینه که من یه ماژول sim908 n دارم که با میکرو باهاش ارتباط دارم خیییییلی خوب:wink:
و مشکلی ندارم
در ضمن من از پایه RI خوده sim908 برای اینتراپت استفاده کردم که هرجای برنامه باشه بهش اس رسید بره اینتراپتو بررسی کنه
والا چیز خاصیم ننوشتم تو اینتراپت فقط نوشتم i=1 باشه همیییین
با همین وجود من دارم توی یه قسمتی از پروژه هم اس دریاقت میکنم هم میفرستم میگم مشکلی نیست
مشکل اینجاست که من توی قسمتی دیگه از برنامه یه شرط گذاشتم که مقدار این i رو بررسی میکنه(حتما میدونید که وقتی sms میرسه سیم 908 پیغام CMTI:"SM" 1+ میده و برای خوندنش هم باید دستور AT+CMGR=1 را بفرستیم)وقتی sms میاد i رو یک مبکنه بعد من توی if برسی میکنم که ایا 1 شده یا نه اگر شده دستور خوندن رو بفرستم دقیقا همینجا وارد if میشه ولی printf رو نمیفرسته و میره دستورای بعدیش توی if رو اجرا میکنه
جالبیش اینجاست که وقتی تغذیه رو قطع میکنی دوباره وصل میکنی دستور printf رو میفرسته و از اول برنامه اجرا میشه

interrupt [EXT_INT0] void ext_int0_isr(void){
// Place your code here
i=1;

}
if(i>0)//recive message
{
i=0;
printf("AT+CMGR=1"); // ask recive sms data from sim 908
putchar(ENTER);
clean_cash();
}

بنظرتون چرا این اتفاق میوفته؟؟؟؟
سلام
با کدویژن کار نکردم اما ظاهرا شما دوتا مشکل دارین
1- متغییر i رو تعریف کردین اما مقدار دهی نکردین به خاطر همین هم یه مقدار رندم میگیره که به احتمال 99/99 درصد بیش از صفر هست :)
2- نمی دونم بحث بهینه سازی توی کدویژن مطرح هست یانه اما شاید متغییر شما توسط مفسر حذف شده باشه (بهتر متغییر رو از نوع volatile یا ... باشه)

h_dalily
24-04-2016, 10:25
سلام
با کدویژن کار نکردم اما ظاهرا شما دوتا مشکل دارین
1- متغییر i رو تعریف کردین اما مقدار دهی نکردین به خاطر همین هم یه مقدار رندم میگیره که به احتمال 99/99 درصد بیش از صفر هست :)
2- نمی دونم بحث بهینه سازی توی کدویژن مطرح هست یانه اما شاید متغییر شما توسط مفسر حذف شده باشه (بهتر متغییر رو از نوع volatile یا ... باشه)

مرسی بابت پاسخگوییتون
این یه قسمت از برنامست.
در حقیقت i اول برنامه صفر شده
مشکل رفتن یا نرفتن توی شرط if نیست
مشکل اینه میره توی if دیگه دستور printf کار نمیکنه

ehsan2774
15-05-2016, 17:48
سلام
من از سیم 900 واسه ارسال پیام استفاده کردم و درسته .
ولی وقتی دریافت پیام می خوام داشته باشم انگار نه انگار ؟؟؟
مشکل چی می تونه باشه...
ولتاژ ورودی 4.2 ولت دادم و 2 آمپر
ممنون میشم کمک کنین

اینم برنامه ای که استفاده کردم:


$regfile = "m32def.dat"
$crystal = 1000000
$baud = 9600


Config Serialout = Buffered , Size = 254
Config Serialin = Buffered , Size = 254

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portb.7
Config Int0 = Falling
Enable Interrupts
On Int0 Sms_recive

Dim Sms As String * 160
Dim Payamak As Byte
Dim Massege As String * 100
Declare Sub Sms_recive
Dim G As Byte
Dim Tedad As Integer
Dim Shoro As Integer
Dim Payan As Integer
Dim Tool As Integer
Dim Tmp As String * 20
Dim A As Bit

Main:
Do
Cls
Home
Lcd "waiting recive"
Waitms 250
Loop
End


Sms_recive:
Cls
Print "at+CMGR=1"
Sms = ""
G = 0
A = 0
Do
Payamak = Inkey()
Select Case Payamak
Case 0 :


Case 13:
If Sms <> "" Then


Exit Do
End If


Case 10:
If Sms <> "" Then
Exit Do
End If


Case Else


Sms = Sms + Chr(payamak)


End Select
Loop


Gosub Sss
Locate 1 , 1
Lcd Sms
Wait 2
Return



Sss:
Shoro = Instr(sms , "+98")
Payan = Instr(shoro , Sms , ",")
Tool = 13
Tedad = Payan - Shoro
Tmp = Mid(sms , Shoro , Tool)
Tmp = Ltrim(tmp)
Tmp = Rtrim(tmp)
Return

ssaberm
16-05-2016, 15:21
سلام دوستان من قبلا با ماژول جی اس ام پروژه دانشجوییمو انجام دادم فایلشم گذاشتم تو یکی از سایتای پروژه ادرسشم قرار می دم شاید کمکی باشه برای دوستان سوالی هم داشتین ادرس ایمیلمم پایین تو قسمت نظرات همون سایت گذاشتم
دانلود پایان نامه هشدار گاز به وسیله پیامک - پروژه دات کام (You can see links before reply)

ehsan2774
16-05-2016, 15:59
سلام
برنامه بیسیک رو ندارین بزارین...
در ضمن نکات عملی جهت راه اندازی این ماژول رو اگه بگین ممنون میشم...

پ.ن : در ضمن پیام توسط سیم900 دریافت میشه و در سیم کارت ذخیره میشه ولی وقتی رو lCDنمایش میده یکی درست دریافت میشه و دومی AT+CMGR=1 دریافت میشه و پیام سوم متن پیام دومه و پیام چهارم AT+CMGR=2 و ...
مشکل من اینجاس
چه کنم که هر پیام بدرستی دریافت بشه

متن برنامه :



'Micro & Crystal Config---------------------------------------------------------
$regfile "m32def.dat"
$crystal = 12000000
'UART Config--------------------------------------------------------------------
$baud = 9600
Config Serialout = Buffered , Size = 254
Config Serialin = Buffered , Size = 254
'LCD Config---------------------------------------------------------------------
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portb.7
Config Lcd = 16 * 2
'INT Config-------------------------------------------------------------------------------
Config Int0 = Falling
Enable Int0
On Int0 Receive_int
'-------------------------------------------------------------------------------
Enable Interrupts
'OutPuts-------------------------------------------------------------------------------
Config Portc.0 = Output : Rl_1 Alias Portc.0 : Reset Rl_1
Config Portc.1 = Output : Rl_2 Alias Portc.1 : Reset Rl_2
Config Portc.2 = Output : Rl_3 Alias Portc.2 : Reset Rl_3
Config Portc.3 = Output : Rl_4 Alias Portc.3 : Reset Rl_4
Config Portc.7 = Output : Rl_7 Alias Portc.7 : Reset Rl_7
'Keypad-------------------------------------------------------------------------
Config Kbd = Porta
'Subs---------------------------------------------------------------------------
Declare Sub Keypad_read()
Declare Sub Send_uart()
Declare Sub Receive_int()
Declare Sub Show_lcd()
'Values-------------------------------------------------------------------------------
Dim State As Byte
Dim Lcd_text_l1 As String * 16 , Lcd_text_l2 As String * 16 , Wait_time As Word , Show_p As Bit
Dim Key_press_check As Byte , Key_press As Bit , Key_num As Byte , Keypad_key_number As Byte , Receive_call_number As Byte
Dim Uart_in As Byte , Receive_message As String * 70 , Message_max As Byte , Message_end As Byte , Sim_cell As Byte
Dim Analysis_value_byte As Byte , Analysis_value_string As String * 10
Dim Old_key As Byte , Key_character_number As Byte , Key_character As String * 1 , Keypad_message As String * 16
Dim Send_message As String * 16 , Send_number As String * 11
Dim Keypad_message_length As Byte


'Print "AT&F"
'Waitms 1000
'Print "AT"
'Waitms 1000


'Delete Simcard Old SMS############################################### ##########
Receive_call_number = 1
Print "AT+CMGD=0,4"
Cls
Waitms 10
Locate 1 , 1 : Lcd "Delete SIM SMS:"
Waitms 100
Call Receive_int()
'Delete Simcard Old SMS=Ok or NOT Ok############################################
Message_delete:
If Receive_message = "OK" Then
Locate 2 , 1 : Lcd " "
Locate 2 , 1 : Lcd "OK..."
Else
Locate 2 , 1 : Lcd " "
Locate 2 , 1 : Lcd "Error..."
Do
Waitms 100
Loop
End If
Waitms 1000
Receive_call_number = 0


'Print "AT+CMGF=1"
'Waitms 1000


'Print "AT+CNMI=1,1"
'Waitms 1000


'Print "ATE0&W"
'Waitms 1000


State = 1


Do
'###############################################
If State = 1 Then
If Show_p = 0 Then
Lcd_text_l1 = "Wait for receive"
Lcd_text_l2 = "SMS..."
Wait_time = 50
Call Show_lcd()
End If
'###############################################
Elseif State = 2 Then
If Show_p = 0 Then
Lcd_text_l1 = "SMS receive:"
Wait_time = 50
Call Show_lcd()
End If
End If
'###############################################
Loop
End




Sub Send_uart()
'###################################
Print "AT+CMGS=" ; Chr(34) ; "09150731548" ; Chr(34)
Waitms 10
'###################################
A:
Waitms 10
Receive_message = Waitkey()
If Receive_message <> ">" Then Goto A
Print Send_message ; Chr(26)
Waitms 1000
Call Receive_int()


Waitms 10
Call Receive_int()
End Sub




Sub Receive_int()
'###################################
Again:
Receive_message = ""
Message_max = 0
Message_end = 0
'###################################
Do
'###################################
Uart_in = Inkey()
Waitms 10
'###################################
If Uart_in <> 0 Then


Select Case Uart_in


Case 13 : If Receive_message <> "" Then Exit Do


Case 10 : If Receive_message <> "" Then Exit Do


Case Else


Receive_message = Receive_message + Chr(uart_in)


Incr Message_max
If Message_max > 70 Then Exit Do


End Select
'###################################
Elseif Uart_in = 0 And Receive_message <> "" Then
Incr Message_end
'###################################
End If
'###################################
If Message_end > 2 Then Exit Do


Loop


If Receive_message = "OK" Then
'###################################
If Receive_call_number = 1 Then
Goto Message_delete
'###################################
Else
Goto Again
'###################################
End If
End If
'###################################
Analysis_value_string = Mid(receive_message , 4 , 2)
Analysis_value_byte = Checksum(analysis_value_string)
If Analysis_value_byte = 157 Then
Analysis_value_string = Mid(receive_message , 13 , 1)
Sim_cell = Val(analysis_value_string)
Print "AT+CMGR=" ; Str(sim_cell)
Waitms 10
Goto Again
'###################################
Elseif Analysis_value_byte = 153 Then
Goto Again
'###################################
Elseif Analysis_value_byte = 154 Then


Lcd_text_l1 = "SMS Sent..."
Lcd_text_l2 = "Success..."
Wait_time = 2000
Call Show_lcd()
'###################################
Else
'###################################
If Receive_message = "RL1234-ON" Then
Set Rl_1
Waitms 10
Set Rl_2
Waitms 10
Set Rl_3
Waitms 10
Set Rl_4
'###################################
Elseif Receive_message = "RL1234-OFF" Then
Reset Rl_1
Waitms 10
Reset Rl_2
Waitms 10
Reset Rl_3
Waitms 10
Reset Rl_4
'###################################
Elseif Receive_message = "RL1-ON" Then
Set Portc.7
Send_message = "r1on"
Send_uart
Elseif Receive_message = "RL1-OFF" Then
Reset Rl_1
Elseif Receive_message = "RL2-ON" Then
Set Rl_2
Elseif Receive_message = "RL2-OFF" Then
Reset Rl_2
Elseif Receive_message = "RL3-ON" Then
Set Rl_3
Elseif Receive_message = "RL3-OFF" Then
Reset Rl_3
Elseif Receive_message = "RL4-ON" Then
Set Rl_4
Elseif Receive_message = "RL4-OFF" Then
Reset Rl_4
End If
'###################################
Lcd_text_l2 = Receive_message
State = 2
Wait_time = 1000
Show_p = 0
'###################################
End If
'###################################
End Sub






Sub Show_lcd()
Show_p = 1
Cls
Waitus 500
Locate 1 , 1 : Lcd Lcd_text_l1
Locate 2 , 1 : Lcd Lcd_text_l2
Waitms Wait_time


End Sub

ehsan2774
01-06-2016, 17:29
کسی نیست جواب بده/؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟:x

meme
29-09-2016, 23:25
سلام دوستان

من با ماژول Sim808 کار می کنم و مشکلی که الان دارم اینه که با سیم کارت ایرانسل همه کار می تونم انجام بدم اما به سیم کارت همراه اول اس ام اس نمی توم بدم
می دونید مشکل از کجاست ؟
شما ها با همراه اول مشکلی ندارید ؟ یا می دونید چطور میشه این مشکل رو حل کرد ؟

9215859
12-02-2017, 17:28
دوستان خواهش میکنم در مورد راه اندازی ماژول sim808 (بدون هدر برد) توضیح هات بیسیک -پایه ای بدین در مورد طراحی هدر برد و طریقه نصب انتن ها روی هدر برد

و دیگر اینکه من یک هدر برد sim 908 تهیه کردم در کنار سوکت (پیچی) انتن gsm و gps یک حلقه کوچیک وجود داره اونا چی هستن کارشون چیه؟؟؟
همچنین یک قطعه مکب مشکی روی برد قرار داره اون چیه؟ توی عکس زیر نشون دادم.9422

- - - Updated - - -

دوستان اگر ممکن است ی مدار با کد میکروکنترلر برای تست ماژول sim808 بذارین. با هر میکرو کنترلری باشه خوبه ممنوم میشم .

amintanharpd
13-02-2017, 16:48
اون سیاهه یه سلف هست اون یکی هم سوکت مربوط به اتصال آنتن که این نوع سوکت در موبایل های تاشو قدیمی هم بود که سیم آنت موبایل به این سوکت وصل میشه اینجا هم یه سوکت قرار داده اگه بخواییم از این سوکت به عنوان سوکت مربوط به آنتن اصلی دستگاه استفاده کنیم و آنتمون هم خارج از برد دستگاه هست و شما برای ساخت برد باید از نرم افزار های طراحی مدار و ترسیم فایل pcb استفاده کنی مثل نرم افزار altium وبعد بوردتون رو بسازید که اون هم باز هم در صفحات قبلی این پست دوستان زحمتشو کشیدن و اینکه دوستان از اول این تاپیک توضیحات بسیار خوبی دادن همراه با نقشه مدار و کدهای مربوطه و علاوه براون در اینترنت هم بگردین کلی مثال هست از این ماژول کمی باید خودتون بیشتر جستجو کنید واینکه اصن تو این صفحه یکی از دوستان یک فایل توضیحات کامل به همراه نقشه و... قرار دادن به اسم دانلود پایان نامه هشدار گاز به وسیله پیامک - پروژه دات کام (You can see links before reply) که خودم واقعا لذت بردم از کار ایشون که به رایگان قرار دادن زحماتشونو

abbasalifix
28-06-2017, 18:03
سلام
من با ماژول sim808 کار میکنم و در گرفتن دیتا های جی پی اس و ار سال پیام مشکلی ندارم
مشکلم اینه که دیتا های جی پی اس رو به چه صورت بگیرم که بتونم اونها رو در بسکام از هم تفکیک کنم ؟ مثلا سرعت و مختصات طول و عرض رو ؟

- - - Updated - - -

سلام
من با ماژول sim808 کار میکنم و در گرفتن دیتا های جی پی اس و ار سال پیام مشکلی ندارم
مشکلم اینه که دیتا های جی پی اس رو به چه صورت بگیرم که بتونم اونها رو در بسکام از هم تفکیک کنم ؟ مثلا سرعت و مختصات طول و عرض رو ؟

abbasalifix
09-07-2017, 04:37
سلام
با ماژول سیم 808 همه جوره تونستم با میکرو ار تباط برقرار کنم در بسکام
شماره رو میتونم تفکیک کنم و اس ام اس دریافتی که بصورت کد هست - مشکلی در پاک کردن حافظه هم ندارم
مقدار های جی پی اس کامل و حتی بطور تفکیک شده دریافت میشه
حتی در برنامه ای محتوای جی پی اس روی نقشه لینک ارسال میشه
مشکلی که هست همه این برنامه ها یکی یکی باید در برنامه قرار داشته باشه و اگر همه برنامه ها رو باهم اجرا کنم داخل میکرو مثلا برنامه ای که اس ام اس دریافت شده کد رو مقایسه کنه و بعد مختصات رو ارسال کنه به همون شماره ای که اس ام اس اومد
مشکل اصلی اینجاست که میکرو زیر بار نمیره و چند بارکه از inkey استفاده میشه داده ها بهم میریزه درحالی که همون برنامه رو در یک فایل جدا میشه اجرا کرد و مشکلی نداره
مثلا الان مشکلی که دارم اینه که اس ام اس که میدم شماره رو میخونه و اس ام اس رو میخونه اگر کد درست بود میاد و مختصاد جی پی اس و لینک اینترنتی اون رو میفرسته اما همه چی درسته منتها مختصات نمیاد



برنامه رو که بالا و پایین میکنم توابع بالا درست کار میکنن اما پایین مشکل میخورن و تصادفی میشه !

abbasalifix
11-05-2018, 23:57
سلام
برای راه اندازی بلوتوث ماژول مشکل دارم
آپدیت انجام شده
نرم افزار سریال روی گوشی نصب هست
فرامین اجرا میشه
اما نمیدونم باید دقیقا با چه فرمان هایی به ترتیب اطلاعات رو ارسال و دریافت کنم؟
پیشاپیش بگم تمام اپ نوت هارو خوندم

abbasalifix
12-05-2018, 00:49
به جواب رسیدم
😊

mzarkoob
12-05-2018, 09:24
سلام
نمی فرمایید ایراد کارتون کجا بود!؟