实现抓取arduino上的串口数据

一开始用arduino ide写一些传感器代码,但是后来发现一个问题:

就是用arduino ide写的代码只能将代码烧进板子里,而串口监视器是别人写好的,只能读出串口数据。

那么:

   如果你要获得串口上的数据,用来干一些事时该怎么办呢(比如与后台连接)

   作为一个新手我总结了2种方法:

    1.就是之前一直使用的方法:用esp8266模板将数据传上物联网(一直在用wemos版,自带esp8266),这样有一个不好了方面:就是需要物联网平台,在做一些简单的项目时就很不方面。然后就是用树莓派了,但是树莓派一是很贵(树莓派相当于一个小型电脑了),所以这个很不实用。

    2.将数据以文档的方式直接与后台相连。问题就来了:数据怎样存入文档呢,我之前尝试过在arduino ide上直接用C语言写文档操作的代码,发现文档操作的代码完全被无视掉了,怎么回事呢,现在知道后才知道当时很愚蠢,既然代码是烧进板子里面的,那么代码怎么可能完成。

      于是我决定自己写一个获取串口数据的代码,放弃arduino ide上串口监视器的使用,于是通过网上的学习发现用python写会非常的简单,因为就是有一个很好的模板:pyserial。

     这样通过自己写的抓取串口数据的代码,就可以实现很多方便的操作了。

python最简单获取数据的代码(真正用的话建议找一下pyserial模板,我只是简单介绍一下):

import serial  
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)  //我是用树莓派当电脑做的,你们如果要用pc做,需要改。
ser.open()  
  
ser.write("testing")  
try:  
    while 1:  
            wind = ser.readline()  
             print(wind)  
except KeyboardInterrupt:  
    ser.close()  

   

你可能感兴趣的:(嵌入式学习,嵌入式学习实践)