cbnuLeehyunwoo / Fine_Dust_Measurment

MIT License
0 stars 0 forks source link

아두이노 데이터를 문자열로 수신하고 있었던 문제 수정 #54

Closed cbnuLeehyunwoo closed 1 month ago

cbnuLeehyunwoo commented 1 month ago

문제상황: 미세먼지 추천 값을 선정하는 함수에서 int형과 str형을 비교하면서 오류가 발생하는 것을 확인하였고 지금까지 아두이노 데이터가 문자열로 수신되고 있었던 문제를 확인했습니다. image

해결방안: 파이썬의 re 모듈을 사용하여 문제를 해결하였습니다. numbers = re.findall(r'\d+.?\d*', ard) 을 이용하여 문자열의 숫자를 인식하여 부동소수점의 형태로 바꿀 수 있었습니다. image

choigowon commented 1 month ago

숫자 형식으로 나오는데 문자열로 처리되었다는 말씀이신가요?

int(아두이노값) double(아두이노값) 이렇게는 안되나요?

cbnuLeehyunwoo commented 1 month ago

해당 출력에 문자열이 있어서 위의 방법을 사용했는데 형 변환을 해당 방법으로 편하게 하는 것이 훨씬 편할 것 같네요 아두이노 코드에서 문자부분 제거 후 해당 방법을 사용하도록 하겠습니다

cbnuLeehyunwoo commented 1 month ago

해당 부분을 말씀하신대로 수정하였더니 오류가 발생하는 것으로 보아 현재 00.00의 형태로 아두이노 데이터를 수신하고있는데 .이 문자형태로 취급되어버려서 float()을 이용한 형변환이 안되는것 같습니다. 기존 방법을 계속 사용해야될 것 같습니다 ㅠ