极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 34330|回复: 4

PC上 python 通过串口和 arduino 读写交互成功,哈哈,真好玩

[复制链接]
发表于 2013-8-19 16:22:24 | 显示全部楼层 |阅读模式
本帖最后由 hick 于 2013-8-19 17:23 编辑


纯 arduino 新手,高手勿笑,月初买的 arduino 板, 前天开始折腾, 好有意思, 分享的这个挺基础,可是之前搜索就是没搜到类似的,摸索出来以后特别分享下:

arduino 端还不知道怎么用 python 直接编译上传,貌似看到有方案?  先还是用 arduino IDE 写 C 来处理串口请求:

--------------------
  1. char line[500] = "";   // 传入的串行数据
  2. int ret = 0;

  3. void setup() {
  4.   Serial.begin(9600);     // 打开串口,设置数据传输速率9600
  5. }

  6. void loop() {

  7.   // 纯口可用时操作
  8.   if (Serial.available() > 0) {
  9.     // 读取传入的数据:  读到 \n 为止,或者最多 500 个字符
  10.     ret = Serial.readBytesUntil('\n', line, 500);

  11.     //打印你得到的:
  12.     Serial.print("I received: ");
  13.     Serial.println(line);
  14.   }
  15.   // 每1秒做一个输出
  16.   delay(1000);
  17.   Serial.println("I am waiting! ");
  18. }
复制代码

--------------------

在安装好 pyserial 以后 python 读取串口数据:

--------------------
[pre lang="python" line="1"]#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import time
import serial

ser = serial.Serial(2)  # 注意选择串口号, 从 0 开始计数, 我的是 COM3 ,所以参数是 2
line = ser.readline()
while line:
    print(time.strftime("%Y-%m-%d %X\t") + line.strip())
    line = ser.readline()

    # 每 10 秒向窗口写当前计算机时间
    sep  = int(time.strftime("%S")) % 10
    if sep == 0:
        ser.write("hello, I am hick, the time is : " + time.strftime("%Y-%m-%d %X\n"))      # write a string

ser.close()  [/code]
--------------------




嘿嘿, 整理到了我博客,  http://blog.hickwu.com/posts/275
回复

使用道具 举报

发表于 2013-8-20 00:50:08 | 显示全部楼层
呵呵,恭喜你,这就中毒了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-20 11:42:50 | 显示全部楼层
rick_hou 发表于 2013-8-20 00:50
呵呵,恭喜你,这就中毒了

中毒还很深... 另外入了块 pcduino , 早上刚拿到手...
回复 支持 反对

使用道具 举报

发表于 2013-8-20 11:45:22 | 显示全部楼层
hick 发表于 2013-8-20 11:42
中毒还很深... 另外入了块 pcduino , 早上刚拿到手...

pcduino我也想动手,就是不知道好不好上手。手头的树莓还没玩明白呢。不过总是隐隐的觉得用不了多久arduino就会达到极限,最终还是会转到树莓派或者pcduino上开发。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-21 12:55:24 | 显示全部楼层
rick_hou 发表于 2013-8-20 11:45
pcduino我也想动手,就是不知道好不好上手。手头的树莓还没玩明白呢。不过总是隐隐的觉得用不了多久ardui ...

个人感觉应用场景还是有些不大一样, 不跟  pcduino 和 树莓重叠度很高啊。
有树莓可以先玩玩树莓, 考察一圈的感觉是差别不是太大, 学习资料至少暂时还相对多。 嘿嘿
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 05:58 , Processed in 0.043192 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表