add serial port reading
add serial port reading

file:a/.gitmodules (deleted)
[submodule "pynma"]  
path = pynma  
url = git://github.com/uskr/pynma.git  
 
file:b/README.txt (new)
  ffmpeg from http://ffmpeg.zeranoe.com/builds/
directory:a/pynma (deleted)
 
file:a/scannr.py -> file:b/scannr.py
  import logging
  logging.basicConfig(level=logging.DEBUG,
  format='%(asctime)s\t%(levelname)s\t%(message)s')
   
import snd import snd
import time import time
from datetime import date from datetime import date
import threading import threading
from pydispatch import dispatcher from pydispatch import dispatcher
import wave import wave
import psycopg2 import serial
import sys,os #python -m serial.tools.miniterm -p COM20 -e -b 115200 --cr
   
   
sys.path.insert(0, os.path.join(os.path.dirname(__file__) or '.', 'pynma'))  
import pynma  
   
filename = "demo.wav" filename = "demo.wav"
nma = pynma.PyNMA( "apikey(s)", "developerkey") MIN_LENGTH = 90000
conn = psycopg2.connect("dbname=test user=postgres")  
   
def worker(filename): def worker(filename):
   
"""thread worker function """thread worker function
http://www.doughellmann.com/PyMOTW/threading/ http://www.doughellmann.com/PyMOTW/threading/
   
https://github.com/uskr/pynma https://github.com/uskr/pynma
  ffmpeg -i 2012-09-29-1348911268.34-demo.wav -ar 8000 -ab 4.75k test.3gp
http://stackoverflow.com/questions/1092531/event-system-in-python """ http://stackoverflow.com/questions/2559746/getting-error-while-converting-wav-to-amr-using-ffmpeg
  """
print 'Worker for '+filename print 'Worker for '+filename
"""nma.push(application, event, description, (opt) url,)""" ser.write("GLG\r")
"""http://initd.org/psycopg/docs/usage.html""" line = ser.readline() # read a '\n' terminated line
#cur = conn.cursor() print line
#cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)",(100, "abc'def"))  
#conn.commit()  
#cur.close()  
   
return return
   
def filenameMaker(): def filenameMaker():
global filename global filename
filename = date.today().isoformat()+'-'+str(time.time())+'-demo.wav' filename = date.today().isoformat()+'-'+str(time.time())+'-demo.wav'
   
def record_to_async_file(): def record_to_async_file():
"Records from the microphone and outputs the resulting data to `path`" "Records from the microphone and outputs the resulting data to `path`"
sample_width, data = snd.record() sample_width, data = snd.record()
data = snd.pack('<' + ('h'*len(data)), *data) print str(len(data))
path = filename if len(data) > MIN_LENGTH:
dispatcher.send( signal='FILE_CREATED', sender=filename, filename=filename) data = snd.pack('<' + ('h'*len(data)), *data)
wf = wave.open(path, 'wb') path = filename
wf.setnchannels(1) dispatcher.send( signal='FILE_CREATED', sender=filename, filename=filename)
wf.setsampwidth(sample_width) wf = wave.open(path, 'wb')
wf.setframerate(snd.RATE) wf.setnchannels(1)
wf.writeframes(data) wf.setsampwidth(sample_width)
wf.close() wf.setframerate(snd.RATE)
print("done - result written to "+path) wf.writeframes(data)
  wf.close()
  print("done - result "+str(len(data))+" frames written to "+path)
   
dispatcher.connect( filenameMaker, signal='SND_STARTED', sender=dispatcher.Any ) dispatcher.connect( filenameMaker, signal='SND_STARTED', sender=dispatcher.Any )
dispatcher.connect( worker, signal='FILE_CREATED', sender=dispatcher.Any ) dispatcher.connect( worker, signal='FILE_CREATED', sender=dispatcher.Any )
   
  ser = serial.Serial('COM20', 112500, timeout=1)
   
print "Scannr started..." print "Scannr started..."
while True: while True:
print "ready to record" print "ready to record"
record_to_async_file() record_to_async_file()
  ser.close()
file:b/trunklog.php (new)
  <?php
  // http://www.unitrunker.com/logs.html
  /*
  Timestamp as YYYYMMDDHHMMSS
  Site number in unformatted decimal
  Action: Call, Leaves, Joins, Login, Logout, Drop, Add, Busy, Deny, Kill
  Source type I or G
  Source ID in unformatted decimal
  Target type I or G
  Target ID in unformatted decimal
  Channel number in unformatted decimal
  Call Type*/
  $row = 0;
  echo "<table>";
  if (($handle = fopen("C:\Users\Madoka\AppData\Roaming\UniTrunker\S00000001\UniTrunker-20120411.LOG", "r")) !== FALSE) {
  while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
 
  if ($row > 0 && count($data) == 9) {
 
  echo "<tr>";
  for ($c=0; $c < count($data); $c++) {
  echo '<td>'.$data[$c] . "</td>\n";
  }
  echo "</tr>";
  }
  $row++;
  }
  fclose($handle);
  }
  echo "</table>";
  ?>