• win10上使用php与python实现与arduino串口通信


    注意:

    1. php 需要php7,安装及开启php_dio.dll
    2. com口按照实际的进行设置,如果不知道可以打开arduino编辑器进行查看
    3. 可以与用户实现命令行交互,但是效率过慢,不清楚如何优化,使用python测试运行速度很快  

    PHP版本

    <?php
    # 只允许输入字符
    # 已成功运行
    // fwrite(STDOUT,'请输入您的博客名:');
    // echo '您输入的信息是:'.fgets(STDIN);
    // exit();
    
    set_time_limit(0);
    exec('mode COM3: baud=115200 data=8 stop=1 parity=n xon=on');
    //打开COM1口 O_RDWR读写模式 O_RDONLY只读
    $fd = dio_open('COM3:', O_RDWR);
    //打开失败报错
    if (!$fd) {
        die("Error when open COM3");
    }
    //开始
    $ff = dio_stat($fd);
    $len = 8; 
    while(1){
        fwrite(STDOUT,'请设置led灯(h亮l暗): ');
        $line = fgets(STDIN);
        if($line){
            dio_write($fd,$line);
            $data = dio_read($fd, $len);
            if ($data) {
                echo $data;
                echo "
    ";
            }
        }
    }
    dio_close($fd);

    Python版本:

    #-*-coding:UTF-8-*-
    import serial    #导入serial库 
    ser = serial.Serial('COM3', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=1)   #打开端口,每一秒返回一个消息 COM3 需要设置为自己的串口
    #try模块用来结束循环(靠抛出异常)
    try:
      while 1:
        act = input('请设置led灯(h亮l暗): ');
        if(act != 'h' and act != 'l'):
            print('请输入正确的字符');
        else:
            ser.write(act.encode());#写s字符  需要用 encode 进行编码
        
        response = ser.readline();#用response读取端口的返回值
        print(response);#进行打印
    except Exception as e:
      print(e);
      ser.close();#抛出异常后关闭端口

    参考:

    1. 树莓派和Arduino使用USB进行通信基于Python——For初学者 https://blog.csdn.net/a_52hz/article/details/92197048

    2. python、pip、whl安装和使用 https://www.cnblogs.com/klb561/p/9271322.html

    3. 大佬们,怎么实现windows下的python与arduino串口通讯呢? http://tieba.baidu.com/p/5506283431

    4. PC上 python 通过串口和 arduino 读写交互成功,哈哈,真好玩 https://blog.csdn.net/wangtaonice/article/details/50334005

    5. Python和Arduino的串行通信   http://www.it1352.com/230021.html

    6. python中的serial问题 https://bbs.csdn.net/topics/392275020

    7. python3 异常处理  https://www.cnblogs.com/calvin-zhang/articles/9613679.html

    8. TypeError: unicode strings are not supported, please encode to bytes: 'hu' https://blog.csdn.net/you23hai45/article/details/71516031

    9. python中的&&及|| https://blog.csdn.net/wzx1286474341/article/details/80465794

    10. php7配置串口连接 dio https://blog.csdn.net/u014020153/article/details/77472145

    11. PHP和串口通信的方法介绍 https://blog.csdn.net/bjash/article/details/8487405

    12. PHP读取命令行输入 https://blog.csdn.net/supergao222/article/details/78905415

    13. PHP命令行脚本接收传入参数的三种方式 https://www.jb51.net/article/54015.htm

    14. php打开串口RS232 https://www.cnblogs.com/yuanlipu/p/5987834.html

    15. 用PHP实现网页直接操作硬件串口 http://ju.outofmemory.cn/entry/350849

  • 相关阅读:
    《区块链100问》第33集:在交易平台投资区块链资产
    Python学习(三)数组属性方法总结
    Python学习(二)Numpy学习
    数学之美 第2章 自然语言处理:从规则到统计
    数学之美 第1章 文字和语言 vs 数字和信息
    Python学习(一)基础知识
    Python使用技巧(不定期更新)
    玩转Git三剑客——04. 创建第一个仓库并配置local用户信息、05. 通过几次commit来认识工作区和暂存区
    玩转Git三剑客——02. 安装Git、03. 使用Git之前需要做的最小配置
    玩转Git三剑客——01. 课程综述
  • 原文地址:https://www.cnblogs.com/xiaqiuchu/p/11392180.html
Copyright © 2020-2023  润新知