안드로이드 스마트폰으로 간이 감시 카메라 만들기
SORACOM Advent Calendar 2021 12일째 보도다.
매우 수준 높은 기고가 이어지는 가운데 2년 연속 무례하게 투고해 실례가 됐다.
이 글은 IoTLT 히로시마 특별편 with HiBis의 LT에 발표된 장치의 설치 방법에 대해 설명하였다.
행사의 상황과 내용은 아래를 보십시오.
최근에는 안드로이드 스마트폰으로 Node-RID를 시작할 수 있는 레드모바일이라는 것을 가르쳐 달라고 부탁했다.
https://play.google.com/store/apps/details?id=com.okhiroyuki.redmobile
유상이지만 500엔짜리 좋은 앱이라고 생각해요.
이 앱을 사용해 일정 주기에 이미지를 촬영하고 SORACOM으로 시각화된 간이 감시 카메라를 제작했는데 소개해 드리겠습니다.
https://soracom.jp/recipes_index/2956/
전제 조건
우리측은 다음과 같은 구성이다.
나는 사전에 다음과 같은 일을 할 것이다.
참조순번, 스마트폰에 와이어 가드를 설치하고 QR코드로 SORACOM Arc
RedMobile을 시작하고 Start를 클릭합니다.
Node-RID를 시작하면 http://(로컬 IP):1880/red로 표시됩니다.
같은 네트워크의 컴퓨터에서 브라우저를 시작하고 방금 "http:///(로컬 IP):1880/red"를 방문하면 Node-RID의 편집 화면입니다.
카메라의 촬영과 확인
다음은 레드모바일로 사진을 찍은 샘플을 드리겠습니다.
https://gist.github.com/okhiroyuki/e9035569976b5e6e439b232f79abe40e
이것가져오기(Node-RID에 연결된 일본 사용자회)은 다음과 같다.
이 절차에서 1~3번을 순서대로 클릭하면 사진을 찍을 수 있다.
웹 브라우저에서 "http://(로컬 주소)/api/image"에 접근하면 촬영한 이미지를 표시할 수 있습니다.
할 수 있을 거예요.
가장 적합한 포인트 1
이 상태로 촬영했습니다.
그러나 http://(로컬 주소)/api/image에 액세스해도 이미지가 제대로 표시되지 않습니다.
디버깅 정보를 보면 이미지 데이터가 잘 넘어가지 않을 것 같아서요.
변경 내용은 다음과 같습니다.
変更前:flow.set("image",msg.payload[0]);
変更後:flow.set("image",msg.payload.split(",")[1]);
msg.payload = flow.get("image");
return msg;
변경 후 디버깅하고 다시 촬영한 후 브라우저를 통해 접근잘 됐다!
이미지를 촬영하는 대시보드 표시
노드-RID는 대시보드 기능을 사용해 스마트폰으로 촬영 영상을 확인해 봤다.
dashboard의template 노드를 추가하여function 노드에 연결합니다.
template 노드의 그룹을 설정하고 HTML 코드를 기술합니다.
HTML 코드는 다음과 같습니다.
<div>
<img src="data:image/jpeg;base64,{{msg.payload}}" width="144" height="312">
</div>
※ width와 height를 적당히 변경해 주세요.스마트폰 레드모바일로 대시보드를 시작하려면 아래 아이콘을 클릭하십시오.
디자인 촬영을 진행하다
잘 됐다!
SORACOM에 업로드
그런 다음 WireGuard를 시작하여 SORACOM Arc에 연결하여 작업을 수행합니다.
Harvest Files에 업로드
SIM 그룹 설정
참조여기 순서. 가상 SIM을 제작하는 SIM 소속 단체는 가상 SIM에 분배된다.
기본 경로는/sp/:time.jpg입니다.
노드 추가
Node-RID의 function 노드 뒤에 http request 노드를 추가합니다.
메서드는 "POST", URL은 "http://harvest-files.soracom.io”。"
가장 적합한 포인트 2
Harvest Files에 업로드된 JPEG 파일이 제대로 표시되지 않습니다.
결론적으로 콘텐츠-Type 헤더와 데이터 변환(base64 디코딩)을 추가해야 하며, function 노드와 http request 노드 사이에change 노드와function 노드를 추가하면 순조롭게 진행될 수 있다.
※ 분명하게 쓰여졌지만, 기초 지식이 부족해 상당히 매혹적
change 노드는 "image/jepeg"을 "ms.headers.Content-Type"에 대입합니다.
function 노드는 "msg.payload = new Buffer(msg.paypload,'base 64')"입니다.추가합니다.
Lagoon 시각화
참고여기 순서.는 SORACOM Harvest Files와 SORACOM Lagoon을 연동시켜 연속적으로 Lagoon에서 가시화시켰다.
했어!
정기적으로 설정 실행
이렇게 되면 Node-RID의 inject 노드만 수동으로 클릭할 수 있기 때문에 자동으로 정기적으로 실행됩니다.
방법은 간단하고camera의 노드를 직접 연결하며 첫 번째 inject 노드만 정기적으로 실행합니다.
예를 들어 10분마다 사진을 찍는 경우는 다음과 같다.
응용 프로그램
실제로이벤트 발표된 것은 광센서와 연동된 것이다.
Node-RED
계기판(스마트폰 화면)
SORACOM Lagoon
기회가 된다면 설치 방법을 소개하고 싶습니다.
이외에도 스마트폰에는 다음과 같은 많은 센서가 탑재돼 있다.
Special thanks
이 보도는 모두 아래 강 군의 블로그에서 시작된다.
https://zenn.dev/showm001/articles/2021-08-12-01
또SORACOM UG의 디렉토리 본인으로부터 직접 조언을 받을 수 있다.
참고로Solacom의 IoT 레시피도 조심스럽고 실용적입니다.
강 군과 관계자 여러분, 저는 마음속으로 감사를 드립니다.
모든 인연에 감사드리며 2년 연속 MVC에 연락드리겠습니다@1stship씨
Reference
이 문제에 관하여(안드로이드 스마트폰으로 간이 감시 카메라 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ozk009/items/dc8a88b672df3c44d898텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)