Thông báo

Collapse
No announcement yet.

Giúp về chế độ nhận SMS SIM900?

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Giúp về chế độ nhận SMS SIM900?

    Em có làm đề tài giao tiếp SIM900!
    em cấu hình nhận SMS như sau:
    AT+CMGF=1<CR>
    AT+CNMI=1,2,0,0,0<CR>


    nhưng sau khi tin nhắn đến cái phần chứ nội dung SMS lại là mã HEX? có biết cách chuyển về Test không?Cám ơn!Click image for larger version

Name:	SIM900.PNG
Views:	1
Size:	6.6 KB
ID:	1417148

  • #2
    Bạn đọc tin nhắn khác xem sao

    Comment


    • #3
      Ơ ngon, bạn làm thế nào thế? có điều nhìn cái này thì mình nghĩ là dịch lại được thôi mà format của nó rõ thế còn gì? mỗi một ký tự sẽ được chứa trong 2 byte có nghĩa là có thể dùng để chứa ký tự Unicode. Nếu không quan tâm đến Unicode thì cứ đọc dạng như (0054=ascii(54)=6; 0065=ascii(65)=A; ........) Do ở đây không có ký tự unicode nào nên byte đầu trống (00) byte kế tiếp là số hiệu của ký tự trong bảng mã ascii

      Comment


      • #4
        giả sử 1 hàm
        Code:
        char string2char(char* str)// Đối số là chuỗi gồm 2 ký tự đại loại như '54'
        {							// Kết quả trả về là 54
        	char tmp=str[0]-'0';
        	tmp*=10;
        	tmp+=str[1]-'0';
        	return tmp;
        }

        Comment


        • #5
          Ko cần dịch lại đâu, bạn chỉnh các thông số của lệnh CMNI là sẽ được thôi. Xem datasheet xem, các con số đó đều có ý nghĩa của nó mà
          - Chuyên cung cấp và nhận đặt hàng các loại linh kiện điện tử, module GSM, GPS...
          Số 70 - Hoàng Sâm - Nghĩa Đô - Cầu Giấy - Hà Nội
          __Your Success, Our Happiness__

          Comment


          • #6
            Code:
            #include <REGX52.H>
            #include <string.h>
            #include "stdio.h"
            #include "math.h"
            
            // Define Macro
            #define RL1 P2_0
            #define RL2 P2_1
            #define RL3 P2_2
            #define RL4 P2_3		
            
            				
            //--------------------------------------------------------
            // Global variable
            #define BUFF_SIZE 20
            unsigned char buffer[BUFF_SIZE];	
            //unsigned char dl_rv;
            unsigned char timer_count;
            bit flag__;
            bit ok;
            char dem;		  
            
            
            //-------------------------------------------------------------
            // Function Static
            void truyen_mang(char *s);
            void xu_ly_tin_nhan(void);
            void Process_mess(char *dtin);
             //---------------------------------------------------------------------
             // ctrinh delay
            void delay(unsigned int ms)
            {
            	unsigned int i;
            	for(i=0;i<ms;i++);
            }
            //-------------------------- chuong trinh ngat nhan byt co tin nhan gui toi
            //	khi co tin nhan gui toi thi thuc hien doc tin nhan
            void isr_tinnhan() interrupt 0
            {
            	truyen_mang("AT+CMGR=1\r"); // doc tin nhan tai o nho thu 1 cua SIM.	
            	delay(2000);
            }
            //-------------------------------------------------------
            // ham xu ly du lieu nhan duoc
            
            //-----------------------------------------------------------------
            // khoi tao UART
            void khoitao_uart(void)
            {
            	SCON=0x52;
            	TMOD=0x21;      // khoi tao 2 timer time1 dung cho UART, timer0 dùng de tao time doc tin nhan
            	TH1=TH1=-3;		 // baud = 9600
            	//TH0 = -10000/256; // 10ms										 
            	//TL0 = -10000%256; 
            	TR1=1;
            //	ES = 1;
            	//TR0 = 1;
            //	ET0 = 1;
            	EX0 = 1;
            	IT0 = 1;
            	EA =1;
            }	 
            //---------------------------------clear buff------------
            //
            void clear_buffer(void)
            {
            	unsigned char i;
            	for(i = 0 ; i< BUFF_SIZE ; i++)
            		{
            			buffer[i] = '\0';
            		}
            }
            
            //--------------------------------------------------------------------------
            // Chuong trinh ngat UART nhan du lieu tu sim
            void isr_interrup() interrupt 4
            { 	char dl_rv;
            	if(RI)
            	  {
            	  	dl_rv=SBUF;
            		switch (dl_rv)
            			{
            				case '\*':
            				clear_buffer();
            				dem = 0;
            				break;
            				case '#':
            				Process_mess(buffer);
            				break;
            				default:
            				buffer[dem] = dl_rv;
            				dem++;
            				if(dem>BUFF_SIZE)
            				dem=0;
            				break;
            			}
            			RI = 0;
            			}		
            }
            //--------------------------------------------------------
            //+CMGR: "REC READ","+841653263756","","13/05/20,19:49:22+28"TB1 ON 1234>
            //>
            //OK
            //--------------------------------------------------
            
            
            //----------------------------------------------------------------
            // truyen mang dl xuong sim
            void truyen_mang(char *s)
            {
            //	putchar(0x0d);				 //xuong dong
            	while(*s)
            	{
            		putchar(*s);
            		s++;
            		delay(1000);
            	}
            }
            //----------------------------------------------------------------
            // Khoi	   tao Sim 900
            void khoitao_sim(void)
            {
            	delay(4000);
            	truyen_mang("AT\n\r");
            	delay(10000); 
            	truyen_mang("AT+CMGF=1\n\r");
            	delay(10000);	
            }
            
            //----------------------------------------------------------
            // xu ly tin nhan nhan duoc
            
            void Process_mess(char *dtin)   
            {
            if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '1') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'N') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4'))
            	{
            		RL1 = 0;
            						truyen_mang("AT+CMGD=1\r");
            		delay(10000);
            				truyen_mang("AT+CMGS=\"+841649802694\"\r");                                        
                 delay(10000);
            	   delay(10000);
                 truyen_mang("Thiet Bi 1 da duoc bat");
                 putchar(0x1A);
            	}
            if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '2') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'N') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4'))
            	{
            		RL2 = 0;
            						truyen_mang("AT+CMGD=1\r");
            		delay(10000);
            		truyen_mang("AT+CMGS=\"+841649802694\"\r");                                        
                 delay(10000);
            	   delay(10000);
                 truyen_mang("Thiet Bi 2 da duoc bat");
                 putchar(0x1A);
            
            	}
            if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '3') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'N') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4'))
            	{
            		RL3 = 0;
            		truyen_mang("AT+CMGD=1\r");
            		delay(10000);
            		truyen_mang("AT+CMGS=\"+841649802694\"\r");                                        
                 delay(10000);
            	   delay(10000);
                 truyen_mang("Thiet Bi 3 da duoc bat");
                 putchar(0x1A);
            	}
            if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '4') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'N') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4'))
            	{
            		RL4 = 0;
            						truyen_mang("AT+CMGD=1\r");
            		delay(10000);
            		truyen_mang("AT+CMGS=\"+841649802694\"\r");                                        
                 delay(10000);
            	   delay(10000);
                 truyen_mang("Thiet Bi 4 da duoc bat");
                 putchar(0x1A);
            	}
            if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '1') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'F') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4'))
            	{
            			RL1 = 1;
            		truyen_mang("AT+CMGD=1\r");
            		delay(10000);
            		  truyen_mang("AT+CMGS=\"+841649802694\"\r");                                        
                 delay(10000);
            	   delay(10000);
                 truyen_mang("Thiet Bi 1 da duoc tat");
                 putchar(0x1A);
            	}
            if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '2') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'F') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4'))
            	{
            		RL2 = 1;
            				truyen_mang("AT+CMGD=1\r");
            		delay(10000);
            				truyen_mang("AT+CMGS=\"+841649802694\"\r");                                        
                 delay(10000);
            	   delay(10000);
                 truyen_mang("Thiet Bi 2 da duoc tat");
                 putchar(0x1A);
            	}
            if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '3') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'F') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4'))
            	{
            		RL3 = 1;
            						truyen_mang("AT+CMGD=1\r");
            		delay(10000);
            			truyen_mang("AT+CMGS=\"+841649802694\"\r");                                        
                 delay(10000);
            	   delay(10000);
                 truyen_mang("Thiet Bi 3 da duoc tat");
                 putchar(0x1A);
            	}
            if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '4') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'F') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4'))
            	{
            		RL4 = 1;
            		truyen_mang("AT+CMGD=1\r");
            		delay(10000);
            		truyen_mang("AT+CMGS=\"+841649802694\"\r");                                        
                 delay(10000);
            	   delay(10000);
                 truyen_mang("Thiet Bi 4 da duoc bat");
                 putchar(0x1A);
            }
            }
            //------------------ chuong trinh chinh----------------
            //
            void main(void)
            {	
            	khoitao_uart();
            	//PS=1;
            	khoitao_sim();
            	delay(10000);
            	flag__ = 0;
            	ok     = 0;
            					truyen_mang("AT+CMGD=1\r");
            		delay(10000);
            					truyen_mang("AT+CMGS=\"+841649802694\"\r");                                        
                      delay(10000);
             	    	 delay(10000);
                      truyen_mang("Do an tot nghiep svth: Nguyen Huy Bien k12D He Thong Da Duoc Khoi Dong");
                      putchar(0x1A);
            	delay(10000);
            			    ES=1;
            
            	while(1)
            	{
            	;
            	}
            }
            Nguyễn Huy Biên - 01649 802 694
            gmail :

            Comment


            • #7
              bạn chỉ cần khởi tạo lênh AT+CMGF = 1\r\n là oke. ko cần gì thêm nhé, code đó mình làm chạy ầm ầm đó
              Nguyễn Huy Biên - 01649 802 694
              gmail :

              Comment


              • #8
                hoi dap sim900

                Nguyên văn bởi bienhou Xem bài viết
                bạn chỉ cần khởi tạo lênh AT+CMGF = 1\r\n là oke. ko cần gì thêm nhé, code đó mình làm chạy ầm ầm đó
                Bạn ơi cho mình hỏi: Trong code của bạn dùng ngắt ngoài để nhận biết có tin nhắn gửi đến, nhưng mình không biết chân ngắt ngoài đó sẽ nối vào đâu của sim 900. Bạn chỉ giáo giúp mình với.

                Comment

                Về tác giả

                Collapse

                vuive_2020 Tìm hiểu thêm về vuive_2020

                Bài viết mới nhất

                Collapse

                • tuyennhan
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi tuyennhan
                  Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                  Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                  hôm nay, 07:44
                • vi van pham
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi vi van pham
                  Cám ơn những lời chúc tốt đẹp của em.

                  Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                  Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                  hôm nay, 02:00
                • nhathung1101
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi nhathung1101
                  Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                  Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                  Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                  Hôm qua, 22:18
                • dinhthuong80
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi dinhthuong80
                  Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                  Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                  Hôm qua, 14:51
                • dinhthuong80
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi dinhthuong80
                  Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                  Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                  Hôm qua, 14:39
                • dinhthuong80
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi dinhthuong80
                  Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                  Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                  Hôm qua, 14:28
                • bqviet
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi bqviet
                  Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                  21-02-2025, 20:26
                • mèomướp
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi mèomướp
                  Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                  21-02-2025, 12:32
                • vi van pham
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi vi van pham
                  Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                  Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                  20-02-2025, 21:31
                • bqviet
                  Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                  bởi bqviet
                  Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                  20-02-2025, 17:22
                Đang tải...
                X