Найти - Пользователи
Полная версия: Вывод данных на WEB server по запросу
Начало » Python для новичков » Вывод данных на WEB server по запросу
1
volt1000
Добрый день

Подскажите пожалуйста : есть rspberry P3 , работает как мастер и опрашивает устройство (анализатор сети) по протоколу madbus используя pymodbus .Сейчас получают данные на сервер каждую минуту. Необходимо получать эти данные по запросу например набирая в браузере ip/sensor1 получать значение напряжения ,затем ip/sensor2-частоты и.т.д.
Что надо подправить в коде ,для того ,чтобы получить такую схему опроса анализатора сети.

Заранее благодарен.


import time
import pymodbus
import serial
from pymodbus.pdu import ModbusRequest
from pymodbus.client.sync import ModbusSerialClient as ModbusClient
from pymodbus.transaction import ModbusRtuFramer

from pymodbus.constants import Endian
from pymodbus.payload import BinaryPayloadDecoder as decode
from pymodbus.payload import BinaryPayloadBuilder as builder

client = ModbusClient(method='rtu', port='/dev/ttyUSB0', parity='N',stopbits=1, baudrate=9600,timeout=60,strict=False )
client.connect()

while True:

W=client.read_holding_registers(3902,2,unit=1)
W_d = decode.fromRegisters(W.registers,byteorder =Endian.Big,wordorder=Endian.Little)

W_d ={'float':W_d.decode_32bit_float(),}

with open ('/var/www/html/index.html','w') as f:

for i,value in W_d.items():
try:
iteritems
except NameError:

print ((value),file=f)
W=value

VF1=client.read_holding_registers(3926,2,unit=1)
VF1_d = decode.fromRegisters(VF1.registers,byteorder =Endian.Big,wordorder=Endian.Little)

VF1_d ={'float':VF1_d.decode_32bit_float(),}

with open ('/var/www/html/frequency.html','w') as f:

for i,value in VF1_d.items():
try:
iteritems
except NameError:

print ((value),file=f)
VF1=value

AF1=client.read_holding_registers(3928,2,unit=1)
AF1_d = decode.fromRegisters(AF1.registers,byteorder =Endian.Big,wordorder=Endian.Little)

AF1_d ={'float':AF1_d.decode_32bit_float(),}

with open ('/var/www/html/corrent.html','w') as f:

for i,value in AF1_d.items():
try:
iteritems
except NameError:

print ((value),file=f)
AF1=value



client.close()
volt1000
Еще раз добрый день.

Хочу не много перефразировать мой “клик о помощи” :-хотелось бы получить данные не из файла ,а сразу на веб сервер -путем набираю в адресной строке браузера ip адреса сервера.Сейчас на моей малинке установлен apache.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB