title: How to write on serial port in python that ttyUSB0 will be interpreted commands?
body: <p>I have raspberry PI B+ with connected Telegesis ZigBee module(ETRX3 USB sticks) via USB. Using commands:</p>
  
  <pre><code>    debian:~# stty -F /dev/ttyUSB0 -raw ispeed 19200 ospeed 19200
      debian:~# cat &lt; /dev/ttyUSB0 &amp;
      debian:~# echo "ATI" &gt; /dev/ttyUSB0
  </code></pre>
  
  <p>the ZigBee module executed ATI command and I can see the correct output:</p>
  
  <pre><code>   Telegesis ETRX357
  
     R308C
  
     OK
  </code></pre>
  
  <p>The same thing I want to do with python script. I was written python script with code:</p>
  
  <pre><code>    #!/usr/bin/env python
  
      # based on tutorials:
      #   http://www.roman10.net/serial-port-communication-in-python/
      #   http://www.brettdangerfield.com/post/raspberrypi_tempature_monitor_project/
  
      import serial, time
  
      SERIALPORT = "/dev/ttyUSB0"
      BAUDRATE = 19200
  
      ser = serial.Serial(SERIALPORT, BAUDRATE)
  
      ser.bytesize = serial.EIGHTBITS #number of bits per bytes
  
      ser.parity = serial.PARITY_NONE #set parity check: no parity
  
      ser.stopbits = serial.STOPBITS_ONE #number of stop bits
  
      #ser.timeout = None          #block read
  
      #ser.timeout = 0             #non-block read
  
      ser.timeout = 2              #timeout block read
  
      ser.xonxoff = False     #disable software flow control
  
      ser.rtscts = False     #disable hardware (RTS/CTS) flow control
  
      ser.dsrdtr = False       #disable hardware (DSR/DTR) flow control
  
      ser.writeTimeout = 0     #timeout for write
  
      print 'Starting Up Serial Monitor'
  
      try:
          ser.open()
  
      except Exception, e:
          print "error open serial port: " + str(e)
          exit()
  
      if ser.isOpen():
  
          try:
              ser.flushInput() #flush input buffer, discarding all its contents
              ser.flushOutput()#flush output buffer, aborting current output
  
              ser.write("ATI")
              print("write data: ATI")
              time.sleep(0.5)
              numberOfLine = 0
  
              while True:
  
                  response = ser.readline()
                  print("read data: " + response)
  
                  numberOfLine = numberOfLine + 1
                  if (numberOfLine &gt;= 5):
                      break
  
              ser.close()
  
          except Exception, e:
              print "error communicating...: " + str(e)
  
      else:
          print "cannot open serial port "
  </code></pre>
  
  <p>and get results as on the screen</p>
  
  <pre><code>    ATI
  </code></pre>
  
  <p>but I want to command be execute by ZigBee module, as like in shell commands. What am I doing wrong? </p>
  
  <p><img src="https://i.stack.imgur.com/32lsIl.png" alt="write on ttyUSB0"></p>