УСПЕХ!!!

This commit is contained in:
Дмитрий Экономов 2024-06-14 19:31:51 +03:00
parent 992b620014
commit 9ff5347b05
2 changed files with 57 additions and 48 deletions

28
main.py
View File

@ -3,44 +3,52 @@ from pymodbus.client import ModbusSerialClient
import threading import threading
import time import time
import logging import logging
import sys
serial_port = "COM6" serial_port = "COM6"
baud_rate = 9600 baud_rate = 9600
modbus_client = ModbusSerialClient(serial_port, baudrate=baud_rate) modbus_client = ModbusSerialClient(serial_port, baudrate=baud_rate)
modbus_data = "0" modbus_data = "0"
logging.basicConfig() # logging.basicConfig()
log = logging.getLogger() # log = logging.getLogger()
log.setLevel(logging.DEBUG) # log.setLevel(logging.DEBUG)
def poll_modbus(): def poll_modbus():
global modbus_data global modbus_data
modbus_client.connect()
while True: while True:
try: try:
response = modbus_client.read_discrete_inputs(10001, 1, slave=1) modbus_client.connect()
#print(response) time.sleep(3.0)
response = modbus_client.read_discrete_inputs(0, 1, slave=1)
#print(response.bits[0])
if not response.isError(): if not response.isError():
modbus_data = response.registers[0] #modbus_data = response.registers[0]
modbus_data = response.bits[0]
print(modbus_data) print(modbus_data)
except:
pass
except:
pass
threading.Thread(target=poll_modbus, daemon=True).start() threading.Thread(target=poll_modbus, daemon=True).start()
app = FastAPI() app = FastAPI()
@app.get("/modbus_data") @app.get("/modbus_data")
async def get_modbus_data(): async def get_modbus_data():
return {"modbus_data": modbus_data} return {"modbus_data": int(modbus_data)}
@app.get("/") @app.get("/")
async def root(): async def root():
return {"message": "Welcome to FastAPI with Modbus"} return {"message": "Welcome to FastAPI with Modbus"}
if __name__ == "__main__": if __name__ == "__main__":
import uvicorn import uvicorn
uvicorn.run(app, host="0.0.0.0", port=12345) uvicorn.run(app, host="0.0.0.0", port=12345)

View File

@ -15,14 +15,15 @@ void setup() {
; ;
mb.config (9600); mb.config (9600);
mb.addIsts(0);
} }
void loop() { void loop() {
// mb.setIsts(0, digitalRead(pinToRead)); mb.setIsts(0, digitalRead(pinToRead));
// mb.task(); mb.task();
int r = Serial.read(); // int r = Serial.read();
if (r >= 0){ // if (r >= 0){
Serial.write(r); // Serial.write(r);
Serial.write(r); // Serial.write(r);
} // }
} }