博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
树莓派RaspberryPi串口的简单应用
阅读量:6690 次
发布时间:2019-06-25

本文共 1579 字,大约阅读时间需要 5 分钟。

参考:

树莓派安装

树莓派RaspberryPi串口Python操作指南

树莓派+python做的智能远程控制原型

经实际测试,树莓派通过PySerial进行串口读操作容易出现不稳定的情况,比如无法连接,所以读操作之间最好设置一定的间隔,并且不要忘记处理一下异常。

通过树莓派串口接受单片机发送的温度值,发送信息格式为字符串"*19#",通过正则匹配得到数值。个人很喜欢这种格式,以后不管需要多少参数,都可以通过正则匹配得到。

然后使用update()函数将温度值提交到yeelink。提交成功后,可以在网上看到折线图,效果不错。

示例代码

#coding=utf8#!/usr/bin/env pythonimport reimport timeimport urllibimport urllib2import jsonimport serialimport sysclass Control():    def __init__(self,device='/dev/ttyAMA0',BAUD=2400):        self.client = serial.Serial(device,BAUD,timeout=1)    def command(self,CMD):        try:            self.client.write(CMD)        except:            pass    def get(self):        try:            return self.client.readline()        except:            pass    def get_byte(self,num=1):        try:            return self.client.read(num)        except:            pass    def close():        return self.client.close()def update():    c = Control()    pattern = re.compile(r'^\*(\d+)\#$')    while True:        time.sleep(.3)         try:            temp = c.get_byte(10)            if temp:                break        except:            pass    match = pattern.match(temp)    temp_value = int(match.group(1))    url = 'http://api.yeelink.net/v1.0/device/1011/sensor/1011/datapoints'    values = json.dumps({"value":temp_value})    headers = {'U-ApiKey':'1234567abcdefg'}    req = urllib2.Request(url, values, headers)    urllib2.urlopen(req)  if __name__ == '__main__':    while True:        update()        print '成功'        time.sleep(20)

 效果展示:

 

转载于:https://www.cnblogs.com/catmelo/archive/2013/03/01/2938727.html

你可能感兴趣的文章
windows ssh RPi 2B
查看>>
Git常用命令
查看>>
异常,File,递归,IO流
查看>>
百度地图、ECharts整合HT for Web网络拓扑图应用
查看>>
大数据学习系列之三 ----- HBase Java Api 图文详解
查看>>
cookie和session
查看>>
小白的正则表达式学习之旅-02
查看>>
学习C语言必须知道的理论知识(第三章-数据类型的分类)
查看>>
hdu 素数环
查看>>
H3C CAS 介绍 & 基本概念
查看>>
xxx
查看>>
openSUSE 安装 Caffe
查看>>
你可能没注意的CSS单位
查看>>
咱计算机专业的人,能不能不那么特别地彰显对语文的无知?——再谈面向对象......
查看>>
foreach Transform 同时chils.setParent引起的bug
查看>>
AES加密--适用于RC2、RC4和Blowfish
查看>>
如何强制删除一个apk
查看>>
SHA算法摘要处理
查看>>
[HEOI2012]采花 BZOJ2743
查看>>
Codevs 3305 水果姐逛水果街Ⅱ 倍增LCA
查看>>