분류 전체보기 49

다른 어플 실행 중에 내가 만든 서비스로 모니터링하기

이 포스팅은 webOS OSE 개발자 사이트 : 를 참고하여 작성되었습니다. App 개발 Service 개발 실행 결과 WebOS에서 다른 어플리케이션을 실행 하는 도중(예: youtube 등) 백그라운드에서 버튼이 눌렸는지 주기적으로 모니터링하여 눌렸으면 toast를 띄우는 예제를 구성해 보았습니다. 백그라운드에서 원하는 기능이 동작하도록 웹 서비스로 개발을 진행하였으며, 스위치는 라즈베리파이 4 GPIO를 이용하여 연결해 주었습니다. webOS OSE에서는 서비스를 단독으로 만들어서 설치하는 것이 안되므로 web application과 함께 만들어 설치를 진행하였습니다. App 개발 1. json 코드 { "id": "com.cosmos.team4.app", "version": "1.0.0", "ve..

TTS 활용하여 음성 출력하기

개발환경 설정 Google Cloud TTS API 활성화하기 코드 작성 이번 포스팅에서는 TTS를 활용하여 음성을 출력할 것 입니다. TTS 서비스를 사용하면 일반 텍스트 언어가 음성으로 변환하여 출력됩니다. TTS 활용하여 음성 출력하기 1. 개발환경 설정 디바이스 추가하기 ares-setup-device 라즈베리파이를 시작하고 다음 명령어를 사용하여 디바이스를 추가해줍니다. 이때 select는 add를 선택하고, 사용한 기기에 할당된 ip 주소를 명령창에 입력해줍니다. 기기의 이름은 원하는대로 설정해주면 됩니다. 2. Google Cloud TTS API 활성화하기 TTS 서비스를 사용하기 위해서는 Google Cloud TTS API를 활성화해야합니다. 다음 webos 공식 사이트를 참고 구글 클..

웹서비스 개발하기

서비스 개요 webOS에서 서비스 만들기 서비스 개요 1. 서비스란? 서비스(Service)는 어플리케이션의 구성요소 중 하나로, UI를 제공하지 않아 사용자에게는 보이지 않으며 백그라운드에서 동작합니다. 따라서 주로 데이터를 다운로드하거나 처리하는 등 시간이 오래 걸리는 작업을 수행합니다. 사용자가 어플리케이션을 실행하지 않거나 디바이스를 사용하지 않는 중이어도 백그라운드에서 작업을 수행하며, 어플리케이션에서 서비스를 호출하거나, 한 서비스에서 다른 서비스를 호출할 수 있습니다. 서비스의 개념은 모바일 어플리케이션에서 동작할 때 이해가 쉽습니다. 예를 들어 카카오톡의 경우, 카카오톡 어플리케이션을 사용하지 않는 중에도 메시지가 도착하면 사용자는 알림을 확인할 수 있습니다. 여기서 서비스는 지속적으로 사..

webOS OSE 2.13.0 버전 릴리즈

webOS OSE 2.13.0 크로미움 버전이 87버전으로 올라갔어요. 주요 보안 및 성능이 향상됐어요. 각 크로미움 버전에 대한 자세한 내용은 https://www.chromestatus.com/features 에서 참고할 수 있어요. Build System으로 Ubuntu 20.04 를 지원해요. 오픈소스 운영체제인 Ubuntu의 최신 LTS버전이에요. + ACG 가이드와 함께 API 문서에서 ACG 값을 쉽게 확인할 수 있도록 추가됐어요. 출처: webOS OSE 2.13.0 Release

webOS 소식 2021.08.17

media 불러오기

본격적인 media 불러오기에 앞서 HTML 사용 com.webos.media 사용 * 이 포스팅은 w3school : HTML Video와 webOS 개발자 사이트 : com.webos.media를 참고하여 작성되었습니다. 본격적인 media 불러오기에 앞서 이번 시간에는 media를 포함한 web app을 개발해봅니다. 이미 알고있듯, webOS는 web app 실행환경을 제공하는 web 기반 플랫폼입니다. 따라서 HTML5, CSS, JavaScript를 활용하는 일반적인 web app을 만드는 방식으로 webOS를 위한 web app 개발 또한 쉽게 가능합니다. 본 글에서는 media 중에서도 video를 포함한 web app을 생성하고 webOS에서 실행하였습니다. HTML5의 태그를 사용하기 ..

Database 사용하기 (DB8)

이 포스팅은 webOS OSE 개발자 사이트: com.webos.service.db, webOS TV 개발자 사이트: DB8 Basics, webOS TV 개발자 사이트: DB8, webOS TV 개발자 사이트: Database 를 참고하여 작성되었습니다. DB8이란 무엇인가 DB8 method DB8 실습하기 DB8이란 무엇인가? 1. Database API DB8 데이터베이스란 여러 사람에게 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합입니다. 이를 이용하면 데이터가 중복되는 문제를 없앨 수 있어 데이터를 효율적으로 사용할 수 있게 됩니다. DB8은 webOS TV에서 사용하는 저장 방식입니다. Luna Bus에서 사용할 수 있는 서비스이며 내장된 JSON 데이터베이스에 대한 인터페이스입니..

toggle 버튼과 루나 서비스 이용해서 led 켜기/끄기

enact 기본 템플릿으로 앱 만들기 toggle 버튼 넣기 toggle 버튼 눌렀을 때 -> gpio 제어하는 루나 서비스 이용해서 led 켜기/끄기 GPIO 제어하는 루나 서비스 이용해서 LED 켜기/끄기 이 포스팅에서는 GPIO를 제어하는 루나 서비스를 활용하여 LED 제어하는 실습을 해보겠습니다. 먼저, GPIO란 General-Purpose Input/Output의 약자로 입력이나 출력을 포함한 동작이 사용자에 의해 직접 제어될 수 있는 직접회로나 전기 회로 기판의 디지털 신호 핀을 말합니다. 이번 실습에서는 LED 제어를 위해 GPIO를 활용할 것입니다. 1. Enact 기본 앱 만들기 이전에 포스팅한 'webOS Enact 사용하기'를 활용하여 앱을 만들어주면 됩니다. https://webo..

webOS와 websocket을 이용하여 LED 제어하기 5 : 시스템 연동하기

Enact-app에서 toggle후 msgtype이 'command'로 server에 전달 Enact web-app에서 메세지를 받은 후 서버와 클라이언트의 통신 Enact-app에서 toast message가 띄워짐 시스템 연동 1. Enact-app에서 toggle 후 msgtype이 'command'로 server에 전달 toggleHandler 함수 코드(Enact webapplication) const toggleHandler = (e) => { console.log('Switch toggled ' + e.selected); var ledStatusText = 'Off'; if(e.selected) { ledStatusText = 'On'; } var command = { 'msgType' : ..

webOS와 websocket을 이용하여 LED 제어하기 4 : websocket server

WebSocket server 전체 시스템 소개 ESP+LED+websocket Enact webapplication websocket server 시스템 연동 1. 개요 코드를 보면, 크게 SimpleEcho와 SimpleIoT 로 나눌 수 있습니다. class SimpleEcho(WebSocket): SimpleEcho는 반사, 반환을 하는 것입니다. socket server와 ESP 간의 신호를 전송할 때, ESP에서 신호가 server로 간 뒤, 바로 ESP에 반사되어 전송되는 것입니다. class SimpleIoT(WebSocket): SimpleIoT는 socket server와 ESP, Enact-app간의 신호를 교환힙니다. 'msgType' : 'status' msgType이 'statu..

webOS와 websocket을 이용하여 LED 제어하기 3 : Enact Web Application

지난 시간에는 ESP와 LED, websocket을 연동하는 것까지 실습해보았습니다. 이번 시간에는 led-control과 관련하여 Enact webapplication 개발을 다룹니다. 전체 시스템 소개 ESP+LED+websocket Enact webapplication websocket server 시스템 연동 Enact webapplication 개발하기 1. Enact 기본 앱 만들기 Enact webapplication의 설치는 기존 게시글을 참고해주세요. Button, Switch 등 기능을 사용할 수 있도록 MainPanel.js에 아래의 코드를 추가합니다. import Button from '@enact/sandstone/Button'; import kind from '@enact/cor..