title: Python MQTT Client publish isn't handling variable
body: <p>My code: </p>
  
  <pre><code>myTopic = "lab"
  myPayload = ""
  qos = 1
  myPayload = input('Enter a message to publish: ')
  myAWSIoTMQTTClient.publish(myTopic, myPayload, qos)
  </code></pre>
  
  <p>When I run the script, the device connects to AWS IoT, and the "Enter a message to publish:" prompt appears. I enter "hello" (no quotes) and it returns the following error:</p>
  
  <pre><code>Traceback (most recent call last):
  File "customAWSIoTscript.py", line 65, in &lt;module&gt;
  myPayload = input('Enter a message to publish: ')
  File "&lt;string&gt;", line 1, in &lt;module&gt;
  NameError: name 'hello' is not defined
  </code></pre>
  
  <p>However, when I replace the myPayload variable with a string in the function , it works fine. Likewise, if I set myPayload = "hello", it works too. Leave off the quotes myPayload = hello, and it fails.</p>
  
  <p>So I've determined that myAWSIoTMQTTClient.publish is looking for a string, but why doesn't it accept the string from my input() function?</p>