Есть ли способ предоставить приложению Flask доступ к COM-портам в windows? - PullRequest
0 голосов
/ 18 января 2020

Я хотел создать сервер Flask, который получает данные из приложения android, а затем отправляет данные через последовательный порт на arduino, подключенный через USB. Тем не менее, я не могу получить доступ к COM-порту, к которому подключен Arduino.

from flask import Flask
from flask_restful import Api, Resource, reqparse
import serial 

# Initialize serial streams
serCam = serial.Serial('COM3', baudrate=9600, timeout=1)
if not serCam.isOpen():
    serCam.open()

app = Flask(__name__)
api = Api(app)

## Here there are flask requests...

if __name__ == "__main__":
    app.run(debug=True)

И вот ошибка: «serial.serialutil.SerialException: не удалось открыть порт« COM3 »: PermissionError (13,« Доступ запрещен., Нет, 5) »

Я проверил, что я пытаюсь подключиться к правильному порту, используя терминал Arduino и используя тот же последовательный код в другом скрипте. Я не забыл закрыть любые другие последовательные соединения. Я также запустил сценарий python с правами администратора, так как читал, что на windows привилегии COM-порта иногда блокируются для обычных пользователей на windows, но он все равно не работает, так как я считаю, что Flask запускает подпроцесс, который больше не имеет прав администратора.

Так есть ли способ предоставить COM-порт доступ к приложению flask без предоставления всех привилегий root?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...