УСПЕХ!!!

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

90
main.py
View File

@ -1,46 +1,54 @@
from fastapi import FastAPI from fastapi import FastAPI
from pymodbus.client import ModbusSerialClient 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():
global modbus_data def poll_modbus():
modbus_client.connect() global modbus_data
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)
if not response.isError(): #print(response.bits[0])
modbus_data = response.registers[0]
print(modbus_data) if not response.isError():
except: #modbus_data = response.registers[0]
pass modbus_data = response.bits[0]
print(modbus_data)
except:
threading.Thread(target=poll_modbus, daemon=True).start() pass
app = FastAPI()
threading.Thread(target=poll_modbus, daemon=True).start()
@app.get("/modbus_data")
async def get_modbus_data(): app = FastAPI()
return {"modbus_data": modbus_data}
@app.get("/") @app.get("/modbus_data")
async def root(): async def get_modbus_data():
return {"message": "Welcome to FastAPI with Modbus"} return {"modbus_data": int(modbus_data)}
if __name__ == "__main__":
import uvicorn @app.get("/")
uvicorn.run(app, host="0.0.0.0", port=12345) async def root():
return {"message": "Welcome to FastAPI with Modbus"}
if __name__ == "__main__":
import uvicorn
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);
} // }
} }