Github Link : https://github.com/psy1064/DJU_OSP psy1064/DJU_OSP 대전대학교 오픈소스프로젝트. Contribute to psy1064/DJU_OSP development by creating an account on GitHub. github.com DJU_OSP2019 대전대학교가 주최하는 Open Source Project 경진대회에 제출하는 작품입니다. 프로젝트 소개
작품 기능
작품 구조도라즈베리파이 실행화면안드로이드 어플리케이션 실행화면
변경사항20.02.04) 상시 데이터를 출력, 보내주는 것에서 수집된 데이터의 값이 변동이 있을 때만 수행하도록 했습니다. 20.03.03) 어플이 서버로 최초 접속시 서버에서 데이터를 한번 보내주도록 수정했습니다. 20.03.04) 전등 ON/OFF 기능을 제거하고 cctv의 각도를 조절하는 기능을 추가했습니다. 관련 링크https://1d1cblog.tistory.com/21?category=806242 안드로이드 스튜디오 WebView 이용하여 motion 스트리밍하기 라즈베리파이에서 파이 카메라와, motion을 이용해 웹에서 스트리밍을 할 수 있다. 그 스트리밍 된 영상을 WebView를 이용해 어플에서 볼 수 있게 하려 한다. https://1d1cblog.tistory.com/18 라즈베리파이 mo 1d1cblog.tistory.com https://1d1cblog.tistory.com/110?category=806242 안드로이드 스튜디오 notification 소리 진동 설정 어플을 개발하다보면 notification이 주기적으로 갱신되는 기능이 필요할 때가 있습니다. 기본 설정으로 설정하면 갱신할때마다 notify를 해주게 되면 매번 소리나 진동이 울리게 됩니다. 이럴 경우 소리나 진동을.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/44?category=806242 안드로이드 스튜디오 MediaPlayer 사용하기 먼저 res폴더에 우클릭을 하여 Android Resource Directory를 생성해줍니다. 이름과 type을 raw로 설정해줍니다. raw 폴더 안에 원하는 음악 파일을 넣어준 다음 Java 코드를 작성해줍니다. setLooping 값을 tru.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/43?category=806242 안드로이드 스튜디오 Swipe Button 사용하기 먼저 build.gradle 파일을 아래와 같이 수정합니다. minSdkVersion을 16으로 수정하고 dependencies에 아래처럼 코드를 추가해줍니다. apply plugin: 'com.android.application' android { compileSdkVersion 28 d.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/42?category=806242 안드로이드 스튜디오 Nofication 클릭하여 실행중인 어플 불러오기 Notification 설정에서 저는 주로 아래와 같은 코드처럼 Notification bar를 눌렀을 때 액티비티를 불러오는 식으로 사용합니다. detectPendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, n.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/48?category=806242 안드로이드 스튜디오 알람 사용하기 MainActivity의 버튼을 클릭하면 TimePickerDialog가 나오고 설정한 시간으로 알람을 설정하도록 해보겠습니다. 그 전에 TimePickerDialog 사용하는 방법입니다. https://1d1cblog.tistory.com/40 안드로이드 스튜.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/47?category=806242 안드로이드 스튜디오 뒤로가기 버튼으로 홈으로 이동하기 @Override public void onBackPressed() { Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/41?category=806242 안드로이드 스튜디오 Tcp 소켓통신하기(클라이언트) 이 포스팅은 앞서 작성한 라즈베리파이 Qt가 서버이고 어플이 클라이언트로 구성되어 있습니다. https://1d1cblog.tistory.com/39 라즈베리파이 Qt Tcp 소켓통신하기(서버) #ifndef DIALOG_H #define DIALOG_H #in.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/40?category=806242 안드로이드 스튜디오 TimePickerDialog 사용하기 TimerPickerDialog를 자바 코드에서 사용하는 방법입니다. public class MainActivity extends AppCompatActivity { ImageButton alarmButton; int alarmHour=0, alarmMinute=0; @Override protected void onCreat.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/38?category=806245 라즈베리파이 부팅 후 자동 실행(autostart 이용) GUI 프로그래밍한 프로그램을 부팅 시에 자동 실행해보기 위해 /etc/rc.local 파일에도 등록해보고 /etc/profile.d/안에 넣어보기도 했지만 잘 되지 않았다. 부팅이 다 된 후에 자동실행하는 법을 찾아봤 1d1cblog.tistory.com https://1d1cblog.tistory.com/20?category=806245 라즈베리파이에서 인체감지센서(SIS612P) 사용하기 1. 인체감지센서(SIS612P) SIS612P는 사람에게서 나오는 적외선을 감지해주는 센서이다. SIS612P의 사양은 다음과 같다. 항목 사양 측정 범위 100º 최대 감지 거리 7m 사용 전압 +5 ~ 24V 2. SIS612P 연결.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/16?category=806245 라즈베리파이에서 PMS7003 사용하기 1. PMS7003 이란? 공기중의 미세먼지를 측정할 수 있는 센서이다. 측정 범위 0.3~1.0(극초미세먼지) / 1.0 ~ 2.5(초미세먼지) / 2.5 ~ 10(미세먼지) 유효 범위 0 ~ 500 최대 범위 > 1000 2. PMS7003 연결 핀 배.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/11?category=806245 라즈베리파이에서 DHT11 사용하기 1. DHT11이란? DHT11은 온도와 습도를 모두 측정할수 있는 센서이다. DHT11의 측정 범위는 다음과 같다. 온도 0 ~ 50 ℃ ± 2℃ 습도 20 ~ 90 % ± 5% 2. DHT11 연결 위 처럼 4개의 Pin 중 1번 Pin.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/34?category=823445 Qt QThread 사용하기(화면 실시간 갱신하기) 센서값을 수집해서 실시간으로 실행창에서 최신화하고 갱신하는 방법에 대해 소개해 드리겠습니다. 먼저 QThread를 상속받는 클래스를 하나 만들어 줍니다. 생성된 qTh.h 파일에 소스코드를 아래와 같이 써줍니다.. 1d1cblog.tistory.com https://1d1cblog.tistory.com/37?category=823445 Qt QLabel에 사진 넣기 먼저 QPixmap 변수를 만들어 사진 경로를 지정해 줍니다. 저는 온도, 습도, 미세먼지 사진을 넣기 위해 3개의 QPixmap 변수를 생성했습니다. QPixmap을 사용하기 위해서는 QPixmap 헤더파일이 선언되어 있 1d1cblog.tistory.com https://1d1cblog.tistory.com/39?category=823445 Qt Tcp 소켓통신하기(서버) 먼저 헤더파일입니다. 헤더파일에서는 데이터를 수집하는 함수를 처리하기 위한 쓰레드, QTcpServer, QTcpSocket이 선언되어 있습니다. #ifndef DIALOG_H #define DIALOG_H #include #include <qtnetwor..< p=""> </qtnetwor..<> 1d1cblog.tistory.com |