In [1]:
import os
os.getcwd()


Out[1]:
'/home/dvoong/opentrv/ors/source/rev2/temp'

In [2]:
# setup django
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'ors.settings'
os.chdir('../../')
print os.getcwd()
import django
django.setup()


/home/dvoong/opentrv/ors/source

In [46]:
import sys # for flushing the stdout
import serial # pyserial
import io
import time
with serial.Serial('/dev/ttyUSB0', 4800) as ser: # stream between pi and the rev2    
    n_reads = 0
    max_reads = 100
    line = " "
    while ser.isOpen():
        sys.stdout.flush()
        line = ser.readline()
        n_reads += 1
        print 'line({}): {}'.format(n_reads, line)
        
        if line[0] == ">":
            time.sleep(1.)
            ser.write("S\n")
            
#         if True:
#             for i in range(10):
#                 ser.write("N{}\n".format(n_reads))
        
        if n_reads >= max_reads:
            break


line(1): 

line(2): OpenTRV: board V0.2 REV2; code $Id: b0cc1e292d3e8704dc49417ce50b532607303d40 $ 2015/Jul/27 17:38:16

line(3): DEBUG

line(4): Resets: 95

line(5): posPOST: 0: Radio, xtal, buttons OK

line(6): Vcc: 3349mV

line(7): ? at CLI prompt for help

line(8): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(9): @A8A1;T24CA;L206;O1

line(10): {"@":"a8a1","+":0,"T|C16":394,"O":1,"vac|h":0,"v|%":0}

line(11): {"@":"a8a1","+":1,"tT|C":12,"vC|%":0,"T|C16":394}

line(12): 

line(13): >

line(14): @A8A1;T24CA;L206;O1

line(15): 

line(16): >S

line(17): Resets: 96

line(18): Overruns: 0

line(19): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(20): 

line(21): >

line(22): 

line(23): >S

line(24): Resets: 96

line(25): Overruns: 0

line(26): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(27): 

line(28): >

line(29): 

line(30): >S

line(31): Resets: 96

line(32): Overruns: 0

line(33): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(34): 

line(35): >

line(36): 

line(37): >S

line(38): Resets: 96

line(39): Overruns: 0

line(40): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(41): 

line(42): >

line(43): 

line(44): >S

line(45): Resets: 96

line(46): Overruns: 0

line(47): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(48): 

line(49): >

line(50): 

line(51): >S

line(52): Resets: 96

line(53): Overruns: 0

line(54): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(55): 

line(56): >

line(57): 

line(58): >S

line(59): Resets: 96

line(60): Overruns: 0

line(61): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(62): 

line(63): >

line(64): 

line(65): >S

line(66): Resets: 96

line(67): Overruns: 0

line(68): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(69): 

line(70): >

line(71): 

line(72): >S

line(73): Resets: 96

line(74): Overruns: 0

line(75): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(76): 

line(77): >

line(78): 

line(79): >S

line(80): Resets: 96

line(81): Overruns: 0

line(82): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(83): 

line(84): >

line(85): 

line(86): >S

line(87): Resets: 96

line(88): Overruns: 0

line(89): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":206,"B|mV":3349,"occ|%":0,"vC|%":0}

line(90): 

line(91): >

line(92): 

line(93): >S

line(94): Resets: 96

line(95): Overruns: 0

line(96): =F0%@24CA;X0;T4 38 W255 0 F255 0 W255 0 F255 0;S12 12 20;{"@":"a8a1","L":204,"B|mV":3349,"occ|%":0,"vC|%":0}

line(97): 

line(98): >

line(99): 

line(100): >S


In [12]:
ser.flush()


---------------------------------------------------------------------------
SerialException                           Traceback (most recent call last)
<ipython-input-12-0db6c8253264> in <module>()
----> 1 ser.flush()

/home/dvoong/opentrv/ors/virtualenv/local/lib/python2.7/site-packages/serial/serialposix.pyc in flush(self)
    522         """Flush of file like objects. In this case, wait until all data
    523            is written."""
--> 524         self.drainOutput()
    525 
    526     def flushInput(self):

/home/dvoong/opentrv/ors/virtualenv/local/lib/python2.7/site-packages/serial/serialposix.pyc in drainOutput(self)
    598     def drainOutput(self):
    599         """internal - not portable!"""
--> 600         if not self._isOpen: raise portNotOpenError
    601         termios.tcdrain(self.fd)
    602 

SerialException: Attempting to use a port that is not open

In [ ]: