使用Python将数据从Arduino发送到互联网
问题描述:
我的愿望是通过使用Python将他的数据发送到网络分析解决方案(如Piwik),从而制作Arduino卡(只有USB电缆)。使用Python将数据从Arduino发送到互联网
到目前为止,我发现,我需要为安装pySerial与Arduino的讨论(没问题) http://www.instructables.com/id/Interface-Python-and-Arduino-with-pySerial/
后来我发现如何从Arduino的打印一个Hello World,没有解决不了。
不幸的是我陷入了最后一步,那就是如何从Arduino中抓取数据发送到Internet。因为我不知道Python的,我不知道我该怎么做,这是我的代码:
import serial, httplib
arduino = serial.Serial('/dev/ttyACM0', 9600)
while True:
data = arduino.readline()[:-2]
conn = httplib.HTTPConnection("demo.piwik.org")
conn.request("HEAD","/piwik.php?idsite=7&rec=1&action_name=")(data)
res = conn.getresponse()
任何想法如何可以在信息(数据)可以与demo.piwik.org/piwik.php?idsite=7&rec=1&action_name=
串联? 数据中包含“Hello world”,那么我希望在最后有: /piwik.php?idsite=7&rec=1&action_name=Hello world
。
答
您可以使用str.format:
conn.request("HEAD","/piwik.php?idsite=7&rec=1&action_name={}".format(data))
{}
是一个占位符,无论你在传递给格式(..将被添加到您的字符串
我认为这将是更好地使用'.format (urllib.parse.quote(data))'(for python 3)or'.format(urllib.quote(data))'(for python 2) –