esp32-cam 멀티 스트리밍(홈어시스턴트)

반응형
etc-image-0

esp32-cam이 도착하고

esp32-cam의 예제를 찾아 들어가서 

저번 글 처럼 파일을 열고 수정한 다음

스티리밍을 하면 여러가지 기능이 있지만 단점이 생각외로 너무 많았다.

스크린샷 2021-07-16 오후 4.07.07.png

문제1. 업로드 시간이 너무 오래 걸린다

보통 esp32 Dev Board의 업로드는 퍼센트가 초당 3% 정도씩 변하여 다른 아두이노 보드랑 비슷한 속도이다.
근데 이 예제는 초당 1%씩 걸려 3배나 오래 걸린다.
그래서 지겹다.

문제2. 스트리밍 영상이 오직 한대만 스티리밍이 가능하다.

이게 가장 큰 문제였다.
홈어시스턴트에 스트리밍을 하여도 오직 한대만 가능하기 때문에 
만일 가족구성원 중 누군가 보고 있거나 혹은 실수로 끄지 않고 열어두면 다른
위급한 상황에(침입, 소나기(농사)) 사람이 볼 수가 없다.
암튼 짜증이 난다.

문제3.  스트리밍시 은근히 시끄럽다.(해결X)

 

#시리얼 모니터에 표시되는 주소로 들어가면 버튼을 눌러 스트리밍을 하지만 http://xxx.xxx.xxx.xxx:81/stream 으로 접속하면 바로 스트리밍 영상이 나온다.

 

 

구글링을 하여 찾아보니

https://github.com/arkhipenko/esp32-cam-mjpeg-multiclient

 

arkhipenko/esp32-cam-mjpeg-multiclient

ESP32 MJPEG Multiclient Streaming Server. Contribute to arkhipenko/esp32-cam-mjpeg-multiclient development by creating an account on GitHub.

github.com

여기에 나타나있는데 설명을 읽어보니 FreeRTOS를 이용하여 최대 10대 까지 동시 스트리밍이 가능했다.

역시 깃허브 짱이다.

etc-image-2

1.  파일 다운로드

깃허브에서 상단 초록 박스를 클릭하여 파일을 내려밨고 압축을 해제하여주면(물론 자동으로 풀어주지만....)

스크린샷 2021-07-16 오후 4.30.25.png

 

2. 파일 열어 수정.

아두이노 파일을 열어 주고
Ai_Thinker의 주석을 해제하고 나머지는 막아둔다.

스크린샷 2021-07-16 오후 4.31.40.png

3. 같은 폴더(esp32_camera_mjpeg_multiclient) 내부에 home_wifi_multi.h 생성

자신이 편한 방법으로 만들어준다.
- vscode 
- 터미널(나는 간지 나니까 이걸루)
    해당 폴더 우클릭하고 ⌥(option)키를 클릭하여 경로 복사
    cd [경로]
    touch home_wifi_multi.h
    //로 해당 파일 아래에 파일이 생성 되었는지 확인이 가능하다.

스크린샷 2021-07-16 오후 4.42.12.png
스크린샷 2021-07-16 오후 4.44.34.png

//알아서 만들어두면 좋았을 걸

 

4. home_wifi_multi.h 를 열어 아래의 코드를 수정하여 넣는다.

#define SSID1 "와이파이 이름"
#define PWD1 "비밀번호"

 

5. 아두이노 esp32_camera_mjpeg_multiclient.ino를 끄고 다시 연다.

아두이노 탭에 home_wifi_multi 가 추가 되었다.

스크린샷 2021-07-16 오후 4.48.14.png

 

6. 업로드!!(초당 3% 속도로 빠르게 업로드 된다)

초당 3% 속도로 빠르게 업로드 된다.

 

7. 시리얼 코니터를 열고 주소를 복사하여 사용하면 된다.

스크린샷 2021-07-16 오후 4.55.25.png
etc-image-9

 

 

두 장치에서 동시에 스트리밍이 된다.

 


홈어시스턴트에서 보기 위해서는 

홈어시스턴트 파일 에디터 열고 아래 코드를 수정하여 넣으면 된다

- type: picture
image: 'http://172.30.1.32/mjpeg/1' #스트리밍 주소
tap_action: #액션은 나중에 쓸일이 있을까봐 미리 만들어 둔 것으로 필요 없다
action: none
hold_action:
action: none

스크린샷 2021-07-16 오후 4.58.20.png

etc-image-11
반응형