Ejemplo n.º 1
0
EXPORT int LCD1602DispLines(int devFD, char* line1, char* line2) {
    int ret = LCD1602DispStr(devFD, 0, 0, line1);
    if (ret != -1) {
        ret = LCD1602DispStr(devFD, 0, 1, line2);
    }
    return ret;
}
int main(int argc, char ** argv) {
	int dhtTemp = 0;
	int dhtHdty = 0;
	int INT_BUF = 0;
	char* buf = (char *) malloc(LCD_LENGTH);
	memset(buf, 0, LCD_LENGTH);
	char* line1 = " hum: ";
	char* line2 = " temp: ";
	THmonitoring_init();
	if (LCD1602DispLines(devFD_LCD, line1, line2) == -1) {
        	printf("Fail to Display String\n");
    	}
	signal(SIGINT, Stop);
	printf("you can press ctrl+c to stop\n");
	while(!stop) {
		if ((dht11Read(DHT_HUMIDITY, &dhtHdty)) == -1) {
			dhtHdty = 0;
		}
		if ((dht11Read(DHT_TEMP, &dhtTemp)) == -1) {
			dhtTemp = 0;
		}

		if (dhtHdty == 0) {
			sprintf(buf, "%s", "Er");
		} else {
			INT_BUF = dhtHdty / 1000;
			sprintf(buf, "%d", INT_BUF);
		}
		LCD1602DispStr(devFD_LCD, 6, 0, buf);

		if (dhtTemp == 0) {
			sprintf(buf, "%s", "Er");
		} else {
			INT_BUF = dhtTemp / 1000;
			sprintf(buf, "%d", INT_BUF);
		}
		LCD1602DispStr(devFD_LCD, 7, 1, buf);

		if (dhtTemp >= SET_TEMP) {
			 if (THmonitoring_alart() != 0) {
				printf("fail to alart!\n");
				break;
			 }
		}

		sleep(1);
		THmonitoring_noalart();
		sleep(1);		
	}
	free(buf);
	THmonitoring_deinit();
	return 0;
}