정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노 클라이언트가 서버에 데이터 전송할 때 한 라인으로 데이터들을 한번에 보내고 싶습니다.
아두이놉 | 2020-03-03
 

1. 프로젝트 사용한 보드 종류

  (EX : 오렌지보드, 오렌지 BLE보드, 아두이노 UNO 등)

 아두이노 UNO

 

2. 사용한 개발 프로그램명

  (EX : 아두이노 IDE, 스크래치, mBlock 등)

 아두이노 IDE

 

3. 사용한 센서 모델명

  (센서 모델명을 자세하게 적어 주실 경우 더 정확하게 확인할 수 있습니다.)

 조도센서로 데이터를 analogread로 받는 중입니다.

 

4. 연결한 회로 설명 (또는 이미지)

 

 

5. 소스코드 (주석 필수)

  (원하는 기능의 코드를 전부 작성해 드리긴 어렵습니다. 기초부터 차근차근 공부해보면서 코드를 만들어 보세요.)

 client.write(datetime, sizeof(datetime));
      client.write(datalight, sizeof(datalight));
      client.write(lightname, sizeof(lightname));
      client.write(lightnum, sizeof(lightnum));
      client.flush();

 

6. 문제점 및 에러 내용

  (소스코드 문제일 경우 에러 내용도 같이 올려주세요.)

현재 이렇게 썼는데 지금 write구문이 버퍼로 채우고 flush가 한번에 출력하게 하는 것인지 궁금합니다.

그리고 아니라면 어떻게 저 4개의 데이터를 한번에 묶어서 출력할 수 있을까요? 전부 char형이긴 하지만

한번에 묶을려면 어떻게 해야하는지 궁금합니다. 

프로필사진

판다마니아 2020-03-04 10:10:39

https://www.arduino.cc/en/Reference/ClientWrite 

 

위 링크는 client.write 에 관한 자료입니다.

 

client.write(buf, len) 명령어를 사용할 경우 버퍼에 있는 데이터를 length 만큼 데이터를 서버로 보냅니다.

 

flush 를 쓰는 이유는 버퍼에 남은 전달 데이터를 모두 전송할 때 까지 기다리기 위해서 사용합니다.

이전글   |    파씽에 관하여 2020-03-02
다음글   |    아두이노와 노트북을 블루투스를 통해서 연결하는데 페어링만 되고 연결이 안됩니다.. ... 2020-03-08