시스템소프트웨어 1401552 김 영욱 1401586 양 오석. 목적  라즈베리파이에서 GPIO 를 이용하여 초음파 센서를 연결하고 거리를 측정해 일 정한 거리안에 사람이 들어오면 파이 카메라를 이용하여 사진을 찍고 데이터 베 이스에 올려 웹에서 사진을 보고 검색을.

Slides:



Advertisements
Similar presentations
Python Essential 세미나 1 Python Databases Module - Part 2 (MySQL Module) 발표자 : 박영국 ( 화 )
Advertisements

데이터 베이스 (MYSQL) 장수용. MYSQL 이란 ? -MySQL 은 DBMS( 데이터베이스 관리 시스템 ) 이다. - MySQL 은 RDBMS( 관계형 데이터베이스 ) 이다. - MySQL 은 오픈소스이다. - MySQL 은 빠르고, 안정적이고.
제어기 활용 -GPIO Ch.05 RaspberryPi Sejin Oh. Raspberry Pi 제어기 활용 -GPIO  GPIO (General Purpose Input Output)  마이크로프로세서가 주변장치와 통신하기 위해 범용으로 사용되는 입출력 포트 
HTML + JavaScript UIT Series [Chapter 3] HTML 을 이용한 회원 정보 입력 양식 만들기.
주사위를 이용한 땅 따먹기 청솔초 영재학급 4 학년 장 택 민 목차 1. 제작 동기와 원리 2. 필요한 도구 3. 게임규칙 설명 4. 게임 분석 및 전략 1. 제작 동기와 원리 2. 필요한 도구 3. 게임규칙 설명 4. 게임 분석 및 전략.
의료자원 규제현황과 개선방향 자원평가실. 의료자원 관리 개요 규제개혁 토론과제.
여러가지 멸종위기 동물과 세계5대 희귀동물에대한 조사 5학년 1반 13번 이채원
주제탐구학습발표대회 고구마를 어떻게 하면 잘 키울 수 있을까? 구름산초등학교 5학년 박희수.
연 합 남 전 도 회 월 례 회 1부 예배- 찬 송 장 다같이 2011년 1월 2일 1부 예배- 찬 송 장 다같이 기 도
금속의 종류와 액체의 성질에 따른 금속의 부식 창의적 산출물 연구 보고서 부명 초등 학교 임재윤 지도교사 노지은선생님
사 업 계 획 2011년 제1호 - 2월 1일 2011 주 안에서 소통하며 화합하고 참여하며 헌신하는 남신도회
Vision System Lab, Sang-Hun Han
일본의 보차도경계연석 참고자료 옥기영 일본의 인터넷에서 가능한 자료를 찾아보았습니다. 처음으로 관심을 가져보는 사안이고, 관련배경지식도 부족합니다. 그리고 제가 있는 곳이 옛 수도의 교토시라서 도로의 폭은 상당히 좁고, 동선도 직선형이지 못합니다. 대지진후에 재건설된 고베시나.
10장 회원 가입과 로그인 한빛미디어(주).
IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이 gpio.
PHP programming 2000년 11월 13일 데이터베이스 연구실 김호숙.
김 상 국, 김 기 훈 한남대학교 컴퓨터공학과 데이터베이스 실험실
HTML과 CGI 프로그래밍 PHP 웹 프로그래밍 (PHP Web Programming) 문양세
예방접종 정보 SITE.
13장 공지사항 한빛미디어(주).
MySQL 연동 PHP 프로그래밍 기초 순천향대학교 정보기술공학부 이상정.
웹 해킹 기초와 실습.
사업타당성 분석 창업 사업계획서 작성.
11장 방명록 한빛미디어(주).
APM 실습 (MySQL).
3장. PHP 소개 데이타통신특론 김태영교수님 홍창의.
HTML CSS 자바스크립트 무작정 따라하기
GPIO RaspberryPi Sejin Oh.
GPIO RaspberryPi Sejin Oh.
11장. 데이터베이스 서버 구축과 운영.
14장 질의응답 한빛미디어(주).
2. PHP 프로그래밍 웹 브라우저로 데이터 전송 주석 작성하기 변수/상수 문자열/숫자형 HTML 폼 만들기
JavaScript 객체 전 혜 영.
Chapter 05 데이터베이스 프로그래밍.
Chapter 07 소스코드의 취약점 분석.
9. 데이터베이스 9.5 SQL을 사용하는 프로그램 9.6 데이터폼 작성기를 사용하는 프로그램
ASP를 이용한 전자상거래 사이트 구축 지도교수님: 이형원 컴퓨터응용과학부 박정선.
영단어 학습 사이트.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
16장 설문조사 한빛미디어(주).
2012 인터넷 응용프로그래밍 FTP, MySQL 사용 방법 및 텀 프로젝트용 서버에서 웹페이지 구동 방법 설명
SuperNBlog V2 안녕하세요 SuperNBlog 가 V2 버전으로 새롭게 개발되었습니다.
영원한 복음.
낮과 밤 알아보기 슬기로운 생활 2학년 1학기 4. 빛과 그림자>낮과 밤( 4/8 )
상용 DBMS에서 사용하는 다차원색인 컴퓨터과학과 이돈규 상용 DBMS에서의 다차원색인.
목차 INDEX 1. 회원가입 및 로그인 2. 업체정보 3. 제조검사 신청 4. 인보이스 5. 검사진행현황(현장검사 신청)
15장 자료실 한빛미디어(주).
Database 중고차 매매 DB 비즈니스IT 윤동섭.
HTML, PHP, MySQL, Javascript
Raspberry Pi GPIO PWM Servo Motor
키타노카시쇼쿠닌(北の菓子職人) - 「오호츠크의 소금 맛」
17장 웹 사이트 제작 완성 한빛미디어(주).
ASP 수행 화면(1).
SQL INJECTION MADE BY 김 현중.
1. 어스앵커 시공계획 1-1. EARTH ANCHOR FLOW – CHART 및 전경 공종완료 케이싱 인발
에어 반복문 (1).
두근두근 파이썬 수업 14장 프로젝트 II.
제안 목적 고객성향 분석으로 매출 증대 유사업체 분석으로 신상품 홍보 원가요소 분석 및 피드백으로 원가율 관리
과제 #5 MySQL 연동 php문서에서 SQL문의 삽입, 삭제, 수정, 검색을 수행한다. 주어진 form을 최대한 활용한다.
청각기관의 구조와 기능2 옥정달.
식물의 성장조건 만 든 이 : 김지혁 지도교사 : 김경순선생님.
문서 작성에 사용되는 기본태그 HR, PRE, B, I, U, S.
테이블 데이터 처리용 command line tool들
인천SW교육지원센터 체험프로그램 라즈베리파이 이용 포토부스 만들기.
책을 읽읍시다  탈향 진지하게 설명해드림 1303 김소희 1309박지호 1315이지수.
Web & Internet [10] 입문 – input 태그
PHP 기본 프로그래밍 2 장종원
2016년 제1차 운영위원회 평택시건강가정 ∙다문화가족지원센터
PHP 기초문법 PHP를 공부하는데 있어 가장 기초가 되는 PHP기초문법에 대해서 배워 봅니다.
Presentation transcript:

시스템소프트웨어 김 영욱 양 오석

목적  라즈베리파이에서 GPIO 를 이용하여 초음파 센서를 연결하고 거리를 측정해 일 정한 거리안에 사람이 들어오면 파이 카메라를 이용하여 사진을 찍고 데이터 베 이스에 올려 웹에서 사진을 보고 검색을 할 수 있게 했습니다.

프로젝트 재료  라즈베리파이  카메라모듈  초음파 센서

Flow chart 화면에 출력 사진을 찍고 저장한뒤 파일 이름을 db 에 저장한다 시작 앞에 물체 있는지 판단 Db 에 파일이 있는지 판단 없으면 있으면 없으면 있으면

회로도

프로젝트 과정  라즈베리파이에 Python 과 mysql 을 연동시켜주는 파일을 설치하고 초음파 센서 와 카메라 모듈을 연결하여 python 을 이용하여 일정거리 안에 들어오면 사진을 찍고 mysql 에 접속하여 파일명을 DB 에 저장하였습니다.  Apache2,mysql,php 를 설치하여 웹서버를 구축하고 php 를 이용하여 mysql 에 접 속하고 DB 에서 파일명들을 불러와 태그를 이용하여 DB 에 저장되어있는 이미지들을 불러오고 검색할 수 있게 하였습니다.

Python 소스  #-*- coding: utf-8 -*-  import RPi.GPIO as GPIO  import time  import picamera  import MySQLdb   mysqlid='root'  mysqlpasswd='1234'  database='image'   GPIO.setmode(GPIO.BCM)  GPIO.setwarnings(False)  # 20 번 GPIO 를 출력 방향, 21 번 GPIO 를 입력 방향으로 설정 한다.  TRIG = 20  ECHO = 21

Python 소스   GPIO.setup(TRIG, GPIO.OUT)  GPIO.setup(ECHO, GPIO.IN)   GPIO.output(TRIG, False)  time.sleep(2) # Wait for sensor settle  while True:  GPIO.output(TRIG,True)  time.sleep( ) #why?  GPIO.output(TRIG, False)  # 음파를 방출  while GPIO.input(ECHO)==0:  s_time= time.time()

Python 소스  # 반파를 송신  while GPIO.input(ECHO)==1:  e_time= time.time()   # 비행시간측정  duration = e_time-s_time   # 거리 = 시간 * 속도 /2  distance = duration *17150   # 소수 둘째자리까지 반올림  distance = round(distance, 2)   print "distance :", distance, " cm"

Python 소스  if(distance<50):  db=MySQLdb.connect('localhost',mysqlid,mysqlpasswd,database);  with picamera.PiCamera() as camera:  camera.start_preview()  now=time.localtime()  s="%04d_%02d_%02d_%02d_%02d_%02d.jpg"%(now.tm_year,now.tm_mon,now.tm_md ay,now.tm_hour,now.tm_min,now.tm_sec)  print s  file="/var/www/image/"+s  camera.capture(file)  camera.stop_preview()

Python 소스  cur=db.cursor()  cur.execute("insert into img(name) values(\'"+s+"\')")  db.commit()  cur.close()  db.close()  time.sleep(10)  GPIO.cleanup()

Python 설명  ECHO 를 21 번에 TRIG 을 20 번에 연결하고 gnd 를 끌어다 echo 에 저항 3K 를 연결 하였습니다.  Rpi.GPIO 모듈을 이용하여 초음파센서를 설정하고 초음파가 갔다 오는 시간을 duration 변수에 넣고 거리를 시간 * 속도 /2 를 하여 계산을 하였습니다.  MySQLdb 모듈과 picamera 모듈을 이용하여 거리가 50 미만이면 사진을 찍고 DB 에 저장을 하게 하였습니다.

웹 소스 (Index.php)    Double-Y   Index  Img

웹 소스 (Index.php)   Image  Date 

웹 소스 (Index.php)  HTML 소스를 이용하여 웹에 대한 기본틀을 짜고 PHP 소스를 이용하여 다른 php 파일을 include 하였습니다.  태그를 이용하여 표를 만들고 표안에 이미지를 넣게 하였습니다.

웹 소스 (mysql.php)  <?php  $hostname=" ";  $username="root";  $password="1234";  $dbname="image";   $connect=mysql_connect($hostname,$username,$password) or die("MySQL Fail");  $dbconn=mysql_select_db($dbname,$connect);  $result=mysql_query("select name from img");  echo " ";  while($row=mysql_fetch_assoc($result)){  $n=$row['name'];

웹 소스 (mysql.php)  $date = substr($n,0,4)."/".substr($n,5,2)."/".substr($n,8,2)." ".substr($n,11,2).":".substr($n,14,2).":".substr($n,17,2);  echo " ";  echo $date;  echo " ";   }  echo " ";  mysql_close();

웹 소스 (mysql.php)  Hostname 과 username, password, dbname 을 변수로 선언하여 저장해놓고 mysql_connect 를 이용하여 mysql 에 접속하여 connect 변수에 상태를 넣었습니 다.  Mysql_select_database 를 이용하여 데이터베이스를 설정하고 dbconn 변수에 넣 었습니다.  Img 테이블에 있는 모든 name 컬럼을 가져오는 Sql 문인 ‘select name from img’ 을 Mysql_query 를 이용하여 result 변수에 저장하였습니다.  mysql_fetch_assoc 를 이용하여 result 변수에 있는 것들을 배열로써 불러와 컬 럼명을 이용하여 접근할수 있게 하였습니다.  Substr 을 이용하여 문자열을 잘라 찍은 시간을 볼 수 있게 하였습니다.  태그를 이용하여 이미지를 불러오고 width 와 height 를 이용하여 크기를 조정하였습니다.

웹 소스 (search.php)   Double-Y   Index  Img 

웹 소스 (search.php)   ~ 

웹 소스 (search.php)  Html 로 기본적인 웹 틀을 작성하고 태그를 이용하여 검색버튼을 누르면 검색을 하는 파일이 있는 경로로 가 그 파일을 불러올 수 있게 했고, 태 그를 이용하여 text 를 넣는 창과 검색버튼을 넣을수 있게 하였습니다.

웹 소스 (s_m.php)   Index  Img 

웹 소스 (s_m.php)  <?php  $Date1 = $_POST["date1"];  $Date2 = $_POST["date2"];  $hostname=" ";  $username="root";  $password="1234";  $dbname="image";  $connect=mysql_connect($hostname,$username,$password) or die("MySQL Fail");  $dbconn=mysql_select_db($dbname,$connect);

웹 소스 (s_m.php)  $result=mysql_query("select name from img where name between '".$Date1.".jpg' and '".$Date2.".jpg'");  echo " ";  echo " Img Date ";  echo " ";  while($row=mysql_fetch_assoc($result)){  $n=$row['name'];  echo " ";  $date = substr($n,0,4)."/".substr($n,5,2)."/".substr($n,8,2)." ".substr($n,11,2).":".substr($n,14,2).":".substr($n,17,2);  echo " ";

웹 소스 (s_m.php)  echo " ";  echo $date;  echo " ";  }  echo " ";  mysql_close();  ?>

웹 소스 (s_m.php)  _POST 를 이용하여 search.php 에서 입력한 text 를 불러왔습니다.  데이터베이스에 접속하고 ‘select name from img where between $Date1 and $Date2’ 를 이용하여 전에 입력한 text 사이의 기간에 찍었던 사진들을 불러오게 하였습니다.

실행 화면 (index.php)

실행화면 (search.php)

실행화면 (s_m.php)( 검색결과 )