+ Trả lời Chủ đề
Trang 3 của 3 Đầu tiênĐầu tiên 123
Kết quả 21 đến 30 của 30

Chủ đề: [Help] Dự Án Định Vị GPS Cho Thiết Bị Dùng Sim 908 và MSP430!

  1. #21
    Member
    Ngày tham gia
    Jun 2012
    Giới tính
    Nam
    Bài viết
    93
    Thanks
    42
    Thanked 47 Times in 32 Posts
    Trích dẫn Gửi bởi luong9 Xem bài viết
    Bạn ơi, gửi qua GPRS thì cái dữ liệu đó mình xem trên server bằng cách nào z?
    Bạn phải biết lập trình socket bao gồm IP (địa chỉ của server trong mạng Internet) và port ( là cổng mà module sim của bạn gửi gói tin về ).
    Ví dụ server của bạn có địa chỉ IP là 113.44.22.114. Chú ý địa chỉ IP này là địa chỉ IP pulic. Khái niệm địa chỉ IP này bạn xem thêm ở đây. Trong đấy có chỉ cách cho bạn lấy địa chỉ IP pulic luôn

    Ở module sim bạn sẽ truyền địa chỉ gửi là 113.44.22.114 trên port 9050. Ở server bạn sẽ lập trình lắng nghe các gói tin trên port 9050. Tất cả là string và bóc tách dữ liệu GPS cần lấy. Cấu trúc gửi tin như thế nào thì tùy bạn.
    Có thể ví dụ 0xB5 0x62 Lat Long....
    2 byte đầu đề bạn biết xác định vị trí cần tách dữ liệu. 4 byte tiếp theo là Lat, 4 byte tiếp theo là Long. Có Lat Long rồi thì lại quay trở về bài toán trên google map.
    Lần sửa cuối bởi duyhung90, ngày 10-06-2013 lúc 05:55 PM.

  2. Những thành viên đã cảm ơn duyhung90 cho bài viết này:

    luong9 (10-06-2013)

  3. #22
    Authorized Members
    Ngày tham gia
    Apr 2012
    Giới tính
    Nam
    Đang ở
    HCMC
    Bài viết
    460
    Blog Entries
    1
    Thanks
    211
    Thanked 117 Times in 63 Posts
    Trích dẫn Gửi bởi duyhung90 Xem bài viết
    Bạn phải biết lập trình socket bao gồm IP (địa chỉ của server trong mạng Internet) và port ( là cổng mà module sim của bạn gửi gói tin về ).
    Ví dụ server của bạn có địa chỉ IP là 113.44.22.114. Chú ý địa chỉ IP này là địa chỉ IP pulic. Khái niệm địa chỉ IP này bạn xem thêm ở đây. Trong đấy có chỉ cách cho bạn lấy địa chỉ IP pulic luôn

    Ở module sim bạn sẽ truyền địa chỉ gửi là 113.44.22.114 trên port 9050. Ở server bạn sẽ lập trình lắng nghe các gói tin trên port 9050. Tất cả là string và bóc tách dữ liệu GPS cần lấy. Cấu trúc gửi tin như thế nào thì tùy bạn.
    Có thể ví dụ 0xB5 0x62 Lat Long....
    2 byte đầu đề bạn biết xác định vị trí cần tách dữ liệu. 4 byte tiếp theo là Lat, 4 byte tiếp theo là Long. Có Lat Long rồi thì lại quay trở về bài toán trên google map.
    Bạn nói có vẻ như hơi khó hiểu 1 tí. Bây giờ bạn có thể phát họa giúp mình cái hình để dễ hình dung được k bạn? Tks bạn nhiều lắm.
    EMAIL: luong5490spkt@gmail.com
    Phone: ★·.·´¯`·.·★ 0989.285.187 or 0122 407 46 21;★·.·´¯`·.·★
    Kết bạn với mình qua Facebook nhé :
    https://www.facebook.com/luong5490
    SITE: http://lkti.vn.ee/
    Chuyên cung cấp mạch nạp Launchpad MSP430 và Vi điều khiển MSP430.

  4. #23
    Member
    Ngày tham gia
    Jun 2012
    Giới tính
    Nam
    Bài viết
    93
    Thanks
    42
    Thanked 47 Times in 32 Posts
    Bạn chưa hiểu chỗ nào ?

  5. Những thành viên đã cảm ơn duyhung90 cho bài viết này:

    luong9 (11-06-2013)

  6. #24
    Authorized Members
    Ngày tham gia
    Apr 2012
    Giới tính
    Nam
    Đang ở
    HCMC
    Bài viết
    460
    Blog Entries
    1
    Thanks
    211
    Thanked 117 Times in 63 Posts
    Trích dẫn Gửi bởi duyhung90 Xem bài viết
    Bạn chưa hiểu chỗ nào ?
    Thanks bạn !
    1 số điểm chưa hiểu:

    1. VĐK giao tiếp SIM908 lấy xong GPS, sau đó gửi lên SERVER, vậy thì cần những điều kiện gì trong khi viết code? Gửi lên ntn vậy bạn?

    2. Làm sao bít SERVER nhận được dữ liệu hay k? Lấy dữ liệu đó hiển thị ntn? Nếu muốn bất cứ PC nào có mạng cũng xem được thì có bắt buộc phải viết giao diện không hay là chỉ cần gửi lên trên mạng là nó tự hiển thị?

    Mong bạn giúp mình hiểu hơn nhé. Tks again!
    EMAIL: luong5490spkt@gmail.com
    Phone: ★·.·´¯`·.·★ 0989.285.187 or 0122 407 46 21;★·.·´¯`·.·★
    Kết bạn với mình qua Facebook nhé :
    https://www.facebook.com/luong5490
    SITE: http://lkti.vn.ee/
    Chuyên cung cấp mạch nạp Launchpad MSP430 và Vi điều khiển MSP430.

  7. #25
    Member
    Ngày tham gia
    Jun 2012
    Giới tính
    Nam
    Bài viết
    93
    Thanks
    42
    Thanked 47 Times in 32 Posts
    Trích dẫn Gửi bởi luong9 Xem bài viết
    Thanks bạn !
    1 số điểm chưa hiểu:

    1. VĐK giao tiếp SIM908 lấy xong GPS, sau đó gửi lên SERVER, vậy thì cần những điều kiện gì trong khi viết code? Gửi lên ntn vậy bạn?

    2. Làm sao bít SERVER nhận được dữ liệu hay k? Lấy dữ liệu đó hiển thị ntn? Nếu muốn bất cứ PC nào có mạng cũng xem được thì có bắt buộc phải viết giao diện không hay là chỉ cần gửi lên trên mạng là nó tự hiển thị?

    Mong bạn giúp mình hiểu hơn nhé. Tks again!
    1. Mình đã trả lời ở trên, bạn sử dụng tập lệnh AT của sim 908. Các hàm nào cần sử dụng mình cũng đã nêu ra
    2. Mình ví dụ là bạn đang gửi trên port 9050, server sẽ chờ trên port đấy, nếu có dữ liệu thì sẽ có hàm báo cho bạn biết (code C#). Muốn hiển thị bạn phải code giao diện và socket trên C#.

    Mình thấy có rất nhiều khái niệm bạn chưa nắm rõ như IP, port, AT command, socket. Trước tiên bạn phải hiểu các khái niệm này thì mới có thể triển khai ứng dụng trên các công nghệ GSM/GPRS, 3G của các module sim được.

  8. The Following 2 Users Say Thank You to duyhung90 For This Useful Post:

    hanguyen92205 (11-06-2013),luong9 (12-06-2013)

  9. #26
    Authorized Members
    Ngày tham gia
    Apr 2012
    Giới tính
    Nam
    Đang ở
    HCMC
    Bài viết
    460
    Blog Entries
    1
    Thanks
    211
    Thanked 117 Times in 63 Posts
    Trích dẫn Gửi bởi duyhung90 Xem bài viết
    1. Mình đã trả lời ở trên, bạn sử dụng tập lệnh AT của sim 908. Các hàm nào cần sử dụng mình cũng đã nêu ra
    2. Mình ví dụ là bạn đang gửi trên port 9050, server sẽ chờ trên port đấy, nếu có dữ liệu thì sẽ có hàm báo cho bạn biết (code C#). Muốn hiển thị bạn phải code giao diện và socket trên C#.

    Mình thấy có rất nhiều khái niệm bạn chưa nắm rõ như IP, port, AT command, socket. Trước tiên bạn phải hiểu các khái niệm này thì mới có thể triển khai ứng dụng trên các công nghệ GSM/GPRS, 3G của các module sim được.
    Đúng như bạn nói thật sự mình k rành lắm về điện tử viễn thông vì mình là dân điện tử thôi.

    Mình sẽ bắt đầu tập code về SMS và CALL.

    Như mình biết, mình phải giao tiếp giữa MSP430 với SIM908 qua UART. Như vậy mình sẽ làm các bước như sau:
    1. Thiết lập MSP430 ở chế độ UART,
    2. Đưa dữ liệu cần truyền ở chế độ AT command xuống cho SIM908. ---> Bước này mình chưa làm được, mình không biết là gửi xuống UART cái lệnh AT kiểu nó thể nào? Ví dụ như muốn gửi SMS có nội dung Hello đến cho số 0989285187 thì mình cần khai báo các hằng số, mãng, lệnh gì nhỉ? Bạn có thể cho 1 cái Demo được k0?
    EMAIL: luong5490spkt@gmail.com
    Phone: ★·.·´¯`·.·★ 0989.285.187 or 0122 407 46 21;★·.·´¯`·.·★
    Kết bạn với mình qua Facebook nhé :
    https://www.facebook.com/luong5490
    SITE: http://lkti.vn.ee/
    Chuyên cung cấp mạch nạp Launchpad MSP430 và Vi điều khiển MSP430.

  10. #27
    Moderator
    Ngày tham gia
    Nov 2012
    Giới tính
    Nam
    Bài viết
    20
    Thanks
    17
    Thanked 8 Times in 5 Posts
    tham khảo tập lệnh AT của SIMCOM cho modulsim908. trong đó có đầy đủ hết
    Cập nhật link OrCAD ( setup, ebook, thư viện ) : https://docs.google.com/folder/d/0B9L4j2AHMDIQRTlWUHJUNTJJdGM/edit?usp=sharing

  11. #28
    Authorized Members
    Ngày tham gia
    Apr 2012
    Giới tính
    Nam
    Đang ở
    HCMC
    Bài viết
    460
    Blog Entries
    1
    Thanks
    211
    Thanked 117 Times in 63 Posts
    Các bạn ơi, mình mới mua 1 module SIM908 từ: http://at-sky.com.vn/san-pham/403-br...l#.UbmLxOTPQqN

    Các bạn hướng dẫn mình test cái module này với PC với, cái chân PWRKEY để khởi động sim mình mắc như thế nào nhỉ?



    Hình này trước cái chân PWRKEY mình cần có thêm cái gì nữa thì khởi động được sim z?
    EMAIL: luong5490spkt@gmail.com
    Phone: ★·.·´¯`·.·★ 0989.285.187 or 0122 407 46 21;★·.·´¯`·.·★
    Kết bạn với mình qua Facebook nhé :
    https://www.facebook.com/luong5490
    SITE: http://lkti.vn.ee/
    Chuyên cung cấp mạch nạp Launchpad MSP430 và Vi điều khiển MSP430.

  12. #29
    Authorized Members
    Ngày tham gia
    Apr 2012
    Giới tính
    Nam
    Đang ở
    HCMC
    Bài viết
    460
    Blog Entries
    1
    Thanks
    211
    Thanked 117 Times in 63 Posts
    Các bạn ơi, đây là code gọi điện với sim 908, mà sao code gọi điện của mình k được thực hiện vậy? Mình nạp xuống bằng LP vơi nút S2 nhấn thì gọi điện đến số của mình nhưng đợi mãi k thấy đâu.

    Có ai biết phải code lại ntn không chỉ mình với? Tks!

    P/s: Mình đã test kỹ giao tiếp sim908 với pc rồi. Mọi thứ vẫn good.


    PHP Code:
    #include<msp430g2452.h>
    #include "uart.c"
    //*******************dinh nghia bit************************
    union reg
    {    unsigned char _byte;            //khai bao 1byte
         
    struct bit 
           
    {            //dinh nghia bit trong byte vua khai bao
           
    unsigned char b0:1//bit 0 trong byte
           
    unsigned char b1:1//bit 1 trong byte
           
    unsigned char b2:1//bit 2 trong byte
           
    unsigned char b3:1//bit 3 trong byte
           
    unsigned char b4:1//bit 4 trong byte
           
    unsigned char b5:1//bit 5 trong byte
           
    unsigned char b6:1//bit 6 trong byte
           
    unsigned char b7:1//bit 7 trong byte
           
    _bit;
    };
    union regP2_dir=(union reg*)0x2a;  //khai bao dia chi o nho
    union regP2_out=(union reg*)0x29;
    union regP2_sel=(union reg*)0x2e;
    union regP2_in=(union reg*)0x28;

    union regP1_sel=(union reg*)0x26;
    union regP1_dir=(union reg*)0x22;  //khai bao dia chi o nho
    union regP1_out=(union reg*)0x21;
    union regP1_in=(union reg*)0x20;
    /////////////////               P2_out->_bit.b4
    typedef unsigned char uchar;
    void init_uart(unsigned long baudrate);

    void Uart_SendByte(int data);
    void Uart_putsf(char *input);

    void init_port(void);

    void GOIDIEN();
    uchar i;
      
    uchar SDT[11]={'0','9','8','9','2','8','5','1','8','7'};

    void mainvoid )
    {
    // Stop watchdog timer to prevent time out reset
      
    WDTCTL WDTPW WDTHOLD;
      
    BCSCTL1 CALBC1_1MHZ
      
    DCOCTL CALDCO_1MHZ;
      
            
    P1DIR &= ~BIT3;                                     // Push Port 1 P1.3 (push button) as input
            
            
    P1SEL &= ~(BIT3);                                       // Select Port 1 P1.3 (push button)
            
            
    P1REN |= BIT3;  
            
      
    P2DIR=0XFFP2SEL=0X00;  
      
    __delay_cycles(600000);
      
    init_port();
      
    init_uart(9600);
      
    __bis_SR_register(GIE);  



      

      
      while(
    1
      {    
        
    if(
    P1_in->_bit.b3 == 0)
    {
    doinha2:
      if(
    P1_in->_bit.b3 == 0){goto doinha2; }
      
        { 
        
    GOIDIEN(); 
        }  
    }   


      }


    }
    //  Echo back RXed character, confirm TX buffer is ready first
    #pragma vector=USCIAB0RX_VECTOR
    __interrupt void USCI0RX_ISR(void)
    {
      while (!(
    IFG2&UCA0TXIFG));                // USCI_A0 TX buffer ready?
      
    {


      }
    }

    void init_port(void)
    {
            
    P1DIR|=0x78;
            
    P1SEL&=0x87;
    }


    void GOIDIEN()
    {
    //Truyen UART 
       
      
    Uart_SendByte('a');
      
    Uart_SendByte('t');
      
    Uart_SendByte('d');

    Uart_SendByte('0');
    Uart_SendByte('9');
    Uart_SendByte('8');
    Uart_SendByte('9');
    Uart_SendByte('2');
    Uart_SendByte('8');
    Uart_SendByte('5');
    Uart_SendByte('1');
    Uart_SendByte('8');
    Uart_SendByte('7');


      
    Uart_SendByte(';');

    // Mã enter ghi vậy có đúng k các bạn?
    Uart_SendByte('1');
    Uart_SendByte('3');



    void init_uart(unsigned long baudrate)
    {
      
    P1SEL |=0X06;// THIET LAP P1.1 VA P1.2 CHO CHE DO UART , P1.1:UTXD P1.2:URXD
      
    P1SEL2 |=0X06;
      
    UCA0CTL1 |= UCSSEL_2;  
    //LUA CHON TO DO BAUD
      
    switch(baudrate)
      {
        case 
    1200
      
    UCA0BR0 65;                            // 1MHz 1200
      
    UCA0BR1 3;                             
        break;
        case 
    2400
      
    UCA0BR0 161;                            // 1MHz 2400
      
    UCA0BR1 1;                            
        break;
        case 
    4800:
      
    UCA0BR0 208;                            // 1MHz 4800
      
    UCA0BR1 0;                            
        break;
        case 
    9600
      
    UCA0BR0 104;                            // 1MHz 9600
      
    UCA0BR1 0;                             
        break;
        case 
    19200
      
    UCA0BR0 52;                            // 1MHz 19200
      
    UCA0BR1 0;                             
        break;
        case 
    38400
      
    UCA0BR0 26;                            // 1MHz 38400
      
    UCA0BR1 0;                            
        break;
        case 
    76800
      
    UCA0BR0 13;                            // 1MHz 76800
      
    UCA0BR1 0;                              
        break;
        case 
    115200:
      
    UCA0BR0 9;                            // 1MHz 115200
      
    UCA0BR1 0;                             
        break;
        default: 

        break;
      }
      
    UCA0MCTL UCBRS0;                        
      
    UCA0CTL1 &= ~UCSWRST;               
      
    IE2 |= UCA0RXIE;                          // CHO PHEP NGAT
    }
    void Uart_SendByte(int data)// GUI BYTE DU LIEU BANG UART
    {
      while(!(
    IFG2&UCA0TXIFG));// CHO DEN KHI TRUYEN SAN SANG
      
    UCA0TXBUF=data;//GHI DU LIEU VAO BO DEM TRUYEN NOI TIEP
    }

    void Uart_putsf(char *input)   // ham gui di 1 chuoi
    {
       
    int i__;
       for(
    i__=0;input[i__]!=0;i__++) Uart_SendByte(input[i__]);
    }

      

    EMAIL: luong5490spkt@gmail.com
    Phone: ★·.·´¯`·.·★ 0989.285.187 or 0122 407 46 21;★·.·´¯`·.·★
    Kết bạn với mình qua Facebook nhé :
    https://www.facebook.com/luong5490
    SITE: http://lkti.vn.ee/
    Chuyên cung cấp mạch nạp Launchpad MSP430 và Vi điều khiển MSP430.

  13. #30
    Junior Member
    Ngày tham gia
    Aug 2013
    Giới tính
    Nam
    Bài viết
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts
    // Mã enter ghi vậy có đúng k các bạn?
    Uart_SendByte('1');
    Uart_SendByte('3');


    2 cái lệnh này bạn thay bằng

    Uart_SendByte(13);

+ Trả lời Chủ đề
Trang 3 của 3 Đầu tiênĐầu tiên 123

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình