GSM/GPRS - GPS

Google Map positioning via SMS using the STM32F1 Easy + Quectel M95 (GSM) + Ublox MAX-7c (GPS)

     This article instructs users to implement location coordinates via SMS and display them to Google Map using STM32F1 Easy, GSM/GPRS M95 Easy and GPS Max 7C Easy of AT-COM. Users can "Plug and Play" thanks to the flexibility of ATCBus on each product.

     1. Introduction of STM32F1 Easy


    STM32F1 Easy is designed product by AT-COM that gives users the conveniences when combining between ATCBus with the microcontroller family is ARM 32-bit Cortex ™ -M3 CPU Core. The board is equipped with an STM32F107RCT6 microcontroller with 256KB Flash, 20 Kbytes SRAM, processing speed up to 72MHz. The board supports to connect with the computer via USB Full Speed v2.0, with a USB HID Bootloader that allows users to directly load the firmware to the microcontroller without any other programming kit. In addition, the Dual ATCBus Host Socket design maximizes the microcontroller's resources with SPI, UART, I2C, PWM, and so on. It meets the requirements of programmers who deploy applications like GSM, GPRS, GPS, Wifi, Ethernet, USB, CAN, PWM ... 

     2. Introduction of GPS Max 7C Easy

 

   MAX-7C is a GPS module from Ublox. With the special features of Ublox 7 multi - GNSS (GPS, GLONASS, Galileo, QZSS and SBAS). The MAX-7 series offers high accuracy and sensitivity while the system is maintained by low power. The MAX-7C is optimized for high-sensitivity positioning applications that are cost-competitive.

    MAX-7C, with its compact size (10.1x9.7x2.5mm), high precision and sensitivity, MAX-7C is perfectly suitable for a broad range of M2M applications such as portable device, automotive, personal tracking, security and industrial PDA, especially suitable for special applications, like GPS mouse and OBD.

 

 

     Wishing to bring the superior features of the MAX-7C module to the user, AT-COM designs and delivers the GPS MAX-7 Easy product to take advantage of the ability of the MAX-7 c additional features and Add-ons such as: 3V3 and 5V interfaces, patch antenna integrated on board, steady status indicator Led, battery back up. In addition to its compact size, handy data output, GPS MAX-7 Easy will bring you the most modern and sophisticated design inspiration.

     3. The application to locate the coordinates via SMS and show up Google Map

     To implement the application we perform the following steps:

     Step 1: prepare

        • Hardware:

                               + STM32F1 Easy board.

                               + GSM/GPRS M95 Easy board.

                               + GPS Max 7C Easy board.

                               + Android phone has installed Google Map software and SMS2Map software .

        • Software: 

                               + USB HID Bootloader .            

                               + SMS2Map .

     Step 2: Connect the hardware

      Select I/O Level on GSM/GPRS M95 Easy and GPS Max 7C Easy at 3V3.

      Insert SIM card into GSM/GPRS M95 Easy then connect GSM/GPRS M95 Easy to ATC Bus Socket 1 and GPS Max 7C Easy to ATC Bus Socket 2 of STM32F1 Easy.

     Step 3: Load the application code for STM32F1 Easy

       Source code presented in the article uses the Keil ARM compiler for the STM32F107RCT6 microcontroller. The code is written in the USB HID Bootloader of STM32F1 Easy. Can Download source code for STM32F1 Easy ( STM32F1_M95_Max7c Easy demo code ).

      After downloading the code to the computer, the code needs to be edited and recompiled with Keil ARM software.

      After unzipping, we open the STM32F1_M95_Max7c_Easy.uvproj file, the file is in the path: ...\STM32F1_M95_Max7c_Easy\Project\RVMDK. Proceed to revise the phone number in the code to the board sent the coordinates message.

       Then we modify password of the board.

      We proceed to compile the program: Project -> Translate

      Next we create the executable file: Project -> Build target

     To load code for STM32F1 Easy we use the USB HID Bootloader software , download the software in the product STM32F1 Easy, after download to the computer, extract the winrar file and click on the USB HID Bootloader.exe file to run the USB Bootloader program on the computer. 

     After opening the USB HID Bootloader program, you connect the STM32F1 Easy board to your PC via mini USB, within 5 seconds you press the Connect button to bring the microcontroller into Bootloader mode. If you do not press the Connect button within 5 seconds , the microcontroller will run into the previous application loaded, then press the RESET button on the STM32F1 Easy board to reboot the system. 

 

   When the USB HID Bootloader software and STM32F1 Easy connect successfully, you click Browse and select the path to where the file archive .hex.

 

      File .hex is in the path: ...\STM32F1_M95_Max7c_Easy\Project\RVMDK\Obj

      After selecting the file to load .hex, you click Open to load the program file.

 

      Then click Download to load the program into the microcontroller.

 

       When the program is loaded successfully, the software will automatically reset the microcontroller and run the loaded application. 

 

      Step 4: Implement Control to get coordinates and display to Google Map

      Once the system has finished booting, the system will automatically send a notification message to the user's phone number (the phone number is changed in step 3).

 

        When system startup is complete, we can get the coordinates of the system in two methods:

          Method 1: Press the SW1 button on the STM32F1 Easy board , the system sends the message containing the link coordinates.

       The system returns the message containing the coordinates.

 

      Method 2: Messaging SMS with the following syntax to get coordinates:

                                                                                  #position‹distance›‹password›. 

    After receiving the correct syntax message, the system returns the message with the link coordinates.

 

       The user click on the link in the message to display on the map, we are positioned as follows:

 

     * Use SMS2Map software to display the location of the system

        + Install SMS2Map software to your phone.

        + Open SMS2Map on your phone then you can press SW1 button on STM32F1 Easy or messaging to get coordinates to phone by syntax:

                                                                                     #position‹distance›‹password›.

        + When the message contains the coordinates sent to the user's phone number, SMS2Map will automatically display the location on the map of the software.

  

      When the user clicks on a location on the map, the software displays the address of the current system.


 

 

Related

Reading RFID tags ISO15693 13.56 MHz using STM32F1 + CR95HF Easy export data out UART and LCD

The application combines STM32F1 Easy and CR95HF Easy of AT-COM.

Read RFID tag 13.56MHz ISO15693 displays LCD using Arduino UNO + ST CR95HF

The aplication combine products CR95HF Easy + Arduino UNO Easy SHIELD of AT-COM and Arduino UNO R3 board.