Raspberry Pi с Modbus RTU - PullRequest
       48

Raspberry Pi с Modbus RTU

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

Я работаю над проектом, в котором Raspberry Pi читает данные с датчика, поддерживающего протокол Modbus RTU, и отправляет их на сервер через REST API.

Когда RPI подключается к inte rnet, это будет отправлять данные правильно, но в течение некоторого времени inte rnet не будет, поэтому в это время данные будут потеряны. Так что мои старшие, пожалуйста, укажите мне, что я делаю, чтобы я не потерял данные при отсутствии inte rnet. Всякий раз, когда приходит число rnet, оно будет отражать все данные.

Это моя простая программа для отправки данных в облако через REST API.

import os
import threading
import urllib2
import pymodbus
import serial
from pymodbus.pdu import ModbusRequest
from pymodbus.client.sync import ModbusSerialClient as ModbusClient #initialize a serial RTU client instance
from pymodbus.transaction import ModbusRtuFramer


count= 1
unit= 1
address= 1
client = ModbusClient(method='rtu',port='/dev/ttyUSB0',parity='N',stopbits=1,bytesize=8,baudrate=9600,timeout=3)
connection = client.connect()
print connection
def sendDataToServer():
        threading.Timer(60,sendDataToServer).start()
        #Starting add, num of reg to read, slave unit.
        result= client.read_input_registers(0,1,unit= 1)
        z = result.registers[0]
        a=z*0.001
        print a

        urllib2.urlopen("REST API Link?bod="+str(a)+"&cod="+str(a)+"&tss="+str(a)+"&ph="+str(a)+"&flow="+str(a)).read()

sendDataToServer()

...