在客户端打开用于串行通信的 COM 端口的解决方法(最好在 Python 中)
Workaround to open COM port for serial communication on client-side (preferably in Python)
目标
我使用 Flask 框架制作了一个网站,并且对 HTML、CSS、JS、Python 相当满意。我的目标是将 arduino 连接到 客户端的 PC 的 USB 端口并使用 serial.write() 向其发送一个数字。
备注
如果 arduino 连接到服务器,我有一个 interfacing with python 的工作示例。
import serial
ser = serial.Serial('COM4', 9600)
ser.write('5')
现在我想在客户端 运行 这 3 行。
这可行吗?我研究了很多,似乎出于安全原因这不可行? (我希望有人在这里证明我错了。)这就是我寻找解决方法的原因。但在此之前我必须提一下,我不需要来自服务器的任何数据(数字)。加载网页后,我需要的所有串行通信都在客户端。
客户端 python:我研究过在客户端编写 python 并阅读了有关 skulpt 和 PyPyjs 的内容,但我不确定我该怎么做运行 客户端提到的 3 行(似乎都不支持 pyserial 需要 import serial 或者至少我没有运气好找到文档)
我还查看了 interfacing with software 的 arduino 文档,但似乎提到的所有语言都是服务器端的。如果您知道任何可能有帮助的方向语言,我很乐意知道并去学习它们。我看到很多论坛都提到 Node.js,但我的理解是这也只能在服务器端完成工作。
对于 else/other 我应该研究哪些主题的任何帮助,我将不胜感激。提前致谢。
Is this even doable? I have researched a lot and it seems that this is not doable due to security reasons?
你是对的。浏览器无法访问 COM 端口。无论您选择什么语言或框架,浏览器都不会为您提供访问权限。
您需要制作一个独立的桌面应用程序。您 可以 使用 HTML 和 JavaScript 访问串口,只是不能在浏览器中。 Chrome Apps(实际上正在消失)可以做到,以及使用 Electron 的 App。
目标
我使用 Flask 框架制作了一个网站,并且对 HTML、CSS、JS、Python 相当满意。我的目标是将 arduino 连接到 客户端的 PC 的 USB 端口并使用 serial.write() 向其发送一个数字。
备注
如果 arduino 连接到服务器,我有一个 interfacing with python 的工作示例。
import serial
ser = serial.Serial('COM4', 9600)
ser.write('5')
现在我想在客户端 运行 这 3 行。
这可行吗?我研究了很多,似乎出于安全原因这不可行? (我希望有人在这里证明我错了。)这就是我寻找解决方法的原因。但在此之前我必须提一下,我不需要来自服务器的任何数据(数字)。加载网页后,我需要的所有串行通信都在客户端。
客户端 python:我研究过在客户端编写 python 并阅读了有关 skulpt 和 PyPyjs 的内容,但我不确定我该怎么做运行 客户端提到的 3 行(似乎都不支持 pyserial 需要 import serial 或者至少我没有运气好找到文档)
我还查看了 interfacing with software 的 arduino 文档,但似乎提到的所有语言都是服务器端的。如果您知道任何可能有帮助的方向语言,我很乐意知道并去学习它们。我看到很多论坛都提到 Node.js,但我的理解是这也只能在服务器端完成工作。
对于 else/other 我应该研究哪些主题的任何帮助,我将不胜感激。提前致谢。
Is this even doable? I have researched a lot and it seems that this is not doable due to security reasons?
你是对的。浏览器无法访问 COM 端口。无论您选择什么语言或框架,浏览器都不会为您提供访问权限。
您需要制作一个独立的桌面应用程序。您 可以 使用 HTML 和 JavaScript 访问串口,只是不能在浏览器中。 Chrome Apps(实际上正在消失)可以做到,以及使用 Electron 的 App。