• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

注意:

  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 "\r\n";
        }
    }
}
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.ogeek.net/article/54015.htm

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

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php中日期的加减法运算发布时间:2022-07-10
下一篇:
[PHP]算法-数组中出现次数超过一半的数字的PHP实现发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap