Using the FOXGM board

The FOXGM is discontinued. A new version called FOXGM2 will be available very soon.

FOXGM is an extension board designed for the FOX Board LX but it is fully compatible also with the new FOX Board G20. This guide illustrates how to getting start with it.

The picture below shows some parts that must not be mounted when using on the FOXGM the FOX Board G20 instead of FOX Board LX832. These parts are:

  • The backup battery of the real time clock. The RTC is integrated on the FOX Board G20
  • The SD card. A microSD socket is available on the FOX Board G20.

Assembly photo guide

Insert the Telit GSM modem on its placement:

On the other side weld at least four of the metallic anchor terminals to the PCB:

Place two pinstrips (Code STRIPM2X206MM) on the FOXGM black sockets:

Place the FOX Board G20 and weld all the J6 and J7 pads:

Verify that the pin strip are fully inserted before weld:

Plug-in the MMCX to FME cable and the MMCX to SMA cable (if you are using a Telit GM862-GPS modem):

Insert the SIM card to the SIM holder on the Telit GM862:

Link the the GSM and GPS antenna:

Insert on the FOX Board G20 the Linux microSD, the LAN cable and the power supply cable. The Red power led on the FOXGM (L6) and the green power led on the FOX (3V3) will turn-on.

Now you are ready to turn-on all and do the first test with Telit modem.

If you are not using the DPI interface on the FOX Debug Port discover its IP address of your board.

Modem power on

At startup the Telit modem is off. FOX Board uses two line to turn-on it:

  • Telit ON signal on FOX pin J6.37. This pin is used to turn on the modem. The normal state is low. A 1 second long pulse at 1 will turn-on or turn-off the modem. The state of this signal is inverted compared with the Telit datasheet.
  • Telit RESET signal on FOX pin J6.38. This pin is used to reset the modem logic. The normal state is low. A 1 second long pulse at 1 will reset the modem. The state of this signal is inverted compared with the Telit datasheet.

The following source in Python shows how turn-on the modem:

#!/usr/bin/python 
 
import time
import fox
 
print "Telit ON/OFF"
 
telitON = fox.Pin('J6.37','low')
telitRESET = fox.Pin('J6.38','low')
 
telitON.on()
time.sleep(1)
telitON.off()

Save this file in telit.py.

If you don't have Python pre-installed read this article. It need also the fox.py module installable typing:

debarm:/# wget http://foxg20.acmesystems.it/download/examples/fox.py

Run the example type:

debarm:/# python telit.py

The L3 red led shown below will turn-on immediately and will start to blink.

This led is managed directly by the Telit CPU and indicates its internal state.

Sending AT commands to the modem

When the modem is on you can use AT command to comunicate with it. The serial port used if the /dev/ttyS1.

The easiest way to send command is using the serial terminal emulator minicom.

Run minicom typing:

debarm:/# minicom -s

The option -s is to have access directly to the configuration menu:

            +-----[configuration]------+
            | Filenames and paths      |
            | File transfer protocols  |
            | Serial port setup        |
            | Modem and dialing        |
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------+

Select Serial port setup then type A and insert the serial device /dev/ttyS1:

    +-----------------------------------------------------------------------+
    | A -    Serial Device      : /dev/ttyS1                                |
    | B - Lockfile Location     : /var/lock                                 |
    | C -   Callin Program      :                                           |
    | D -  Callout Program      :                                           |
    | E -    Bps/Par/Bits       : 115200 8N1                                |
    | F - Hardware Flow Control : Yes                                       |
    | G - Software Flow Control : No                                        |
    |                                                                       |
    |    Change which setting?                                              |
    +-----------------------------------------------------------------------+
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------+

Save the configuration using Save setup as dfl. Then select Exit.

Now type:

at<enter>
OK

to see the OK answer from the modem.

Now refer to the Telit Modules Software User Guide PDF document available here to discover the huge set of AT commands available on this modem.

Users leds

Other two red leds are available for users purpose on the FOXGM: L4 and L5

  • L4 led is wired on FOX pin J7.15.
  • L5 led is wired on FOX pin J7.12.

This is an example to blink them.

#!/usr/bin/python
 
import time
import fox
 
# Blink forever leds L4 and L5 on the FOXGM
 
ledL4 = fox.pin('J7.15','low')
ledL5 = fox.pin('J7.12','low')
 
while True:
	time.sleep(1)
	ledL4.on()
	ledL5.on()
	time.sleep(1)
	ledL4.off()
	ledL5.off()

Read GPS data from the NMEA ports

On the telit GM862-GPS is available a serial port reserved for the GPS data in NMEA format. This port is wired on /dev/ttyS2 serial port. To take a look to this data open a new terminal session with the FOX board. Run minicom -s and set the serial porto to /dev/ttyS2, No Hardware Flow COntrol and 4800 baud rate:

    +-----------------------------------------------------------------------+
    | A -    Serial Device      : /dev/ttyS2                                |
    | B - Lockfile Location     : /var/lock                                 |
    | C -   Callin Program      :                                           |
    | D -  Callout Program      :                                           |
    | E -    Bps/Par/Bits       : 4800 8N1                                  |
    | F - Hardware Flow Control : No                                        |
    | G - Software Flow Control : No                                        |
    |                                                                       |
    |    Change which setting?                                              |
    +-----------------------------------------------------------------------+
            | Screen and keyboard      |                    
            | Save setup as dfl        |                    
            | Save setup as..          |                    
            | Exit                     |                    
            | Exit from Minicom        |                    
            +--------------------------+                    

Exit and see the NMEA data flow on your terminal:

$GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78                    
$GPRMC,001441.034,V,,,,,,,291006,,,N*46                                         
$GPGGA,001442.040,,,,,0,00,,,M,0.0,M,,0000*51                                   
$GPGSA,A,1,,,,,,,,,,,,,,,*1E                                                    
$GPRMC,001442.040,V,,,,,,,291006,,,N*46                                         
$GPGGA,001443.032,,,,,0,00,,,M,0.0,M,,0000*55                                   
$GPGSA,A,1,,,,,,,,,,,,,,,*1E                                                    
$GPRMC,001443.032,V,,,,,,,291006,,,N*42                                         
$GPGGA,001444.031,,,,,0,00,,,M,0.0,M,,0000*51                                   
$GPGSA,A,1,,,,,,,,,,,,,,,*1E                                                    
$GPRMC,001444.031,V,,,,,,,291006,,,N*46                                         
$GPGGA,001445.040,,,,,0,00,,,M,0.0,M,,0000*56                                   
$GPGSA,A,1,,,,,,,,,,,,,,,*1E                                                    
$GPRMC,001445.040,V,,,,,,,291006,,,N*41                                         
$GPGGA,001446.032,,,,,0,00,,,M,0.0,M,,0000*50                                   
$GPGSA,A,1,,,,,,,,,,,,,,,*1E                                                    
$GPGSV,3,1,12,20,00,000,,10,00,000,,31,00,000,,27,00,000,*7C                    
$GPGSV,3,2,12,19,00,000,,07,00,000,,04,00,000,,24,00,000,*76                    
$GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78                    
$GPRMC,001446.032,V,,,,,,,291006,,,N*47                                         
$GPGGA,001447.032,,,,,0,00,,,M,0.0,M,,0000*51                                   
$GPGSA,A,1,,,,,,,,,,,,,,,*1E                                                    
$GPRMC,001447.032,V,,,,,,,291006,,,N*46      

Links

 
tutorial/foxgm.txt · Last modified: 2010/08/26 12:20 by tanzox
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki