Software Backend
install rtsp & depthai
RTSP Server install rtsp server git clone run rtsp server ./rtsp-simple-server & Depthai install rtsp - depthai git clone edit file cd depthai-rtsp-http vi main.py # 수정사항 1. 1920 x 1080 -> 1280 x 720 로 수정 2. THE_1080_P -> THE_720_P 로 수정 install requirements venv를 생성하여 requirements 설치 시 기존에 호스트에 설치되어 있던 라이브러리들과 버전 문제로 충돌. 에러 발생 에러가 발생 할 경우 venv 미사용하고 호스트 자체 pip를 이용하여 실행하여 정상 작동됨 pip install -r re..
install ros2 galactic & test
Create Docker & exec docker run -itd --rm --name ros2_test ubuntu20.04 /bin/bash 접속 docker exec -it ros2_test bash Add User & exec user adduser testuser sudo 설치 및 권한 부여 apt install sudo usermod -aG sudo testuser exec user su - testuser Install ROS2 galactic Document https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Debians.html Ubuntu (Debian) — ROS 2 Documentation: Galactic documenta..
oak-d camera & ros2 설치 및 영상 출력
소프트웨어 설치 소스 설치 sudo wget -qO- | sudo bash sudo apt install libopencv-dev sudo apt install python-rosdep # 또는 sudo apt install python3-rosdep 로스뎁 초기화 sudo rosdep init 에러 발생 ERROR: default sources list file already exists: /etc/ros/rosdep/sources.list.d/20-default.list Please delete if you wish to re-initialize 해결방법 sudo rm /etc/ros/rosdep/sources.list.d/20-default.list 로스뎁 업데이트 rosdep update 설정 설..
ros2 javascript (nodejs) test
Create docker docker run -itd --rm --name=jstest ubuntu:20.04 bash docker exec -it jstest bash Install node js https://github.com/nodesource/distributions apt update & apt install sudo curl curl -fsSL | sudo -E bash - &&\\ sudo apt-get install -y nodejs Install Ros2 galactic https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Debians.html locale # check for UTF-8 sudo apt update && sudo..
Unix & Linux
Unix & Linux Unix의 특징 다중 사용자 다중 작업 시분할 방식의 운영체제 윈도우와 비교해 보면 알 수 있다. 윈도우는 한 명의 사용자만 접속이 가능하다. 만약 Remote 즉 원격으로 접속하게 될 경우 다른 로그인 사용자는 잠금이 되게 된다. 유닉스는 CMD 창을 통해 다수의 사용자가 접속하여 다중 작업이 가능하다 시분할 방식의 운영체제는? 각 사용자가 CPU에 대해 일정 시간을 할당 받아 대화식으로 사용이 가능하게 한다. 짧은 시간 간격을 두고 컴퓨터 자원을 시간적으로 분할하여 사용할 수 있게 한다. 즉 여러 사람이 하나의 시스템을 공유하여 사용하고 있지만 빠른 전환을 통해 마치 각 사용자가 자신만의 컴퓨터를 사용하는 것과 같은 착각을 준다. Linux의 특징 Unix의 특징을 가지고 있다..
에러, Ubuntu Emergency mode 해제
문제 컴퓨터를 재부팅 할 일이 생겨서 sudo reboot를 하였는데, ssh로 접속하려 해도 전혀 접속이 되지 않았어요 해당 컴퓨터에 직접 가서 켜보니 Welcome to emergency mode 라고 나와 있었습니다. 엥? 설마… 다 없애야 하는 것인가 ……!!!? 했는데요 열심히 구글을 서치 했는데도 문제가 해결되지 않았습니다. 그러다 가장 많이 보였던 디스크에 문제가 발생한 것일 수 있다 라는 이야기였는데 번뜩 생각났습니다. 이전에 쿠버네티스 실험 도중 mount 했던 폴더를 삭제하고 umount를 했던 것이… 해결 *문제가 됐던 UUID 추가했던 부분은 아예 삭제해서 아래 이미지에는 없어요 삭제해서 존재하지 않는 폴더에 대한 마운트 코드를 주석처리 하고 reboot 하니 잘 구동되었습니다.
에러, flask errorhandler production 모드에서 작동하지 않음
문제 errorhandler를 분명 등록해서 custom exception을 발생하도록 작성했습니다. 그런데 어느순간부터 작동하지 않고 계속 에러가 발생합니다. 분명 달라진 것이 없는데? 도대체 왜 이러는거지? 왜 내게 또 이런 시련이? 이전에 작성했던 코드와 비교해보면서, 붙여넣기도 해보고... 이게 문제인가? 하고 바꿔도보고... 전혀 문제될 것이 없었습니다. 해결방법 테스트 하는 도중 flask run 시 production 모드로 실행되는 것이 보여서 혹시나 싶어 debug 모드로 실행해 봤는데 error handling이 잘 됩니다. 확인결과 flask는 debug 모드나 Testing 모드에서 예외에 대해 곧이곧대로 받아들이는 반면 production 모드는 예외가 앱의 오류 처리기에 의해 처..
7.Flask 회원가입, 로그인 암호화 및 JWT + Redis
flask로 회원가입, 로그인 암호화 및 JWT를 통한 사이트의 안전성 확보를 하겠습니다. https://github.com/kschoi93/flask-example 패키지 설치 pip install flask-jwt-extended pip install flask-bcrypt pip install redis # Ubuntu에서 redis server 설치 sudo apt-get update sudo apt-get install redis toy.models.example_models.py 테스트 용도의 user_id와 password를 가지고 있는 User 모델 추가합니다. class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, ..