-
[개발일지] 아두이노를 이용한 온습도계/불쾌지수 측정기 만들기 - 4(개발환경 구성 2 및 마무리 연결)Coding/Dev.log 2019. 6. 17. 19:13
2019/05/09 - [코딩/안드로이드] - [개발일지] 아두이노를 이용한 온습도계/불쾌지수 측정기 만들기 - 1
2019/05/15 - [코딩/안드로이드] - [개발일지] 아두이노를 이용한 온습도계/불쾌지수 측정기 만들기 - 2(레이아웃 구성)
2019/05/18 - [코딩/안드로이드] - [개발일지] 아두이노를 이용한 온습도계/불쾌지수 측정기 만들기 - 3(개발환경 구성 1)
기존의 과정에서 온습도 센서를 통해 센서값을 받아오는 것 까지 성공하였습니다.
이제 이를 안드로이드 어플로 옮기기만 하면 단순한 레이아웃 작업을 제외하고는 완성될 것입니다.
블루투스 연결을 위해서는 SPP 통신을 사용해줍니다. 이는 Github의 BTChat 예제에서 설명이 잘 되어 있는데요.
https://github.com/godstale/BTChat/tree/master/src/com/hardcopy/btchat
저는 이 코드를 활용하여 작업하였습니다.
이 코드를 활용하면 SPP 통신을 열어 블루투스 모듈을 통해 아두이노와 통신할 수 있을 것입니다.
아두이노 파일과 안드로이드 어플에서 센서값을 받아올 클래스를 따로 만들어 주어야겠네요.
이 과정은 해당 코드를 입맛대로 변형하여, Receive Thread만 따로 받아왔고, 이 코드를 이용하면 아두이노와 연결이 되는 즉시 아두이노에서 센서값을 설정한 초 간격으로 무한히 보내올 것입니다. 저는 이제 이 센서값을 활용하기만 하면 됩니다.
<SensorConnection.ino>
#include <DHT.h> //온습도 센서 라이브러리 사용 #define DHTPIN 2 // 습도센서 Signal 선 연결 #define DHTTYPE DHT11 #include <SoftwareSerial.h> // 시리얼 통신 //#include <dht11.h> // dht11.h 라이브러리를 불러옵니다. int Tx = 6; // 전송 핀 int Rx = 7; // 수신 핀 //DHT11 dht11(sensorPin); float hum; float temp; SoftwareSerial btSerial(Tx, Rx); // 설정한 핀으로 시리얼 통신 시작 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); btSerial.begin(9600); // 보드레이트 9600으로 통신 dht.begin(); } void loop() { hum = dht.readHumidity();//온도값 읽기 temp= dht.readTemperature();//습도값 읽기 char data[7] = {0,}; sprintf(data,"%03d%03d",hum,temp); //습도, 온도를 049020 형태로 표시합니다.(49%, 20C일때) Serial.println(hum); Serial.println(temp); delay(1000); btSerial.println(hum); delay(1); // while(Serial.available()) // { // btSerial.print(data); // delay(1); // } if (btSerial.available()) { Serial.print(btSerial.read()); } }
이 코드를 활용하면, 아두이노는 DHT11 센서로부터 온습도 값을 읽어와 0온도0습도 형태로 format하여 보낼 것입니다.
이제 이를 안드로이드 어플에서 활용해 주어야겠군요.
이는 매우 긴 Java 클래스이므로 파일로 올리도록 하겠습니다(매우 힘든 작업이었습니다.ㅠㅠ)
이제 온습도 센서 값을 받아왔으니 이를 다듬어 불쾌지수를 측정하고,
세세한 UI를 꾸미면 마무리입니다!
'Coding > Dev.log' 카테고리의 다른 글
[개발일지] Github Api 연동 App - CommitManager- 1) Github Api 파헤치기 (1) 2020.04.14 [개발일지] 아두이노를 이용한 온습도계/불쾌지수 측정기 만들기 - 5(최종 레이아웃 구성 및 어플리케이션 공개) (5) 2019.06.20 [개발일지] 아두이노를 이용한 온습도계/불쾌지수 측정기 만들기 - 3(개발환경 구성 1) (0) 2019.05.18 [개발일지] 아두이노를 이용한 온습도계/불쾌지수 측정기 만들기 - 2(레이아웃 구성) (0) 2019.05.15 [개발일지] 아두이노를 이용한 온습도계/불쾌지수 측정기 만들기 - 1 (0) 2019.05.09