Я пытаюсь написать .txt на windows сервере 12 с использованием IP-адресов из малины - PullRequest
0 голосов
/ 13 февраля 2020

Мне удалось создать программу в python, чтобы она получала весы и копировала его в файл, затем я создала другую программу, которая читает этот файл, и все это у меня в малине. мне нужно, чтобы эти две программы были в raspberry, но .txt, где я пишу вес, который мне нужен, чтобы иметь его на сервере, работающем на windows сервере 12. неудобство, которое я испытываю, заключается в том, что при создании .txt на сервер, если я получаю доступ к этому файлу из малины, он не дает мне необходимых разрешений для его редактирования, просто для чтения ... кто-то знает, как я могу настроить малину для получения файла с сервера с разрешениями на его редактирование? и я хотел бы, чтобы этот файл постоянно обновлялся для того, чтобы считывать вес в режиме реального времени.

EDITION 1)

Я использую этот код на терминале de raspberry:

$sudo apt-get install cifs-utils

$sudo mkdir /media/Balanza

$sudo mount -t cifs -o username=usuario,password=50922 //192.168.0.8/Balanzas /media/Balanza

$sudo chmod 777 /media/Balanza

$sudo chmod 777 /media/Balanza/Balanza_1.txt

В файле чтения, который я написал:

import time
import string
import serial
import socket

while True:
    f = open("/media/Balanza/Balanza_peso.txt")
    line = f.readline()
    print(line)
    f.close()

в файле записи, который я написал:

####
####
####
f = open("/media/Balanza/Balanza_peso.txt","w")
f.write(datos+"\n")

Когда я начинаю чтение Программа идет нормально. Но когда я пытаюсь открыть записывающий файл, он возвращает мне следующее сообщение об ошибке:

PermissionError:[Errno 13] Permission denied:'/media/Balanza/Balanza_peso.txt'

на самом деле мне не нужно было так, я могу сохранить файл на малину и прочитать это с сервера, но я не нахожу способа сделать это, если у кого-то есть другой способ решить проблему, это очень приветствуется

** Я забыл сказать, прежде всего, я разделяю windows папка со всеми разрешениями **

1 Ответ

0 голосов
/ 14 февраля 2020

Вы смотрели, как запускается приложение Flask на вашем windows сервере для получения входящих веб-запросов?

import os
from flask import Flask, request


app = Flask(__name__)

local_path = os.path.dirname(os.path.abspath(__file__))
output_filename = 'Balanza_peso.txt'

@app.route('/temperature')
def my_endpoint():
    temp = request.args.get('temp')
    with open(os.path.join(local_path, output_filename), 'a') as out_file:
        out_file.write(f'temperature : {temp}')
    return (f'written the temperature {temp} to a local file')

if __name__ == '__main__':
    app.run(host='0.0.0.0')

, тогда это случай керлинга с вашего Raspberry Pi на ваш windows машина:

curl <windows server ip>:5000/temperature?temp=23
...