라즈베리 피 (laspberry pis)와 온도 변화 모니터링을 목표로 한 센서로 IoT 실험을하고 있습니다. 각각의 나무 딸기 파이는 여러 센서에 연결됩니다. 제 목표는 초당 센서 당 하나의 판독 값을 가지고 버퍼 (실제 버퍼 또는 CSV 파일)에 데이터를 저장하고 브로커에 데이터를 게시하는 것입니다. 이제 프로그램이 모든 것을 큐에서 처리하고 있습니다. 그것은 약간의 지연을 낳는다. 나는 테스트를 거쳤으며, 지연은 읽기 프로세스에서 비롯된 것으로 밝혀졌습니다. 독서 지연을 줄일 수있는 방법이 있습니까? 멀티 스레딩으로이 문제가 해결됩니까? 그렇다면, 내가 생각하기에 3 개의 스레드를 만드는 것입니다. 센서 스레드가 데이터를 읽고 버퍼에 저장합니다. Communicator 스레드가 브로커에 연결하고 버퍼의 데이터를 읽고 브로커에 보냅니다. 메인 스레드는 센서 스레드와 커뮤니케이터 스레드를 관리합니다. 이 방법으로 프로그램을 리팩토링하면 각 센서에 대해 하나의 센서 스레드를 쓰거나 모든 센서에 대해 하나의 센서 스레드를 작성합니까?센서가있는 라즈베리 파이의 멀티 스레드 프로그램 리펙토링
모든 의견을 크게 기뻐할 것입니다.
Pi는 12 개의 센서가 있어도 문제없이 초당 한 번씩 모든 센서를 한 번 읽을 수 있어야합니다. 스레드를 사용하면 문제가 너무 복잡해집니다. 먼저 센서에서 읽거나 데이터를 쓰는 데 지연이 있는지 확인한 다음 문제를 먼저 해결하십시오. – JvO
지연이 어디서 발생했는지 어떻게 확인할 수 있습니까? 현재 모든 센서가 하나의 브레드 보드에 있습니다. 지연이 발생할 수 있습니까? – Tian