Bài viết hướng dẫn người sử dụng thực hiện ứng dụng định vị tọa độ qua tin nhắn SMS và hiển thị lên Google Map sử dụng sản phẩm STM32F1 Easy, GSM/GPRS M95 Easy và GPS Max 7C Easy của AT-COM. Người sử dụng có thể "Plug and Play" nhờ sự linh hoạt của ATCBus trên từng sản phẩm.

     1. Giới thiệu STM32F1 Easy


      STM32F1 Easy là một sản phẩm do AT-COM thiết kế mang đến cho người dùng những tiện ích kết hợp giữa ATCBus với dòng vi điều khiển ARM 32-bit Cortex™-M3 CPU Core. Board được tích hợp vi điều khiển STM32F107RCT6 với 256KB Flash, 20 Kbytes SRAM, tốc độ xử lý tối đa 72MHz. Board hỗ trợ kết nối máy tính với USB Full Speed v2.0, với USB HID Bootloader cho phép người dùng nạp firmware trực tiếp cho vi điều khiển mà không cần bất kì một mạch nạp nào khác. Bên cạnh đó, với thiết kế Dual ATCBus Host Socket phát huy tối đa tài nguyên của vi điều khiển với các nhóm chân SPI, UART, I2C, PWM,…đáp ứng được những yêu cầu của người lập trình triển khai các ứng dụng như GSM, GPRS, GPS, Wifi, Ethernet, USB, CAN, PWM…. Hãy trải nghiệm STM32F1 Easy để cảm nhận được những tiện ích “Plug and Play” mà Easy Boards mang lại.

     2. Giới thiệu GPS Max 7C Easy

  Module Max 7C là một module GPS của hãng u – blox. Với những tính năng đặc biệt của u – blox 7 multi – GNSS ( GPS , GLONASS , Galileo , QZSS và SBAS ). Dòng Max – 7 cho độ chính xác và độ nhạy cao trong khi hệ thống được duy trì bởi điện năng thấp. Max 7C được tối ưu hóa cho các ứng dụng định vị cần độ nhạy cao mà giá thành thì rất cạnh tranh.

   Max 7C với kích thước nhỏ gọn (10.1x9.7x2.5mm),  độ chính xác và độ nhạy cao hoàn toàn phù hợp với các ứng dụng M2M như thiết bị di động, ô tô, giám sát cá nhân, an ninh và PDA công nghiệp, đặc biệt thích hợp cho các ứng dụng đặc biệt, giống như chuột GPS và OBD.

    Với mong muốn mang những tính năng ưu việt của module Max 7C đến với người dùng, AT-COM thiết kế và mang đến sản phẩm GPS Max 7C Easy tận dụng được khả năng của Max 7C và bổ sung những tính năng tiện ích như: giao tiếp được mức điện áp 3V3 và 5V, Anten GPS tích hợp sẵn trên board, Led báo trạng thái vị trí ổn định, Battery back up. Bên cạnh đó, với kích thước nhỏ gọn, ngõ ra dữ liệu tiện dụng, GPS Max 7C Easy sẽ mang đến những cảm hứng thiết kế hiện đại và tinh tế nhất.

     3. Ứng dụng định vị tọa độ qua SMS và hiển thị lên Google Map

     Để thực hiện ứng dụng ta thực hiện các bước sau:

     Bước 1: chuẩn bị

        •   Phần cứng:

                               + Board STM32F1 Easy.

                               + Board GSM/GPRS M95 Easy.

                               + Board GPS Max 7C Easy.

                               + Điện thoại sử dụng hệ điều hành Android đã cài đặt phần mềm bản đồ Google Map và phần mềm SMS2Map.

        •   Phần mềm: 

                               + USB HID Bootloader.            

                               + SMS2Map.

     Bước 2: Kết nối phần cứng

      Chọn I/O Level trên GSM/GPRS M95 Easy và GPS Max 7C Easy ở vị trí 3V3.

      Gắn thẻ Sim vào GSM/GPRS M95 Easy sau đó kết nối GSM/GPRS M95 Easy vào ATC Bus Socket 1 và GPS Max 7C Easy vào ATC Bus Socket 2 của STM32F1 Easy.

     Bước 3: Nạp Code ứng dụng cho STM32F1 Easy

      Source code STM32F1 Easy trình bày trong bài viết sử dụng trình biên dịch Keil ARM cho vi điều khiển STM32F107RCT6. Code được viết theo USB HID Bootloader của STM32F1 Easy. Có thể download source code trong sản phẩm STM32F1 Easy ( STM32F1_M95_Max7c Easy demo code).

      Code sau khi download về máy tính cần được chỉnh sửa và biên dịch lại bằng phần mềm Keil ARM.

      Sau khi giải nén, ta mở file STM32F1_M95_Max7c_Easy.uvproj lên, file nằm trong đường dẫn: …\STM32F1_M95_Max7c_Easy\Project\RVMDK. Tiến hành sửa lại số điện thoại trong code để board gửi tin nhắn tọa độ.

       Sau đó ta sửa lại password của board.

      Ta tiến hành biên dịch chương trình: Project --> Translate

      Tiếp theo ta tạo các file thực thi: Project --> Build target

       Để nạp code cho STM32F1 Easy ta sử dụng phần mềm USB HID Bootloader, Download phần mềm trong sản phẩm STM32F1 Easy, sau khi download về máy tính, giải nén file winrar và nhấp vào file USB HID Bootloader.exe để chạy chương trình USB Bootloader trên máy tính. 

      Sau khi mở chương trình USB HID Bootloader, bạn kết nối board STM32F1 Easy với máy tính qua cổng USB mini, trong vòng 5 giây bạn nhấn nút Connect để đưa vi điều khiển vào chế độ Bootloader. Nếu trong 5 giây bạn không nhấn nút Connect thì vi điều khiển sẽ chạy vào chương trình ứng dụng trước đó đã được nạp vào, khi đó bạn nhấn nút RESET trên board STM32F1 Easy đề vào lại chế độ Bootloader. 

 

      Khi phần mềm USB HID Bootloader và Board STM32F1 Easy kết nối thành công, bạn nhấp vào Browse và chọn đường dẫn đến nơi lưu trữ file .hex.

  

      File .hex nằm trong đường dẫn: …\STM32F1_M95_Max7c_Easy\Project\RVMDK\Obj

      Sau khi chọn file .hex cần nạp, bạn nhấp vào Open để chương trình load file.

 

      Sau đó nhấp chọn Download để phần mềm nạp chương trình vào vi điều khiển.

 

       Khi nạp chương trình thành công, phần mềm sẽ tự động Reset vi điều khiển và chạy chương trình ứng dụng đã được nạp. 

 

      Bước 4: Thực hiện Điều khiển lấy tọa độ và hiển thị lên Google Map

      Sau khi hệ thống khởi động xong thì hệ thống sẽ tự động gởi tin nhắn thông báo đến số điện thoại người dùng ( số điện thoại được thay đổi ở bước 3 ).

 

        Khi hệ thống khởi động hoàn tất thì ta có thể lấy tọa độ của hệ thống bằng 2 cách:

          Cách 1: Nhấn nút SW1 trên board STM32F1 Easy, hệ thống sẽ gởi tin nhắn chứa đường link tọa độ.

       Hệ thống trả về tin nhắn chứa tọa độ

 

      Cách 2: Nhắn tin SMS với cú pháp như sau để lấy tọa độ:

 

    Sau khi nhận được tin nhắn đúng cú pháp thì hệ thống trả về tin nhắn có link tọa độ

 

       Người dùng click vào đường link trong tin nhắn để hiển thị lên bản đồ, ta được vị trí như sau:

 

     * Sử dụng phần mềm SMS2Map để hiển thị vị trí của hệ thống

        + Cài đặt phần mềm SMS2Map vào điện thoại.

        + Mở SMS2Map trên điện thoại lên sau đó ta có thể nhấn nút SW1 trên STM32F1 Easy hoặc nhắn tin để lấy tọa độ về điện thoại theo cú pháp:

        + Khi tin nhắn chứa tọa độ được gửi tới số điện thoại người dùng thì SMS2Map sẽ tự động hiển thị vị trí lên bản đồ của phần mềm.

  

      Khi người dùng click vào vị trí trên bản đồ, phần mềm sẽ hiển thị được địa chỉ của hệ thống hiện tại.