본문 바로가기

개발Study65

pip 패키지 설치 시간 단축시키기 참고 site: https://qspblog.com/blog/python-pip-%ED%8C%8C%EC%9D%B4%EC%8D%AC-pip-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EC%86%8D%EB%8F%84-%EB%B9%A0%EB%A5%B4%EA%B2%8C-%ED%95%98%EA%B8%B0 mirror site를 추가하여 단축시킬 수 있다. $ mkdir .pip $ vi .pip/pip.conf 아래 내용을 입력하여 kakao mirror site로 추가함. [global] index-url=http://ftp.daumkakao.com/pypi/simple trusted-host=ftp.daumkakao.com 개빨라짐... 2023. 9. 7.
convert hex string to bytes 할 때마다 검색하는 나란 개발자... 이 참에 정리해두자. 아래 string은 말그대로 hex string이다. hex값을 string형태로 가지고 있음. 이를 byte 형태로 변환하는 코드 str1 = '0x0A' str2 = '0A' # 먼저 integer의 형태로 변환 hexint = int(str1, 16) print(hexint) # integer to byte print(bytes([hexint])) # 한번에 하기 print(bytes([int(str1, 16)])) # str2도. print(bytes([int(str2, 16)])) 문자열을 숫자로 변환한다고 생각하면 쉽다. 16진수 숫자로 변환하는 것이다. 다음으로 int를 byte로 변환하면 된다. 출력: 10 b'\n' b'\n' b.. 2023. 8. 8.
make IP camera using raspberry pi 4 (14) sound detecting 만드는 순서가 뒤죽박죽이긴 한데 아이가 울면 핸드폰 알람이 울리도록 하기 위해서 sound detecting을 준비하기로 했다. 먼저 rpi에서 python으로 recording기능을 테스트 함. https://makehappylife.tistory.com/entry/rpi-%EB%A7%88%EC%9D%B4%ED%81%AC-%ED%99%95%EC%9D%B8-%EB%B0%8F-%EB%85%B9%EC%9D%8C python pyaudio를 통해 sound입력레벨을 알 수 있고, threshold를 정해 지정시간동안 큰 소리가 발생하면 디텍팅이 가능하다. 디텍팅 함수를 아래와 같이 구현하였다. def detect_sound(data_chunk): THRESHOLD = 350 compare = max(data_.. 2022. 3. 2.
rpi 마이크 확인 및 녹음 먼저 마이크 기능 확인하기. 1. 마이크 인식 확인 명령어를 통해 연결된 mic를 확인할 수 있다. $ arecord -l card1의 device0로 인식된 것을 확인할 수 있다. card0이면 상관없는데 1로 인식되어 있다면 alsa.conf 파일을 수정해주어야 한다. sudo vi /usr/share/alsa/alsa.conf card를 1로 수정. 그럼 녹음을 해보자. $ arecord -D plughw:1,0 -d 5 test.wav arecord 명령어로 녹음할 수 있고, -D는 device, -d는 초단위의 녹음할 시간, 마지막에 파일명을 적어준다. device에는 plughw: 다음에 위에서 인식한 card1, device0의 1,0을 적어준다. 그러면 5초동안 녹음이 된다. 재생해서 녹음.. 2022. 2. 28.
make IP camera using raspberry pi 4 (13) notification app실행시 폰에 simple server를 하나 돌리고, url을 등록한다. 그러면 서버에서 폰에 web hook을 보낼 때 해당 url에 전송하고, url에 request가 왔을 때 alert를 띄우는 기능이 되겠다. 이렇게 하려고했더니 자료가 잘 없다. 몇년전까지 android에서 nanohttpd라는 것을 사용한 것 같다. 확실히 nanohttpd git을 보니 몇년 전까지만 업데이트되었다. kotlin으로 구현된 http server api를 발견하였지만 난 java니까 패스... 빠르게 nanohttpd를 사용해본다. 1. build.gradle(Module)에 아래 내용 추가 implementation 'com.nanohttpd:nanohttpd-webserver:2.1.1' 이렇게 하면 a.. 2022. 2. 26.
make IP camera using raspberry pi 4 (11) responsive web UI 고생하여(?) 만든 web page를 핸드폰에 띄웠을 때는 정말 당황스러웠다. UI가 엉망진창이라서.ㅎㅎ web page를 핸드폰에 띄웠을 때 최적의 사이즈로 맞춰주도록 반응형으로 변경해보고자 한다. html 코드를 수정한다. 아래는 기존의 html 코드이다. 아래는 화면크기에 따라 css가 변경되는 html 코드이다. 이렇게 바꿔준다. 이렇게하면 width가 801 pixel이상 되는 화면에서는 기존 ui가 나올 것이고, 800pixel 이하 되는 화면에서는 모바일 ui가 나올 것이다. html에 frame을 img로 넣어준 태그는 class를 부여했다. static에 들어있던 기존의 css파일을 mobile-css로 복사하여 사이즈를 수정해주자. 기존에는 50%였으나, 모바일에서는 가장 크게 보이게 .. 2022. 2. 22.