본문 바로가기

분류 전체보기311

마무리글 #6~8/8 8월 막바지에 학교에서 제공한 iot 수업. 한 주는 학교 게스트룸에서, 나머지 날들은 집에서 통학하며 교육을 들었고 , 총 8일의 40시간 교육 교육을 마치게 되었다. 본래 매일 글을 쓰려고 했지만 그러지 못했다ㅎㅎ iot 교육을 진행하면서 기계과 수업에서는 접하지 못했던 것들을 접했고 폰과 라즈베리파이를 통신시키는 방법에 대해 감을 익힐 수 있었다. 이 후에 다시 활용하여야 한다면 큰 틀의 개념을 바탕으로 보다 빠르게 접근할 수 있을 것이다. 교육의 초반에는 라즈베리파이 자체를 다루었는데 GPIO 입출력과 파이썬으로 센서 혹은 모터를 활용하였고 이 후에 mongoDB를 이용한 DB만들기-nodejs다운-POSTMAN으로 LOCAL에서 요청을 진행하였다. 이는 안드로이드로 DB에 요청하기전에 먼저 시험.. 2020. 8. 31.
전체적인 프로젝트 기술구성 #5/8 지금까지 라즈베리파이의 GPIO에 여러 센서들을 연결해보고 공개되어 있는 코드를 이용해 작동시켜보았다. 하나의 프로젝트를 구성하는 전체적인 그림을 살피고 이를 위한 환경설정을 하였다. 저 위의 그림이 이번 교육 동안에 해낼 프로젝트의 구성이다. 정확히 이해하지 못해 아직 공부할 것이 많지만 오늘 배운 것을 정리해본다. 전체적으로 살펴보면, 센서가 있는 라즈베리파이에서부터 데이터를 수집하고 이를 MONGO DB에 저장한다. 이 데이터베이스는 그저 데이터들을 저장할 뿐이다. 데이터베이스에 저장된 데이터를 이용해 원하는 작업을 하는데 서버에서 이루어지도록하고 이를 안드로이드폰으로 조종하는 것이 목표이다. DB안의 데이터를 이용해 node에서 원하는 작업을 요청하기 위해서 우리는 안드로이드를 이용하고 로컬을 통.. 2020. 8. 31.
침입감지시스템, 모터제어 #4/8 -움직임감지 센서를 활용해 움직임이 감지되면 나에게 메일 보내기 -모터제어 모든 부품은 그라운드부터 연결하고 전원은 마지막에 PWM을 이용해 각도제어. 모든 핀이 PWM제어가 되는 것은 아님 -RELAY란 전기적으로 제어가능한 스위치. -카메라 연결 -openCV란 감지 센서가 아닌 카메라에서 영상분석을 통해 움직임을 검출 ??openCV 와 AI의 차이점?? 다른점?? **openCV활용해 프로젝트 진행해보기 https://github.com/needs-searcher/rasp_0825 2020. 8. 25.
라즈베리파이 일기 #3/8 -리눅스 명령어 이해 vnc 원격접속으로 사용도 가능하다. 리눅스 기반 운영체제는 계정에 민감 파일마다 권한 계정이 있다. 그룹 drwxrwxrwx 2 pi pi d : dir rwx : read/write/excute 첫 3개는 계정 두번째 3개는 그룹 세번째 3개는 그룹내 다른 사용자 의 권한을 표시 -플로팅과 pull down 저항 GPIO는 기본적으로 디지털, 0과 1로 ON/OFF만 가능한데 PWM으로 아날로그를 흉내낼 수 있다. floating : 버튼을 누르지 않았을 때에도 LED에 불이 들어올 수 있는데 이는 FLOATING 현상 때문. 노이즈로 인해 전원이 인가된 것으로 인식 https://m.blog.naver.com/PostView.nhn?blogId=jwcreative&logNo=2.. 2020. 8. 25.
지식이 아니라 활용, 적용, 창출// 무엇을 만들까? #2/8 https://www.youtube.com/watch?v=Hbw5Qz7AYlk 위 강연 내용을 고대로 옮겨놓은 블로그도 있다. https://m.blog.naver.com/PostView.nhn?blogId=jjw408&logNo=221349934769&proxyReferer=https:%2F%2Fwww.google.com%2F 기계가 할 수 없는 질문을 하라!(한양대 김창경 교수 강의) ★★★★★ 기계가 할 수 없는 질문을 하라! - 4차 산업혁명 시대를 가장 잘 설명한 아주 훌륭한 강의다 ▶ 김창경 교... blog.naver.com 다시 내가 요약하자면, 인공지능, 디지털 시대에서 필요한 능력은 지식함양이 아니라 지식과 데이터활용능력 우리에게 주어진 시간, 비용, 노력 등의 리소스를 어디에 어떻게 .. 2020. 8. 21.
python) 실습문제 풀기 (풀이코드 첨부) : 미성년자 판단 만 19세 이상이면 성인 아니면 미성년자 ex) 만나이를 입력하세요 : 23 성별을 입력하세요 : 여자 ---> 성인 여자입니다. : 두번째로 큰 수 출력 사용자에게 3개의 정수를 입력받아 그중 두번째로 큰수를 출력 ex) 15, 15, 12 --> 12 17, 13, 13 --> 13 : 공약수 판단 두 수를 입력 받고 공약수에 3이 있는지 없는지 판단 ex) 첫번째 수를 입력하세요 : 12 두번째 수를 입력하세요 : 15 ---> 공약수에 3이 있습니다. : 비만도 측정 BMI : 저체중 (18.5) 정상 (23) 과제중 (25) 비만 BMI = 몸무게/키^2 ex) 키를 입력하세요(cm) : 173 몸무게를 입력하세요(kg) : 77 ---> 비만입니다 : 입력받은 수 거꾸로 출력.. 2020. 8. 18.
라즈베리파이 설치와 파이썬 #1/8 학교에서 진행하는 라즈베이파이를 활용한 IoT플랫폼 구축에 대한 내용을 기록하고자 한다. 오늘은 아래의 내용을 공부했다. 1. 라즈베리파이란 2. 라즈베리파이 개발환경 3. 파이썬 기본 1. 라즈베리파이란 PC에 하드와 메모리가 있다면 라즈베리에는 메모리와 MICRO SD카드가 있다. 작은 컴퓨터로 제어하고자 하는 물체를 제어하기 위해 필요하다. 아두이노도 있지만 카메라로부터 이미지 데이터를 받고 처리하기 위해서는 그래픽처리성능과 속도가 빠른 라즈베리파이가 좋다. 가격이 매우 비싼줄 알았지만 라즈베리4 기준 55$, 라즈베리3은 35$로 6만원이 안되는 가격이다. 물론 아두이노에 비하면 저렴하지도 않다. (내 생각 끄적) 보통 가정에서의 iot를 생각하지만 실제로 유튜버의 후기를 보면 하나의 플랫폼으로 .. 2020. 8. 18.
새로운 node 추가 : subscribe와 client 수행하기 지금까지 총 2개의 노드를 만들었는데 여기에 하나의 노드를 추가로 만들어 다른 2개의 노드로부터 message를 받는 실습을 했다. 새로운 노드를 추가하면 해야할 것이 있다. 1. 패키지 파일 안의 launch 파일에 있는 .launch를 수정해 새로운 노드가 roslaunch를 했을 때 실행되도록 수정한다. 2. 패키지 파일에 있는 CMakeList.txt 혹은 package.xml를 수정한다. (필요한 라이브러리, dependencies를 불러오기 위해?) 3. 최상위 파일에서 catkin_make로 build 한다. 4. 최상위 파일에서 $ source devel/setup.bash $ roslaunch 를 차례로 수행하여 모든 노드를 실행한다. 이렇게 새로운 노드인 look_away의 소스코드를 .. 2020. 8. 18.
간단한 node 작성, 실행해보기 오늘 오후 시간동안 한 것 1. simple_mover 노드 실행하기 2. arm_mover 노드를 실행하여 서비스를 통해 조인트 각도 조절하기 하나의 패키지 안에는 여러노드 그리고 서비스 등 여러 가지 것들이 들어있다. 오늘은 simple_arm이라는 이름의 패키지를 생성하고 그안에 simple_mover 노드와 arm_mover 노드를 만들었다. simple_mover노드는 미리 짜여진 움직임을 수행하는 노드였고 때문에 이 노드를 실행하면 로봇은 하나의 동작을 반복하였다. arm_mover노드는 GoToPosition.srv라는 서비스를 만들어 내가 원하는 대로 로봇움직임을 실행시킬 수 있었다. catkin_ws이름의 최상위 파일 아래로 src(source의 줄임) 파일이 있고 이 곳에 패키지를 생성.. 2020. 8. 16.
200813일기 c++과 ros [c++] -sololearn while, for, do-while 반복문 공부 int main(int argc, char** argv)의 의미, string의 의미, argument(인자)의 의미 공부. 완전히 이해 되지는 않는다. -삼성 코딩대회 참가신청 https://www.codeground.org/ codeground Codeground is a real-time coding website open to those interested in software development and algorithms. www.codeground.org [ROS] - udacity workspace 만들고 package추가하고 node를 쓰는 과정을 공부중 - 책 지난번 읽었을 땐 감이 안오던 내용들이 조금씩 .. 2020. 8. 13.
github에 push하기 이전에 github에서 다른사람의 코드를 보기위해 회원가입을 한적이 있다. 아직 내 파일을 올려본적은 없는데 오늘 올려보았다. 유다시티 첫 프로젝트인 가제보 프로젝트를 올렸다. https://github.com/needs-searcher/gazebo_tutorial needs-searcher/gazebo_tutorial Contribute to needs-searcher/gazebo_tutorial development by creating an account on GitHub. github.com 아래 영상을 참고하였다. https://www.youtube.com/watch?v=kHwkaw3AxtY https://www.youtube.com/watch?v=wTphObvEH9w&t=3s 2020. 8. 7.
[catkin] workspace와 package 8/6 catkin, workspace, package의 역할 일반적으로 프로젝트를 수행할 때, 프로젝트를 담을 파일을 만들고 이 안에서 관련 data들을 저장한다. 마찬가지로, ros를 할 때 프로젝트를 담을 workspace를 만들고 그안에 package를 추가한다. 이 때, 여러 package가 존재하는데 이를 관리하는 것이 catkin 인 것 같다. catkin : a powerful build and management system catkin workspace : 최상위 directory로써 모든 package를 담는다. catkin package : 모든 ros 소프트웨어는 catkin package로써 구성되고 분배된다. workspace와 마찬가지로 그냥 하나의 directory(파일)에.. 2020. 8. 6.