[Tutor] Seismometer alarm Python

Alan Gauld alan.gauld at btinternet.com
Sat Jan 3 22:07:16 CET 2015

On 03/01/15 19:19, Ted wrote:
> Alan Thank you so much for the reply,  attached is a screenshot of a 
> 4.9M earthquake in Challis Idaho, about 150 miles north.
> this is what I need the alarm for.
> I am using Python 2.7? and Windows 7.
> 1.  Should I reply-all, or ok to you?  or either?

ReplyAll please, that way you get responses from everyone not just me.
And that's a very good thing, trust me! :-)

3.  The data is coming from a serial port from an arduino........and I 
think this is a "string"

Yes, in Python2 it will be, in Python 3 it will be a bytestring
but you can ignore that for now! :-)

 > I think I need to see it as an (int)?   But I don't know how.
 > As you can see here is where I placed that.
 > myData = int (arduinoSerialData.readline())

Thats exactly correct. int() converts the string to a number.

 > I want to add an IF as you can see below, and this seems to work,
 > but I am not sure I am seeing  (int), because the numbers don't seem 

Tell us what you see and what you expect.

> The good news, is I do see the data in python, either a string or int???
> The good news, is I can play the sound file as it is below.
Great, we'll look at it in more detail.

> import serial #Import Serial Library
> import time   # Slows the print
> import winsound
> arduinoSerialData = serial.Serial('com7', 9600) #Create Serial port 
> object called arduinoSerialData # Don't change this.
> myData = (arduinoSerialData.readline())
> What happens if you print myData here?
> while (1==1):


while True:

instead of the equality test.

 >        myData = int (arduinoSerialData.readline())
 >       if myData >33500:
>            print(arduinoSerialData.readline())

Note this is printing the next thing from Arduino but not storing it 
You are throwing it away...

>            time.sleep(1) #Slows to 1000ms
>            soundfile = "c:\Windows\Media\Alarms\Alarm.wav"#Song/Track 
> to play(MUST be wav)

Windows paths can be troublesome due to the \ characters
which Python treats as special, you should prefix them with r
to tell Python to ignore the \

soundfile = r"c:\Windows\Media\Alarms\Alarm.wav"

Alternatively use Unix style / instead:

soundfile = "c:/Windows/Media/Alarms/Alarm.wav"

Alan G
Author of the Learn to Program web site
Follow my photo-blog on Flickr at:

More information about the Tutor mailing list