IoT/아두이노
아두이노와 서버 소켓통신
아두이노 & 라즈베리파이로 특정 프로젝트르 시작할 때 센서값을 기록하기 위해 DB를 구축한다. 이때 아두이노와 아두이노 센서를 사용하여 얻은 센서값을 ESP-01Wifi 모듈과 서버의 Wifi로 TCP 소켓통신을 하게 된다면 안전하게 값을 전송할 수 있다. 🤔 Socket 통신이란?? TCP 연결 기반 서버/클라이언트 간 양방향 통신 방법입니다 위 그림은 소켓 통신 흐름을 보여줍니다 연결을 시도하는 클라이언트 부분과 요청을 받아 데이터를 처리하는 서버 부분에서 각각 자신의 소켓을 생성합니다 서버 측에서는 클라이언트의 연결을 받기 위해 bind()를 통해서 만들어진 소켓에 자신의 IP 주소와 포켓 번호를 입력하여 소켓을 완성시킨다. 완성된 소켓을 listen() 상태로 만들고 난 후, 클라이언트의 요청을 ..
GP2Y1010AU0F 미세먼지 센서 테스트
GP2Y1010AU0F 먼지센서 가운데 원형의 구멍으로 공기중의 이물질을 측정한다. 스펙 상으로는 PM 2.5까지 측정 가능하다. (PM2.5는 미세먼지 입자 크기가 2.5um 이하로 초 미세먼지를 말한다.) int Vo = A0; int V_LED = 2; float Vo_value = 0; float Voltage = 0; float dustDensity = 0; void setup(){ Serial.begin(9600); pinMode(V_LED, OUTPUT); pinMode(Vo, INPUT); } void loop(){ digitalWrite(V_LED,LOW); delayMicroseconds(280); Vo_value = analogRead(Vo); delayMicroseconds(40);..
CO2 센서
이산화탄소의 농도를 측정할 수 있는 센서 MG811를 사용해 보는 포스팅이다. 이 센서는 30~60초 정도 예열을 통해 센서를 약간 뜨겁게 만들고 이후 화학반응을 통해 CO2의 농도를 AOUT(혹은 Vout)으로 전압으로 출력한다. 센서 뒷편에는 2개의 가변저항으로 신호 증폭도와 TTL 신호 출력 감도를 조정할 수 있다. 아두이노와 MG811의 연결도이다. /*Hardware Related Macros*/ #define MG_PIN (0) // AOUT 핀 #define BOOL_PIN (9) // DOUT 핀 #define DC_GAIN (8.5) /*Software Related Macros*/ #define READ_SAMPLE_INTERVAL (50) // 샘플 간격 #define READ_SAM..
아두이노 Wifi 모듈 사용하기(온습도 센서)
SHT15 - 온습도 센서 SHT15 센서는 간단히 사용할 수 있는 장점이 있으며, 정밀도가 높은 디지털 온도 및 습도 측정 센서이다. SHT15는 PCB 기판 위에 단일 칩이 부착되어 있는 형태이며, 칩 안에 온도, 습도 센서와 판독 회로를 내장하고 있다. 테스트 결과 #include #define dataPin A4 // DATA Pin #define clockPin A5 // SCK Pin SHT1x sht1x(dataPin, clockPin); void setup() { Serial.begin(38400); Serial.println("Starting up"); } void loop() { float temp_c; float temp_f; float humidity; // Read values f..