From 7fa5bcaaa95fd99d8728cc096d46ac636138f8a3 Mon Sep 17 00:00:00 2001
From: hyunjun_cho <gusrkfl0609@ajou.ac.kr>
Date: Fri, 3 Jul 2020 08:37:30 +0100
Subject: [PATCH] application rename

---
 app => app1 | Bin 8560 -> 8564 bytes
 app1.c      | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 130 insertions(+)
 rename app => app1 (64%)
 create mode 100644 app1.c

diff --git a/app b/app1
similarity index 64%
rename from app
rename to app1
index 30d7d7d7ee3fe0543326c4ae6df15bf0550dac29..76975a27e331406cfb380e310c319e4237c00bde 100755
GIT binary patch
delta 750
zcmez1^u=j{0^^&FiuH^l8+ZJ=;OMQ-cZI3y)pw)mo0nIA&fC0&Q9_upWAa&%c*ZG{
zbw%Y37cnw0i10HpK!6a#W<~}E2`HbDL4;usBLjl~l+VB*#BhFct*CwdQ$_}c6Wojp
zEDRtqUWQyI28ILyh$#vTVhr)j5c5E!5Ca3lS4IYg45+*SgE#{-L@7v`0VJ=(#K4e)
zBrnW_tX_;k3RQhQ!+S;shBMrZ5CfR_7_`w0Fh|wE;DN@ELgQy6c|d?cjG+Qez5|6{
z&%m%0NkD;tfnf_0ALOGWObiSuP#+00i7{M6lYhv>z;Fc`f`SbE3?I<snV1<EGPoHT
z5}+Y0gdC#v3=9nG7*T_)kcojIh7B4b47>~~$Ql?J7)+T_)!TwBfI1KqC7#R-3_k3P
z3^FW`DD^|rABV&b1^KWLNdUxeMlulO<9;;xC1`vekcF&J2QzUqY~9Q&F`1FkaPtDm
f0_M%Uvg$01CnlRJDoZ?(W?+D-1IIT+3j+fHO;khN

delta 729
zcmez3^ucL@0^^H~iuH^lhZ)ytUoBpias2s*I8!!-Jf9$s%FSCCC4?E<C!ZCGXPi7)
zS5)3`AtM8W2tN}81PC!~Vq{>Dfbtm`L>P86GB5~0`3wv~4Cf}-irUvdVPs%9!Oh6P
z!T=KEWyoP-U`P;vn4-WS#t_F0F%LuvF)%QEVPs&)fXWLnh%+!jl!BxgK=Rs53=BC)
z@<L3=>cto&QPtNoyklfwIK#~dF@TAWK?}_QGgJ)>?r8i-G=3J62Lu?z7|PM)+fn%S
z3=B(<1QZw;7&asEK|VUn#K4dO^^qWx7{diL`3Fo43|F8bD9FIi@E%Q`k(q%ZgPV~d
z0UE-B$RS$Kz`(GU5jDsPm>3vh*q|Z8z{{YFtbu`n!GsxAy$#3$r~^S!;=#<o;KR<y
zAj1NQQeQOvu}J(-kPi!x1VH>IBm+S{?n9GbjK=2%S;z`?FcUY!md(5plNmQJlq_K0
VEF!DI!gzeLrJ^$9<H@m#;sC~$LR$a;

diff --git a/app1.c b/app1.c
new file mode 100644
index 0000000..4c3e467
--- /dev/null
+++ b/app1.c
@@ -0,0 +1,130 @@
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <math.h>
+#include <errno.h>
+#include <time.h>
+#include <arpa/inet.h>
+
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/sysmacros.h>
+
+#define SMOKE_DEV_PATH         "/dev/smoke_dev"
+#define BUZZER_DEV_PATH		"/dev/buzzer_dev"
+#define HYDRO_DEV_PATH		"/dev/hydro_dev"
+
+#define IOCTL_HYDRO_MAGIC_NUMBER	'h'
+
+#define INTERVAL         50000
+#define BUFF_SIZE	 50
+
+typedef struct{
+	int hydro_int;
+	int hydro_double;
+	int temp_int;
+	int temp_double;
+}HYDRO;
+
+#define IOCTL_CMD_HYDRO			_IOR(IOCTL_HYDRO_MAGIC_NUMBER, 0, HYDRO)
+int main(void)
+{
+   int client_socket;
+   struct sockaddr_in server_addr;
+   char buff[BUFF_SIZE+5] = "*Humidity:";
+   char buff2[BUFF_SIZE+5] = "Temperature";
+
+   client_socket = socket(PF_INET, SOCK_STREAM, 0);
+   if(client_socket == -1) {
+	   printf("socket fail\n");
+	   exit(1);
+   }
+
+   memset(&server_addr, 0, sizeof(server_addr));
+   server_addr.sin_family = AF_INET;
+   server_addr.sin_port = htons(4029);
+   server_addr.sin_addr.s_addr = inet_addr("192.168.10.6");
+
+   if(connect(client_socket, (struct sockaddr *)&server_addr, sizeof(server_addr)) == -1) {
+	   printf("connect error\n");
+	   return 1;
+   }
+   __pid_t pid;
+   int smoke_dev, smoke_data;
+   int buzzer_dev, buzzer_data = 400;
+   int hydro_dev;
+   HYDRO hydro_info;
+   char Temp[20], Hum[20]; 
+   smoke_dev = open(SMOKE_DEV_PATH, O_RDONLY);
+   buzzer_dev = open(BUZZER_DEV_PATH, O_RDWR);
+   hydro_dev = open(HYDRO_DEV_PATH, O_RDONLY);
+   
+   if(smoke_dev < 0) {
+	   printf("fail to open smoke detection sensor device\n");
+	   return 1;
+   }
+
+   if(buzzer_dev < 0) {
+	   printf("fail to open buzzer sensor device\n");
+	   return 1;
+   }
+
+   if(hydro_dev < 0) {
+	   printf("fail to open hydro sensor device\n");
+	   return 1;
+   }
+
+   int count = 0;
+   
+   pid = fork();
+   
+   if(pid) {
+       while(1) {
+	   read(smoke_dev, &smoke_data, sizeof(int));
+	   printf("data : %d\n", smoke_data);
+	   if(smoke_data > 600) {
+		   write(buzzer_dev, &buzzer_data, sizeof(int)*2);
+	   }
+	   sleep(1);
+	}
+   }
+   else {
+	while(1) {
+	    ioctl(hydro_dev, IOCTL_CMD_HYDRO, &hydro_info);
+	    printf("temperature is %d.%d%%, humidity is %d.%d%%\n",hydro_info.temp_int, hydro_info.temp_double, hydro_info.hydro_int, hydro_info.hydro_double);
+
+	    if(hydro_info.temp_double > 100)
+		 hydro_info.temp_double /= 100;
+	    else if(hydro_info.temp_double > 10)
+		    hydro_info.temp_double /= 10;
+
+	    if(hydro_info.hydro_double > 100)
+		    hydro_info.hydro_double /= 100;
+	    else if(hydro_info.hydro_double > 10)
+		    hydro_info.hydro_double /= 10;
+
+	    sprintf(Temp, "%d.%dC", hydro_info.temp_int, hydro_info.temp_double);
+	    sprintf(Hum, "%d.%d%%", hydro_info.hydro_int, hydro_info.hydro_double);      
+	    strcat(buff, Hum);
+	    strcat(buff2, Temp);
+	    printf("%s %s\n", Temp, Hum);
+	    write(client_socket, buff2, strlen(buff2) + 1);
+	    write(client_socket, buff, strlen(buff) + 1);
+	    strcpy(buff, "*Humidity:");
+	    strcpy(buff2, "Temperature");
+	    //buff = "**Humidity:", buff2 = "Temperature";
+	    sleep(5);
+	    
+	 }
+   }
+   
+   close(client_socket);
+   close(smoke_dev);
+   close(buzzer_dev);
+   close(hydro_dev);
+   
+   return 0;
+}
-- 
GitLab