UDP NMEA-GPS broadcast simulator (Win)

Listing of SIMULATOR-UDP-NMEA/udp-send-NMEA.py. Download by right clicking here

    1 #-----------------------------------------------
    2 # NMEA UDP broadcast simulator
    3 # Send nav data as UDP broadcast telegrams
    4 # Three sentences used: $GPGGA, $GPVTG, $GPRMC
    5 # O. Meyer, Univ. of Bergen, Norway
    6 # email: ole.meyer@geo.uib.no
    7 #-----------------------------------------------
    8 
    9 import socket
   10 import urllib2, time
   11 import winsound
   12 
   13 # Constants
   14 GPS_UDP_PORT = 5000
   15 WEATHER_UDP_PORT = 5020
   16 
   17 # Open GPS NMEA UDP socket
   18 gps_target_adr = ('<broadcast>', GPS_UDP_PORT)
   19 gps_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
   20 gps_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
   21 
   22 while True:
   23     now = time.localtime()
   24     current_date = time.strftime("%d%m%y", now)
   25     current_time = time.strftime("%H%M%S", now)
   26 
   27     nmea_GPGGA = "$GPGGA," + current_time + ",6059.9999,N,00559.9999,E,1,5,1.5,30.8,50.4,,,*FF\n"
   28     nmea_GPVTG = "$GPVTG,359,T,355,M,012.5,N,0001.5,K,A\n"
   29     nmea_GPRMC = "$GPRMC," + current_time + ",A,6059.9999,N,00559.9999,E,0001.5,359.9," + current_date + ",,,*FF\n"
   30 
   31     gps_socket.sendto(nmea_GPRMC, gps_target_adr,)
   32     print nmea_GPRMC,
   33     gps_socket.sendto(nmea_GPGGA, gps_target_adr,)
   34     print nmea_GPGGA,
   35     gps_socket.sendto(nmea_GPVTG, gps_target_adr,)
   36     print nmea_GPVTG,
   37 
   38     #print "Now send data to server via http request ..."
   39     #f = urllib2.urlopen(url='http://www2.geo.uib.no/Pedersen-2005/Sars/nav/read.php?data=$PSHMES,Sars,160705,091130')
   40     #req = urllib2.Request(url='http://www2.geo.uib.no/Pedersen-2005/Sars/nav/read.php',data='hei')
   41     time.sleep(1)
   42 
   43 

Please send bug reports or comments to ole.meyer at geo.uib.no.

 


University of Bergen
Dept. of Earth Science (IFG)
Allé gt. 41, N-5007 Bergen, Norway
Tel: (+47) 5558 3600