rs485 - 지하수 센서 데이타 읽은 후, 파일에 데이타 저장하기 - 1 > 시리얼 통신

본문 바로가기

회원로그인

회원가입

시리얼 통신

serial rs485 - 지하수 센서 데이타 읽은 후, 파일에 데이타 저장하기 - 1

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 74회 작성일 22-11-23 13:17

본문

import logging, sys, time
import serial
import datetime as dt

##########################################
# 파일이름 만들기
def def_savefile():
    todate = dt.datetime.now();
    #print("=>", todate.year, todate.month, todate.day);
   
    y = str(todate.year);
   
    m = todate.month;
    if (m < 10):
        m_value = "0" + str(m);
    else:
        m_value = str(m);

    d = todate.day;
    if (d < 10):
        d_value = "0" + str(d);
    else:
        d_value = str(d);

    ret = y + m_value + d_value;
    #print(file_date);
   
    ret = "water_" + ret + ".dat"
   
    return ret
##########################################


ser = serial.Serial("COM4", baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=1)
print("ser ==>", ser)

op = "0RtTSVIB!"
print("op=>", op)

while True:
    try:
        #ser.write(bytes(bytearray([3])))
        ser.write(op.encode())        
        read_data = ser.readline()
       
        ##################################################
        # 파일에 저장하기
       
        saveFile = def_savefile();
        f = open(saveFile, "a");

        write_data = read_data.decode('utf-8');
        write_data = write_data.strip();
        write_data = write_data + "\n";
       
        f.write(write_data);
       
        f.close();
        ##################################################
       
        print("read_data => ", str(read_data));
       
    except Exception as e:
        print(" error => ", e)
        exit()

    time.sleep(1)       # 초단위

ser.close()

 

댓글목록

등록된 댓글이 없습니다.