Уведомления

Группа в Telegram: @pythonsu

#1 Июль 20, 2020 13:13:04

volt1000
Зарегистрирован: 2020-02-21
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод данных на WEB server по запросу

Добрый день


Подскажите пожалуйста : есть 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()

Офлайн

#2 Июль 21, 2020 13:12:18

volt1000
Зарегистрирован: 2020-02-21
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод данных на WEB server по запросу

Еще раз добрый день.

Хочу не много перефразировать мой “клик о помощи” :-хотелось бы получить данные не из файла ,а сразу на веб сервер -путем набираю в адресной строке браузера ip адреса сервера.Сейчас на моей малинке установлен apache.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version