diff --git a/.framework.yaml.un~ b/.framework.yaml.un~ index 78fe847..922f00a 100644 Binary files a/.framework.yaml.un~ and b/.framework.yaml.un~ differ diff --git a/framework.yaml b/framework.yaml index 58b6d26..1b8e865 100644 --- a/framework.yaml +++ b/framework.yaml @@ -7,5 +7,5 @@ spec: virtualEnv: base # 사용할 가상환경 이름입니다. package: requirements.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.) stackbase: - tagName: v0.0.1 # Stackbase(gitea)에 릴리즈 태그명 입니다. + tagName: v0.0.2 # Stackbase(gitea)에 릴리즈 태그명 입니 repoName: sampyo-rs232 # Stackbase(gitea)에 저장될 저장소 이릅니다. diff --git a/framework.yaml~ b/framework.yaml~ index 4b3c1f2..58b6d26 100644 --- a/framework.yaml~ +++ b/framework.yaml~ @@ -1,6 +1,6 @@ version: bwc/v2 # bwc 버전 정보입니다. spec: - appName: base-app # 앱의 이름입니다. + appName: sampyo-rs232-app # 앱의 이름입니다. runFile: main.py # 앱의 실행 파일입니다. env: bin: python3 # 앱을 실행할 바이너라 파일 종류입니다.(장비에 따라 다르므로 확인 후 정의해야 합니다.) @@ -8,4 +8,4 @@ spec: package: requirements.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.) stackbase: tagName: v0.0.1 # Stackbase(gitea)에 릴리즈 태그명 입니다. - repoName: base-template # Stackbase(gitea)에 저장될 저장소 이릅니다. + repoName: sampyo-rs232 # Stackbase(gitea)에 저장될 저장소 이릅니다. diff --git a/main.py b/main.py index 4593afe..1a16220 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,4 @@ -import signal, sys, time, os +import signal, sys, time, os, json import serial import asyncio from pymodbus.server.async_io import ModbusTcpServer @@ -58,7 +58,10 @@ def exit_handler(signum, frame): async def run_server(port, data): # TCP 서버 시작 - server = ModbusTcpServer(context, address=("25.7.55.237", 5020)) + with open(os.path.join('./config.json'), encoding='UTF-8') as f: + jsonData = json.load(f) + + server = ModbusTcpServer(context, address=(jsonData['modbus-server']['address'], jsonData['modbus-server']['port'])) update_coil_task = asyncio.create_task(measurement_weight(port=port, data=data)) update_hr_task = asyncio.create_task(set_zero(port=port, data=data)) @@ -67,14 +70,8 @@ async def run_server(port, data): await asyncio.gather(update_coil_task, update_hr_task) if __name__ == '__main__': - parser = argparse.ArgumentParser() - parser.add_argument('-app',help='') - args = parser.parse_args() - - ROOT_PATH = f'/usr/local/sdt/app/{args.app}' - # Define serial port - serial_port = serial.Serial('/dev/ttyMAX1', 115200, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1) + serial_port = serial.Serial('/dev/ttyMAX0', 115200, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1) # For detect Ctrl+C signal.signal(signal.SIGINT, exit_handler) @@ -88,15 +85,3 @@ if __name__ == '__main__': context = ModbusServerContext(slaves=store, single=True) loop = asyncio.get_event_loop() loop.run_until_complete(run_server(port=serial_port, data=store)) - - # while True: - # start = time.time() - # measurement_weight(port=serial_port, data=store) - # print(registers[0]) - - # end = time.time() - - # diff = end - start - - # if diff < 1: - # time.sleep(1 - diff)