Example #1
0
from quicksms.sms.models import Incoming,Outgoing,Pull 
import pygsm
from datetime import datetime

modem = pygsm.GsmModem(port="/dev/ttyUSB1", baudrate=115200)

print "loaded modem"

while True:
    # check for new messages
    msg = modem.next_message()
    
    while msg:
        print msg
	i = Incoming()
        i.message = msg.text
        i.date_queued = datetime.now()
        i.date_sent = None
        i.sender = msg.sender
        i.save()
        
	
        #import code; code.interact(local=locals())
        
    # get all the data the incoming messages that haven't been sent to the ec2

    
        
    #url_file = urllib2.urlopen("http://haiti.opensgi.net/mednet/api/0.1/rest/outsms/")
    #json = url_file.read()
Example #2
0
        # If there are messages available at the GPRS modem, receive them
        # and put them in the incoming queue
        while(True):
            try:
                pygsm_msg = modem.next_message()
            except serial.serialutil.SerialException, e:
                # Raise these and crash the program. Something external
                # should restart it.
                print str(e)
                raise serial.serialutil.SerialException(e)
    
            if(pygsm_msg == None):
                # No messages are available. break.
                break

            msg = Incoming()
            msg.sender = pygsm_msg.sender    # string, sending phone number
            msg.message = pygsm_msg.text     # string, actual message
            msg.date_sent = pygsm_msg.sent   # datetime object, reported by modem
            msg.date_queued = datetime.now()
            #pygsm_msg.device    # string, device that received the SMS
            msg.save()

        # If there are incoming messages to be pushed (i.e. POST) to the EC2
        # instance, identify those messages from the incoming queue, pickle them
        # urlencode (NOT to json), and POST (with mime-type as JSON).  Yeah, this
        # last part is weird.

        #### POST incoming SMS to EC2 ####
        print "Posting incoming messages to EC2"