leitura e gravação serial de python para arduino

Estou tentando "ping pong" informações entre um código python e um código arduino. Quero enviar dois pontos de ajuste para o código do arduino periodicamente (por exemplo, no minuto), lê-los no arduino e atualizar variáveis e enviar informações de status do arduino de volta ao python periodicamente (como: 30 segundos). Eventualmente, o python enviará e extrairá informações de um banco de dados mySQL (mais tarde dev).

No momento, não consigo que as informações retornem com confiança. Não encontrei nada parecido com isso nas pesquisas e tudo o que tentei modificar não está funcionando. O mais próximo que eu tenho é esse (e na verdade não alterna entre enviar e receber):

Pitão

#!/usr/bin/python
import serial
import syslog
import time

#The following line is for serial over GPIO
port = '/dev/ttyS0'


ard = serial.Serial(port,9600,timeout=5)

i = 0

while (i < 4):
    # Serial write section

    setTempCar1 = 63
    setTempCar2 = 37
    ard.flush()
    setTemp1 = str(setTempCar1)
    setTemp2 = str(setTempCar2)
    print ("Python value sent: ")
    print (setTemp1)
    ard.write(setTemp1)
    time.sleep(4)

    # Serial read section
    msg = ard.readline()
    print ("Message from arduino: ")
    print (msg)
    i = i + 1
else:
    print "Exiting"
exit()

Arduino:

// Serial test script

int setPoint = 55;
String readString;

void setup()
{

  Serial.begin(9600);  // initialize serial communications at 9600 bps

}

void loop()
{
  while(!Serial.available()) {}
  // serial read section
  while (Serial.available())
  {
    if (Serial.available() >0)
    {
      char c = Serial.read();  //gets one byte from serial buffer
      readString += c; //makes the string readString
    }
  }

  if (readString.length() >0)
  {
    Serial.print("Arduino received: ");  
    Serial.println(readString); //see what was received
  }

  delay(500);

  // serial write section

  char ard_sends = '1';
  Serial.print("Arduino sends: ");
  Serial.println(ard_sends);
  Serial.print("\n");
  Serial.flush();
}

Tudo o que acabo recebendo são os mesmos valores repetidos (não o que realmente foi enviado, não tenho certeza se é um problema de cadeia ou de bytes) e nada de volta ao script python. Qualquer ajuda ou idéias são muito apreciadas. Obrigado.

Edição: código modificado para o que estou executando no momento, conforme sugerido abaixo. O Arduino está recebendo uma comunicação fina e serial verificada pelo minicom. Mas o script python ainda imprime uma linha em branco após "Mensagem do arduino:".

questionAnswers(2)

yourAnswerToTheQuestion