Thông báo

Collapse
No announcement yet.

[Help] Thắc mắc code sim900

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

  • #16
    Nhiều người hỏi xin code mình. Mình không thích kiểu ăn sẵn đó. Có gì vướng mắc, mình sẽ giúp đỡ mọi người về code để tìm ra cách giải quyết chứ hoàn toàn không có chuyện mình share code cho đâu. Mình muốn mọi người cho cái đầu hoạt động chút để rút ra được nhiều kinh nghiệm cho mình. Sau này đi làm còn ứng dụng được.
    Mình chỉ reply các email thắc mắc về phần cứng, tài liệu và thắc mắc code. Hoàn toàn không reply các email xin code, xin sơ đồ nguyên lý. Mong mọi người thông cảm.
    Last edited by BachHoNB; 31-03-2013, 18:03.

    Comment


    • #17
      hic hic, A BachHoNB ơi, trước e hỏi về sim900 đó, k phải do lỗi phần cứng, hôm đó nó k nhận được sim là do cái antel bị lỏng, sim và mạch hoàn toàn k vấn đề, nay đã nhận sim và bảo lại, nhưng e gặp vấn đề là sim thì nt đc về số đt, còn nhắn tin vào sim thì lại k thấy gì. e nghĩ do cái hàm ngắt nhận của e có vấn đề. hic hic, ngắt truyền thì oki. mà nhận lại k được. a xem giúp e nhé. e xem mail cho a code của e.

      Comment


      • #18
        Nguyên văn bởi mr_taivu Xem bài viết
        hic hic, A BachHoNB ơi, trước e hỏi về sim900 đó, k phải do lỗi phần cứng, hôm đó nó k nhận được sim là do cái antel bị lỏng, sim và mạch hoàn toàn k vấn đề, nay đã nhận sim và bảo lại, nhưng e gặp vấn đề là sim thì nt đc về số đt, còn nhắn tin vào sim thì lại k thấy gì. e nghĩ do cái hàm ngắt nhận của e có vấn đề. hic hic, ngắt truyền thì oki. mà nhận lại k được. a xem giúp e nhé. e xem mail cho a code của e.
        Ủa, lỗi antena không phải là lỗi phần cứng hả trời?
        Khi nhắn tin mà không thấy kết quả gì thì em cần làm theo thứ tự sau, từng bước 1
        1. Phải biết được khi nào có sms mới. Khi có sms mới thì em hiển thị lên LCD là có sms cho dễ nhận biết.
        2. Phải lọc được nội dung tin nhắn sau khi PIC gửi lệnh AT+CMGR=x và sim900 phản hồi về cho PIC đọc.
        3. Sau khi lọc được nội dung thì ra lệnh cho PIC làm gì đó như nâng điện áp chân A0 lên mức 1, xuống mức 0 hay đơn giản nhất là hiển thị nội dung lên LCD hoặc gửi sms về nhận là đã nhận được tin.

        Comment


        • #19
          Nhìn hay ghê :-" PIC->MAX232->PL2303->MAX232->GSM Sao lại thích đi đường vòng thế nhỉ :-" Code bạn viết kiểu đó thì gửi 2 tin 1 cái là đơ luôn hoặc ko thì chỉ xử lý được 1 tin, viết thế này mà project nó lên khoảng 1k dòng lệnh thôi là mỗi lần edit hay dev là to đầu luôn T_T.
          Web:
          ->Nhận thiết kế, hoàn thiện dự án, sản phẩm điện tử<-
          -->Giải pháp GSM/GPRS/GPS - Công nghệ RFID<--

          Comment


          • #20
            Nguyên văn bởi demon52 Xem bài viết
            Nhìn hay ghê :-" PIC->MAX232->PL2303->MAX232->GSM Sao lại thích đi đường vòng thế nhỉ :-" Code bạn viết kiểu đó thì gửi 2 tin 1 cái là đơ luôn hoặc ko thì chỉ xử lý được 1 tin, viết thế này mà project nó lên khoảng 1k dòng lệnh thôi là mỗi lần edit hay dev là to đầu luôn T_T.
            Lạ kỳ cái bạn này.
            Sở dĩ làm 2 mạch, 1 mạch pic và 1 mạch sim là để sử dụng riêng biệt. Tôi có thể dùng mạch pic nhỏ gọn để làm nhiệm vụ khác chứ ko nhất thiết là chỉ là gắn sim900 và điều khiển sim thôi. Nếu một trong 2 cái hỏng thì chỉ cần làm lại 1 cái đó. Mạch Pic hỏng thì rẻ tiền ko sao. Sim900 mà hỏng, kèm theo đó bạn phải làm mạch mới và đương nhiên là cả pic nữa.

            Tôi chỉ nói code trên là code demo, còn code tôi sử dụng trong đồ án là dựa vào cái này. Thực tế mạch tôi đã làm đâu có gặp trở ngại gì về 1 hay 2 tin nhắn? 1k hay vài k cũng thế. Mình phải tùy từng trường hợp mà edit code và có phương pháp tối ưu nhất chứ.

            Comment


            • #21
              Cái cách viết code ấy bạn, cách viết phản ánh tất cả bạn à, còn mạch thì module Sim và PIC cần gì phải MAX232??? RX, TX của ModuleSIM chơi trực tiếp vào PIC được nhé! làm 1 cái cầu phân áp, đấu chung GND, thế là xong, mình làm project này rồi, mạch module SIM 0,3dm2, mạch PIC 0,2dm2. cả 2 mạch có 1/2dm2 vuông mà vẫn đủ các tính năng như của bạn.
              Web:
              ->Nhận thiết kế, hoàn thiện dự án, sản phẩm điện tử<-
              -->Giải pháp GSM/GPRS/GPS - Công nghệ RFID<--

              Comment


              • #22
                Nếu chung 1 module thì đấu chéo trực tiếp chân pic và chân sim thoải mái.
                Tôi cũng đã làm 1 mạch 2 lớp như thế rồi bạn à. Nhưng vấn đề như đã nói là nếu sim900 mà hỏng thì hệ lụy là cả mạch bỏ đi. Trước sim900 của tôi có hỏng nên mới làm module rời thế này. Và làm module rời này, để 2 mạch có thể giao tiếp với nhau thì dùng DB9 và phải làm max232 để giao tiếp.
                Mình có ý tốt, share tài liệu liên quan, code mẫu để mọi người test sim900. Nhưng một số người lấy lại tài liệu này và có rao bán trên mạng tính phí trong khi không hỏi ý kiến của mình. Vì vậy, mình xin ngừng việc share tài liệu này và đóng topic tại đây. Mọi người có thể liên hệ với mình qua email để trao đổi. Cảm ơn mọi người.

                Close topic

                Comment


                • #23
                  A Đại! e có viết lại hàm ngắt nhận và hàm tách chuỗi nhưa sau.
                  #INT_RDA
                  void ngat()
                  {

                  chuoi[i]=getc();
                  if(chuoi[i]=='\r')
                  {
                  x++;
                  if(x==5)sms=1;
                  }
                  i++;
                  clear_interrupt(int_rda);
                  }

                  void tachtin_sms()
                  {
                  int k,y,z;
                  for(i=0;i<=strlen(chuoi);i++)
                  {
                  if(chuoi[i]=='\n')
                  {
                  k++;
                  if(k==2)vitri=i+1;
                  }
                  }
                  for(z=vitri;z<strlen(chuoi)-8;z++)
                  {
                  noidung_sms[y]=chuoi[z];
                  }
                  }

                  nhưng nó vẫn k nhận được tin khi e gửi

                  Comment


                  • #24
                    Nguyên văn bởi mr_taivu Xem bài viết
                    A Đại! e có viết lại hàm ngắt nhận và hàm tách chuỗi nhưa sau.
                    #INT_RDA
                    void ngat()
                    {

                    chuoi[i]=getc();
                    if(chuoi[i]=='\r')
                    {
                    x++;
                    if(x==5)sms=1;
                    }
                    i++;
                    clear_interrupt(int_rda);
                    }

                    void tachtin_sms()
                    {
                    int k,y,z;
                    for(i=0;i<=strlen(chuoi);i++)
                    {
                    if(chuoi[i]=='\n')
                    {
                    k++;
                    if(k==2)vitri=i+1;
                    }
                    }
                    for(z=vitri;z<strlen(chuoi)-8;z++)
                    {
                    noidung_sms[y]=chuoi[z];
                    }
                    }

                    nhưng nó vẫn k nhận được tin khi e gửi
                    Ok, từ giờ có gì em cứ gửi vào email cho anh nhé. Vì giờ anh đi làm nên cũng ít có thời gian vào web, email thì đồng bộ với điện thoại nên check email 24/24
                    Vấn đề của em bị sai ở chỗ. Nếu cài đặt AT+CMNI=1,1,0,0,0 thì khi có sms về sẽ có dạng:
                    <CR><LF>+CMTI:"SM",1<CR><LF>
                    Chỉ có 2 <LF> nên đương nhiên đoạn code trên sẽ ko thể có sms=1 được vì số lần xuất hiện <LF> không đạt đến 5.
                    Nếu giả sử mà em dùng lệnh: AT+CMNI=2,2,0,0,0 thì khi có sms mới về thì có dạng:
                    <CR><LF>+CMT...... anh ko nhớ sau là cái gì. Vậy nếu chẳng may có lệnh nào đó, mà khi sim900 hồi đáp về vi điều khiển mà có lớn hơn 5 lần <LF> và ko phải là sms thì tức là em chỉ đếm 5 lần, và bỏ các ký tự <LF> đằng sau đi và coi nó là sms à? Như vậy là sai rồi.

                    Comment


                    • #25
                      Nguyên văn bởi minhtinh Xem bài viết
                      Chào các bạn. Mình cũng đang làm với Sim900, các lệnh mình viết trên asm nên không giúp được cho code C.
                      Mình thì gặp phải vấn đề với sim900 là ở chỗ nó chỉ hoạt động tốt với sim của Beeline, các sim khác như Vina thì chạy được 1 lúc thì tự động tắt mà không có cảnh báo gì, sim Viettel thì còn tệ hơn là rất khó khởi động (đèn status bật được 1 lúc, trong khi đèn Netlight đang báo dò mạng thì bị tắt), khởi động được cũng chỉ chạy được 1 lúc rồi tắt ngấm. Mình đã chạy thử với 2 cái sim900 rồi, như nhau cả. Bạn nào có kinh nghiệm chia sẻ với mình 1 chút được không? Rất cảm ơn các bạn.
                      Cái này nhiều khả năng là nguồn nuôi SIM900 của bạn chưa chuẩn. Khi module gsm hoạt động tối đa có thể cần dòng đến 2 ~ 3A, nếu bị sụt áp giai đoạn này có thể dẫn đến module tắt tự động. Cái này từ kinh nghiệm thực tế của mình.
                      ChipFC - -
                      Chuyên các sản phẩm hệ thống nhúng, điện tử: arduino, gsm, gps...

                      Comment


                      • #26
                        code demo e tải k dc anh ơi.cho e xin cái pass.em đang làm đồ án mong anh giúp đỡ.em cần tham khảo code demo của anh.
                        gửi qua mail e với: nohssiw1991@gmail.com
                        cảm ơn anh nhiều!!1

                        Comment


                        • #27
                          bác nào giúp em cái sơ đồ mạch về điều khiển giám sát nhiệt độ dùng SIm900 hay sim 300 gì đó với...em mới làm quen chưa có kinh nghiệm

                          Comment


                          • #28
                            ban co the cho minh code va schematic de tham khao duoc khong!
                            Email: baquyen89@gmail.com
                            Cam on nhieu!

                            Comment


                            • #29
                              Nguyên văn bởi demon52 Xem bài viết
                              Cái cách viết code ấy bạn, cách viết phản ánh tất cả bạn à, còn mạch thì module Sim và PIC cần gì phải MAX232??? RX, TX của ModuleSIM chơi trực tiếp vào PIC được nhé! làm 1 cái cầu phân áp, đấu chung GND, thế là xong, mình làm project này rồi, mạch module SIM 0,3dm2, mạch PIC 0,2dm2. cả 2 mạch có 1/2dm2 vuông mà vẫn đủ các tính năng như của bạn.
                              Đúng là em chỉ gửi tin nhắn đc 1 lần, lần 2 nó k nhận. Reset vẫn k nhận mới lạ chứ.?? . Rút nguồn cắm lại thì nhận. Anh có thể chỉ em code trên chưa hợp lý chỗ nào đc k ạ?
                              cảm ơn anh

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X