win10上使用php与python实现与arduino串口通信
注意:
- php 需要php7,安装及开启php_dio.dll
- com口按照实际的进行设置,如果不知道可以打开arduino编辑器进行查看
- 可以与用户实现命令行交互,但是效率过慢,不清楚如何优化,使用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();#抛出异常后关闭端口
参考:
-
树莓派和Arduino使用USB进行通信基于Python——For初学者 https://blog.csdn.net/a_52hz/article/details/92197048
-
python、pip、whl安装和使用 https://www.cnblogs.com/klb561/p/9271322.html
-
大佬们,怎么实现windows下的python与arduino串口通讯呢? http://tieba.baidu.com/p/5506283431
-
PC上 python 通过串口和 arduino 读写交互成功,哈哈,真好玩 https://blog.csdn.net/wangtaonice/article/details/50334005
-
Python和Arduino的串行通信 http://www.it1352.com/230021.html
-
python中的serial问题 https://bbs.csdn.net/topics/392275020
-
python3 异常处理 https://www.cnblogs.com/calvin-zhang/articles/9613679.html
-
TypeError: unicode strings are not supported, please encode to bytes: 'hu' https://blog.csdn.net/you23hai45/article/details/71516031
-
python中的&&及|| https://blog.csdn.net/wzx1286474341/article/details/80465794
-
php7配置串口连接 dio https://blog.csdn.net/u014020153/article/details/77472145
-
PHP和串口通信的方法介绍 https://blog.csdn.net/bjash/article/details/8487405
-
PHP读取命令行输入 https://blog.csdn.net/supergao222/article/details/78905415
-
PHP命令行脚本接收传入参数的三种方式 https://www.jb51.net/article/54015.htm
-
php打开串口RS232 https://www.cnblogs.com/yuanlipu/p/5987834.html
-
用PHP实现网页直接操作硬件串口 http://ju.outofmemory.cn/entry/350849
地 址 :https://www.cnblogs.com/xiaqiuchu/p/11392180.html
如果对你有帮助,可以点一下 推荐 或者 关注 吗?会让我的分享变得更有动力~
转载时请带上原文链接,谢谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义