KR20230067061A - Apparatus, Method and Embedded system to set up user friendly functions based to block coding - Google Patents

Apparatus, Method and Embedded system to set up user friendly functions based to block coding Download PDF

Info

Publication number
KR20230067061A
KR20230067061A KR1020210152748A KR20210152748A KR20230067061A KR 20230067061 A KR20230067061 A KR 20230067061A KR 1020210152748 A KR1020210152748 A KR 1020210152748A KR 20210152748 A KR20210152748 A KR 20210152748A KR 20230067061 A KR20230067061 A KR 20230067061A
Authority
KR
South Korea
Prior art keywords
user
web application
function
block coding
block
Prior art date
Application number
KR1020210152748A
Other languages
Korean (ko)
Other versions
KR102652469B1 (en
Inventor
손문탁
Original Assignee
주식회사 디앤에이보이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 디앤에이보이 filed Critical 주식회사 디앤에이보이
Priority to KR1020210152748A priority Critical patent/KR102652469B1/en
Publication of KR20230067061A publication Critical patent/KR20230067061A/en
Application granted granted Critical
Publication of KR102652469B1 publication Critical patent/KR102652469B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 블록코딩를 이용한 사용자 편의 기능 설정 장치, 방법 및 임베디드 시스템에 관한 기술을 제안한다. 본 발명의 일 실시예에 따르면, 블록코딩을 이용한 사용자 편의 기능 설정 장치에 있어서, AP(Access Point)로 동작하는 무선랜을 이용하여 외부 기기에 웹애플리케이션 접속 주소를 전송하는 통신모듈; 사용자 편의 기능을 구현하기 위한 복수개의 기능블록들을 설정하고, 상기 설정된 사용자 편의 기능블록들을 웹애플리케이션을 통해 배포하는 웹서버; 상기 웹서버에 의해 설계 및 구동되고 사용자 인터페이스를 지원하는 웹애플리케이션; 상기 사용자 인터페이스를 통해 선택된 사용자 편의 기능블록들을 조합하여 적어도 하나 이상의 인스트럭션을 포함하는 블록코딩을 불러오고, 상기 블록코딩의 동작수행 순서를 조정하는 블록코딩 핸들러; 및 상기 순서 조정된 일련의 블록코딩을 실행하여 상기 사용자 편의 기능 블록에 상응하는 장치 제어를 수행하는 제어부;를 더 포함하는 장치가 제공될 수 있다. The present invention proposes a technology related to a user-friendly function setting device, method, and embedded system using block coding. According to one embodiment of the present invention, an apparatus for setting user convenience functions using block coding includes: a communication module for transmitting a web application access address to an external device using a wireless LAN operating as an access point (AP); a web server that sets a plurality of function blocks for implementing user convenience functions and distributes the set user convenience function blocks through a web application; a web application designed and driven by the web server and supporting a user interface; a block coding handler that combines user-friendly function blocks selected through the user interface, calls block coding including at least one instruction, and adjusts an operation execution sequence of the block coding; and a controller configured to perform device control corresponding to the user-friendly function block by executing the sequence-adjusted series of block coding.

Description

블록코딩를 이용한 사용자 편의 기능 설정 장치, 방법 및 임베디드 시스템{Apparatus, Method and Embedded system to set up user friendly functions based to block coding}Apparatus, Method and Embedded system to set up user friendly functions based to block coding}

본 발명은 블록코딩을 이용한 사용자 편의 기능 설정 장치, 방법 및 임베디드 시스템에 관한 기술이다. The present invention relates to a user-friendly function setting device, method, and embedded system using block coding.

임베디드 시스템은 특정한 기능을 수행하기 위해 하드웨어 및 소프트웨어를 최적화하여 설계된 시스템 온 칩 내장 시스템을 의미한다. 임베디드 시스템은 대부분의 전자부품, 전자기기, 가전 등의 장치를 제어하기 위해 설계될 수 있다. An embedded system refers to a system-on-chip embedded system designed by optimizing hardware and software to perform a specific function. Embedded systems can be designed to control devices such as most electronic components, electronic devices, and home appliances.

특정한 기능을 수행하기 위해 최적화된 임베디드 시스템은 여러 종류의 전자기기 등을 제어하기 위해 사용될 수 있다. 예를 들어, 마이크로 컨트롤러 유닛(MCU, Micro controller unit)은 회로 설계 및 특정 기능을 수행하기 위한 펌웨어 설계, 디버깅, 업데이트 등이 용이하여, 소형 전자기기에 유연성, 확장성을 가지고 제품의 소형화 및 경량화를 구현하기 쉽다. An embedded system optimized to perform a specific function may be used to control various types of electronic devices. For example, a microcontroller unit (MCU) is easy to design, debug, and update firmware to perform circuit design and specific functions, so that it has flexibility and scalability in small electronic devices, and miniaturization and weight reduction of products. is easy to implement.

보통 임베디드 시스템은 특정 제품의 기능을 구현하기 위하여 제품별로 개발되는 경우가 많으며, 임베디드 시스템은 소형, 경량화된 전자부품/기기 등에 탑재되는 경우가 많아 임베디드 시스템을 저가로 생산하면서 최적의 기능을 구현하기 위한 양산성 이슈가 제품의 경쟁력을 좌우할 수 있는 경우가 많다. 특히 최근에는 임베디드 시스템의 단가를 낮추고 임베디드 시스템에 최소한의 부담만 부여하되 다양한 기능을 구현할 수 있는 임베디드 시스템에 대한 경쟁이 치열하다. In general, embedded systems are often developed for each product to implement the functions of a specific product, and embedded systems are often mounted on small and lightweight electronic parts/devices. There are many cases in which mass production issues for products can influence the competitiveness of products. In particular, recently, there is fierce competition for embedded systems that can implement various functions while lowering the unit cost of the embedded system and giving the embedded system a minimum burden.

한편, 전자부품/기기 등에서 사용자가 원하는 기능을 구현하기 위해 인관과 기계가 소통하기 위한 MMI(Man-Machin Interface)가 각광받고 있다. 제1 세대의 MMI에서는 버튼, 노브, 스위치, 스피커, 마이크, 표시창 같은 기계식 부품을 이용해 사용자로부터 입력을 받고는 했다. 제 2세대 MMI 는 터치스크린 모니터를 이용한 키오스크 방식이 사용?榮?. 최근 키오스크 등의 보급으로 터치를 통한 입력이 대중화 되었으나, 이러한 방식의 경우 사용자로부터 단순히 선택 입력을 받기만 할 뿐, 일련의 기능들을 시리즈로 구현하거나, 정해진 동작 이외의 기능을 추가할 수 없어, MMI로는 유연성이 부족한 부분들이 있다. On the other hand, in order to implement functions desired by users in electronic parts/devices, MMI (Man-Machine Interface) for communication between human beings and machines is in the limelight. In the first generation of MMIs, mechanical components such as buttons, knobs, switches, speakers, microphones, and displays were used to receive user input. The 2nd generation MMI uses a kiosk method using a touch screen monitor. Recently, input through touch has become popular due to the spread of kiosks, etc., but in this case, only selection input is received from the user, and a series of functions cannot be implemented as a series or functions other than predetermined operations cannot be added. There are parts that lack flexibility.

본 개시는 블록코딩를 이용한 사용자 편의 기능 설정 장치, 방법 및 임베디드 시스템을 제공하는데 있다. An object of the present disclosure is to provide a user-friendly function setting device, method, and embedded system using block coding.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.The problem to be solved by the present invention is not limited to the above-mentioned problems, and other problems and advantages of the present invention that are not mentioned can be understood by the following description and more clearly understood by the embodiments of the present invention. It will be. In addition, it will be appreciated that the problems and advantages to be solved by the present invention can be realized by the means and combinations indicated in the claims.

본 개시의 제1 측면은, 블록코딩를 이용한 사용자 편의 기능 설정 장치에 있어서, AP(Access Point)로 동작하는 무선랜을 이용하여 외부 기기에 웹애플리케이션 접속 주소를 전송하는 통신모듈; 사용자 편의 기능을 구현하기 위한 복수개의 기능블록들을 설정하고, 상기 설정된 사용자 편의 기능블록들을 웹애플리케이션을 통해 배포하는 웹서버; 상기 웹서버에 의해 설계 및 구동되고 사용자 인터페이스를 지원하는 웹애플리케이션; 상기 사용자 인터페이스를 통해 선택된 사용자 편의 기능블록들을 조합하여 적어도 하나 이상의 인스트럭션을 포함하는 블록코딩을 불러오고, 상기 블록코딩의 동작수행 순서를 조정하는 블록코딩 핸들러; 및 상기 순서 조정된 일련의 블록코딩을 실행하여 상기 사용자 편의 기능 블록에 상응하는 장치 제어를 수행하는 제어부;를 더 포함하는 장치를 제공할 수 있다. A first aspect of the present disclosure is an apparatus for setting user convenience functions using block coding, comprising: a communication module for transmitting a web application access address to an external device using a wireless LAN operating as an access point (AP); a web server that sets a plurality of function blocks for implementing user convenience functions and distributes the set user convenience function blocks through a web application; a web application designed and driven by the web server and supporting a user interface; a block coding handler that combines user-friendly function blocks selected through the user interface, calls block coding including at least one instruction, and adjusts an operation execution sequence of the block coding; and a controller configured to perform device control corresponding to the user-friendly function block by executing the sequence-adjusted series of block coding.

본 개시의 제2 측면은 블록코딩를 이용한 사용자 편의 기능 설정 방법에 있어서, 사용자 편의 기능을 구현하기 위한 복수개의 기능블록들을 설정하는 단계; 무선랜을 통해 SSID 정보를 포함하는 전파를 주변에 방사하는 단계; 주변 기기가 상기 SSID를 선택하여 상기 무선랜에 접속하면, 상기 주변 기기에 웹애플리케이션 접속을 위한 인덱스를 전송하는 단계; 상기 설정한 사용자 편의 기능블록들을 웹애플리케이션을 통해 배포하는 단계; 웹애플리케이션 내 사용자 인터페이스를 통해 사용자로부터 기능블록 선택을 입력받는 단계; 상기 입력 결과에 따라 적어도 하나 이상의 기능블록을 조합하여 웹서버에 업로드하는 단계; 상기 업로드된 기능블록들에 상응하는 적어도 하나의 인스트럭션을 포함하는 블록코딩을 불러오고, 상기 블록코딩의 동작 순서를 조정하는 단계; 및 상기 순서가 조정된 일련의 블록코딩을 실행하여 사용자 편의 기능이 설정된 장치 제어를 수행하는 단계;를 포함하는, 방법을 제공할 수 있다. A second aspect of the present disclosure is a method for setting user convenience functions using block coding, comprising: setting a plurality of function blocks for implementing user convenience functions; radiating radio waves including SSID information to surroundings through a wireless LAN; transmitting an index for web application access to the peripheral device when the peripheral device selects the SSID and accesses the wireless LAN; Distributing the set user convenience functional blocks through a web application; receiving a function block selection input from a user through a user interface in a web application; combining one or more functional blocks according to the input result and uploading them to a web server; calling block coding including at least one instruction corresponding to the uploaded functional blocks and adjusting an operation sequence of the block coding; and It is possible to provide a method including; executing a series of block coding in which the order is adjusted to perform device control in which a user convenience function is set.

본 개시의 제3 측면은, AP 모드로 동작하기 위한 ad-hoc을 지원하고, 상기 AP 모드에서 웹애플리케이션을 주변 기기에 전송하는 무선랜; 웹애플리케이션을 설계하고 상기 웹애플리케이션을 통해 사용자 편의 기능을 기능블록 단위로 설정하는 웹서버 및 상기 웹서버를 통해 설정된 사용자 편의 기능을 구현하기 위한 인스트럭션 코드를 조합하는 블록코딩 핸들러를 탑재한 펌웨어; 상기 펌웨어를 구동하기 위한 인스트럭션들 및 웹애플리케이션 관련 파일시스템을 저장하는 메모리; 및 상기 메모리에 저장된 인스트럭션들 및 상기 웹애플리케이션 관련 파일시스템을 로드하여 상기 사용자 편의 기능이 설정된 장치 제어를 수행하는 프로세서;를 포함하는, 임베디드 시스템을 제공할 수 있다. A third aspect of the present disclosure is a wireless LAN that supports ad-hoc for operating in an AP mode and transmits a web application to a peripheral device in the AP mode; Firmware equipped with a web server that designs a web application and sets user convenience functions in functional block units through the web application and a block coding handler that combines instruction codes for implementing user convenience functions set through the web server; a memory for storing instructions for driving the firmware and a file system related to a web application; and a processor that loads the instructions stored in the memory and the file system related to the web application and performs device control in which the user convenience function is set.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another system, and a computer readable recording medium storing a computer program for executing the method may be further provided.

본 발명의 장치 또는 임베디드 시스템을 이용하면 기존 1세대 MMI 하드웨어인 버튼, 노보, 표시창 같은 기계식 부품이나 기존 2세대 MMI 하드웨어인 터치스크린, 모니터 등이 거의 필요하지 않기 때문에, 본 발명의 장치 또는 임베디드 시스템은 전자부품/기기의 외관을 심플하게 만들 수 있고, 외관이 심플해지며 방수, 방습, 방진, 방염 같이 제품의 안전성을 높일 수 있는 장치 제어기 설계를 할 수 있다. If the device or embedded system of the present invention is used, mechanical parts such as buttons, novos, display windows, etc., which are existing 1st generation MMI hardware, or touch screens, monitors, etc., which are existing 2nd generation MMI hardware, are hardly needed. Therefore, the device or embedded system of the present invention can make the appearance of electronic parts/devices simple, and design a device controller that can simplify the appearance and increase product safety such as waterproof, moisture-proof, dust-proof, and flame-proof.

본 발명의 장치 또는 임베디드 시스템에 따르면, 웹서버를 통해 이미 설정된 사용자 편의 기능블록을, 사용자가 선택만 하면 되기 때문에 사용자가 기능 구현을 위한 전문적인 프로그래밍 지식이 없어도 용이하게 사용가 맞춤형 편의 기능 설정이 가능하다. According to the device or embedded system of the present invention, since the user only needs to select a user-friendly function block that has already been set through a web server, the user can easily set up customized convenience functions without professional programming knowledge for function implementation. do.

사물인터넷 MMI의 경우 클라이언트 서버로서 인터넷에 접속을 요하므로 와이파이 통신 설정, 보안 관련하여 복잡한 절차를 요하는 것과 달리, 본 발명은 무선랜을 엑세스 포인트(AP, Access point)로 활용하여 주변기기가 본 발명의 무선랜을 통해 직접 웹애플리케이션 접속주소를 다운받고, 사용자 단말에서 웹애플리케이션은 사용자 단말이 이용하는 인터넷 또는 웹브라우저를 통해 다운받을 수 있다. 이에 따르면, 본 발명의 장치 또는 임베디드 시스템에는 최소한의 연산 처리만으로 사용자 맞춤형 기능 구현이 가능하다. Unlike IoT MMI, which requires access to the Internet as a client server and requires complex procedures related to Wi-Fi communication setup and security, the present invention utilizes a wireless LAN as an access point (AP) so that peripherals can access the present invention. The web application access address is directly downloaded through the wireless LAN of the user terminal, and the web application can be downloaded from the user terminal through the Internet or a web browser used by the user terminal. According to this, it is possible to implement user-customized functions in the apparatus or embedded system of the present invention with only a minimum of arithmetic processing.

본 발명의 일 실시예에 따르면, 블록코딩은 임베디드 시스템에 탑재된 웹서버를 통해 구현되며, 이로인해 해당 장치 또는 임베디드 시스템을 유지, 관리하기 위한 펌웨어 업데이트가 용이하다. 이에 따르면 본 발명의 장치 또는 임베디드 시스템은 유지/보수에 있어 현저한 향상된 효과를 가진다. According to one embodiment of the present invention, block coding is implemented through a web server installed in an embedded system, and thus, firmware updates for maintaining and managing a corresponding device or embedded system are easy. According to this, the apparatus or embedded system of the present invention has a remarkably improved effect in maintenance/repair.

본 발명의 일 실시예에 따르면, 장치 또는 임베디드 시스템을 통해 범용적이고, 다양한 산업군에 활용이 가능한 경량화된 임베디드 시스템이 제공될 수 있으며, 이는 제품의 단가를 낮추어 대량 생산 및 제품 활용성을 높일 수 있다. According to an embodiment of the present invention, a general-purpose and lightweight embedded system that can be used in various industries can be provided through a device or an embedded system, which can increase mass production and product utilization by lowering the unit cost of the product. .

도 1은 본 발명의 일 실시예에 따른 블록코딩을 이용한 사용자 편의기능 설정 장치에 관한 블록도이다.
도 2는 본 발명의 다른 실시 예에 따른 블록코딩을 이용한 사용자 편의기능 설정 방법에 관한 흐름도이다.
도 3은 본 발명의 또 다른 실시 예에 따른 임베디드 시스템의 구조도이다.
도 4는 본 발명의 실시예에 따른 임베디드 시스템을 이용한 관수 제어기에 관한 일 예이다.
도 5는 본 발명의 웹애플리케이션에서 아이콘 형태의 사용자 인터페이스를 제공하여 관수제어기의 사용자 편의 기능을 설정하는 일 예이다.
도 6은 관수제어기에서 종래의 MMI 방식과 본 발명의 일 실시예에 따른 장치 또는 임베디드 시스템의 특장점을 비교 설명한 표에 관한 일 예이다.
도 7은 본 발명의 장치 또는 임베디드 시스템을 통해 간판제어를 위한 기능을 구현하도록 블록코딩을 설정한 일 예이다.
도 8은 본 발명의 일 실시예에 따른 장치 또는 임베디드 시스템의 외관에 관한 일 예이다.
1 is a block diagram of an apparatus for setting user convenience functions using block coding according to an embodiment of the present invention.
2 is a flowchart of a user convenience function setting method using block coding according to another embodiment of the present invention.
3 is a structural diagram of an embedded system according to another embodiment of the present invention.
4 is an example of a watering controller using an embedded system according to an embodiment of the present invention.
5 is an example of setting user convenience functions of the irrigation controller by providing a user interface in the form of an icon in the web application of the present invention.
6 is an example of a table for comparing and explaining the characteristics of a conventional MMI method in an irrigation controller and a device or an embedded system according to an embodiment of the present invention.
Figure 7 is an example of setting block coding to implement the function for signboard control through the device or embedded system of the present invention.
8 is an example of an appearance of a device or an embedded system according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Advantages and features of the present invention, and methods for achieving them will become clear with reference to the detailed description of embodiments in conjunction with the accompanying drawings. However, it should be understood that the present invention is not limited to the embodiments presented below, but may be implemented in a variety of different forms, and includes all conversions, equivalents, and substitutes included in the spirit and scope of the present invention. . The embodiments presented below are provided to complete the disclosure of the present invention and to fully inform those skilled in the art of the scope of the invention to which the present invention belongs. In describing the present invention, if it is determined that a detailed description of related known technologies may obscure the gist of the present invention, the detailed description will be omitted.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다."매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 거성들로써 한정되는 것은 아니다.Some embodiments of the present disclosure may be represented as functional block structures and various processing steps. Some or all of these functional blocks may be implemented as a varying number of hardware and/or software components that perform specific functions. For example, functional blocks of the present disclosure may be implemented by one or more microprocessors or circuit configurations for a predetermined function. Also, for example, the functional blocks of this disclosure may be implemented in various programming or scripting languages. Functional blocks may be implemented as an algorithm running on one or more processors. In addition, the present disclosure may employ prior art for electronic environment setup, signal processing, and/or data processing, etc. Terms such as “mechanism,” “element,” “means,” and “composition” will be used broadly. It can, and is not limited to mechanical and physical giants.

또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.In addition, connecting lines or connecting members between components shown in the drawings are only examples of functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that can be replaced or added.

이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 블록코딩을 이용한 사용자 편의기능 설정 장치에 관한 블록도이다. 도 1을 참고하면, 본 발명의 블록코딩을 이용한 사용자 편의기능 설정장치(10)는, 통신모듈(11), 웹서버(12), 웹애플리케이션(13), 블록코딩 핸들러(14), 제어부(15)를 포함할 수 있다. 1 is a block diagram of an apparatus for setting user convenience functions using block coding according to an embodiment of the present invention. Referring to FIG. 1, the device 10 for setting user convenience functions using block coding of the present invention includes a communication module 11, a web server 12, a web application 13, a block coding handler 14, a control unit ( 15) may be included.

통신모듈(11)은 AP(Access Point)로 동작하는 무선랜을 이용하여 주변 기기(또는 외부 기기)에 웹애플리케이션 접속주소(또는 인덱스)를 전송할 수 있다. The communication module 11 may transmit a web application access address (or index) to a peripheral device (or external device) using a wireless LAN operating as an access point (AP).

먼저, 본 발명의 장치(10)가 부팅되면, 본 발명의 제어부(15)는 장치에 내장된 무선랜을 초기화하여 AP 모드로 동작하도록 설정할 수 있다.First, when the device 10 of the present invention is booted, the control unit 15 of the present invention may initialize the wireless LAN built in the device and set it to operate in the AP mode.

일반적으로 가정에서는 무선랜 공유기 등이 게이트웨이로서 역할을 수행하고, 사용자 단말이 클라이언트 서버로 동작하는 것이 보통의 임베디드 시스템 활용 예이다. 그러나, 이 경우 소형 가전/기기 등이 위 무선랜 공유기의 와이파이를 이용하기 위해 통신설정(와이파이 암호 등), 보안 인증 및 암호화 등의 복잡한 설정을 요하는 경우가 발생할 수 있다. In general, in a home, a wireless LAN router or the like serves as a gateway, and a user terminal operates as a client server. However, in this case, small home appliances/devices may require complex settings such as communication settings (Wi-Fi passwords, etc.), security authentication, and encryption to use the Wi-Fi of the wireless LAN router.

이와 달리, 본 발명의 장치(10)가 무선랜을 AP 모드로 운영하는 경우, 사용자 단말(Ex: 스마트폰, 리모콘, 노트북, 와이파이 공유기, PC 등)은 통신모듈(11)을 통해 웹애플리케이션에 관한 주소를 직접 전송받을 수 있으며, 종래 방식과 달리 통신설정이나 보안 인증, 암호화 등의 복잡한 설정을 상당 부분 줄일 수 있다. In contrast, when the device 10 of the present invention operates a wireless LAN in AP mode, a user terminal (Ex: smart phone, remote controller, laptop, Wi-Fi router, PC, etc.) connects to a web application through the communication module 11 You can directly receive the related address, and unlike the conventional method, you can significantly reduce complicated settings such as communication settings, security authentication, and encryption.

일 예로, 통신모듈(11)은 무선랜을 통해 SSID(Service Set Identifier, 서비스 세트 식별자) 정보를 포함하는 전파를 주변에 방사하고, 주변 기기가 SSID를 선택하여 무선랜에 접속하면, 주변 기기에 웹애플리케이션 실행을 위한 인덱스를 전송할 수 있다. 주변 기기는 위 인덱스를 통해 인터넷 또는 웹브라우저를 통해 웹애플리케이션을 다운받을 수 있다. For example, the communication module 11 radiates radio waves including SSID (Service Set Identifier) information to the surroundings through a wireless LAN, and when the peripheral device selects the SSID and accesses the wireless LAN, the peripheral device Indexes for web application execution can be transmitted. Peripheral devices can download web applications through the Internet or a web browser through the above index.

본 발명의 장치(10)는 웹애플리케이션을 자체 내장하고 있으며, 상기 주변기기는 인터넷 또는 웹브라우저를 통해 상기 웹애플리케이션을 다운받을 수 있으므로, 본 발명의 통신모듈(11)은 인터넷 또는 웹브라우저에 직접 접속을 할 필요가 없다. 이에 본 발명의 통신모듈(11)이 상당히 간편하고, 유용한 방법으로 사용자 편의 기능 설정을 위한 최소한의 모듈만을 탑재하고 있을 수 있다. Since the device 10 of the present invention has a built-in web application, and the peripheral device can download the web application through the Internet or a web browser, the communication module 11 of the present invention directly accesses the Internet or the web browser. There is no need to do Accordingly, the communication module 11 of the present invention may be equipped with only the minimum module for user convenience function setting in a fairly simple and useful way.

한편, 통신모듈(11)은 주변기기 검색을 위해 항상 깨어있을 필요는 없으며, 본 발명의 장치(10) 외관에 구비된 웨이크업 버튼을 통해, 사용자가 웨이크업 버튼을 누를때만 위 통신모듈(11)이 웨이크되어, 주변기기 검색을 수행할 수 있다.On the other hand, the communication module 11 does not always need to be awake to search for peripheral devices, and through the wake-up button provided on the exterior of the device 10 of the present invention, the above communication module 11 only when the user presses the wake-up button wakes up and can perform peripheral discovery.

웹서버(12)는 사용자 편의 기능을 설정하기 위한 조건 및 장치 제어 기능을 매핑한 사용자 편의 기능블록들을 설정하고, 설정한 사용자 편의 기능블록들을 웹애플리케이션(13)을 통해 배포할 수 있다. The web server 12 may set user convenience function blocks to which conditions for setting user convenience functions and device control functions are mapped, and distribute the set user convenience function blocks through the web application 13 .

여기서, 웹서버(12)는 장치(10) 내부의 펌웨어에 내장된 소프트웨어를 통해 기능이 구현될 수 있다. 한편, 웹서버(12)는 장치(10)에서 수행할 수 있는 제어 기능들을 리스트화하고, 사용자 편의 설정을 위해 다음의 단계들을 수행할 수 있다. Here, the functions of the web server 12 may be implemented through software embedded in the firmware of the device 10 . Meanwhile, the web server 12 may list control functions that can be performed by the device 10 and perform the following steps for user convenience setting.

예를 들어, 웹서버(12)는 사용자 편의 기능블록들을 정의하는 단계, 사용자 편의 기능을 트리거하기 위한 조건을 설정하는 단계, 조건을 만족하는 경우 수행할 장치 제어 동작을 지정하는 단계, 장치 제어 동작을 수행하기 위한 인스트럭션 코드를 기능블록들에 매핑하는 단계를 포함할 수 있다. For example, the web server 12 defines user convenience function blocks, sets a condition for triggering a user convenience function, designates a device control operation to be performed when the condition is satisfied, and a device control operation. It may include mapping instruction codes for performing to function blocks.

웹서버(12)는 장치(10)가 탑재될 제품군에 따라 다양한 사용자 편의 기능블록을 설정할 수 있다. 일 예로, 타임스케쥴러-온/오프 기능을 블록코딩으로 구현하는 것을 설명하면, 웹서버(12)는 기능블록의 블록코드 번호, 명칭, 적용범위 등을 지정하여 기능블록을 정의하고, 트리거 조건으로 타임을 설정하고(Ex: 07:00 시작, 19:00 종료), 상기 설정된 타임에 따라 수행할 제어 동작으로 07:00부터 장치(10)를 온(ON)시키고, 19:00부터 장치(10)를 오프(Off)시키는 동작을 지정할 수 있다. The web server 12 may set various user-friendly function blocks according to the product group on which the device 10 is to be installed. As an example, when explaining the implementation of the time scheduler-on/off function by block coding, the web server 12 defines a function block by designating a block code number, name, application range, etc. of the function block, and uses a trigger condition. A time is set (Ex: 07:00 start, 19:00 end), and as a control operation to be performed according to the set time, the device 10 is turned on from 07:00, and the device 10 is turned on from 19:00. ) can be specified.

한편, 웹서버(12)는 타겟 제품군에 맞는 사용자 편의 기능블록 리스트를 가지고 있을 수 있다. 이에 관하여 장치(10)는 사전에 빅데이터 또는 인공지능 등을 이용하여 상기 웹서버(12)가 사용자 편의 기능을 설정하기 위한 프로세스를 학습시킬 수 있다. 웹서버(12)는 다수의 사용자 편의 기능블록들을 가질 수 있으며, 장치(10)가 적용되는 타겟 제품군에 맞추어 위 사용자 편의 기능블록들 중 일부 기능블록만 활성화 시키는 등으로 타겟 제품군에 최적화를 수행할 수 있다.Meanwhile, the web server 12 may have a user-friendly function block list suitable for the target product group. In this regard, the device 10 may use big data or artificial intelligence in advance to teach the web server 12 a process for setting user convenience functions. The web server 12 may have a number of user-friendly functional blocks, and optimize for the target product family by activating only some of the user-friendly functional blocks according to the target product family to which the device 10 is applied. can

웹애플리케이션(13)은 장치(10)에 내장된 웹서버(12)에 의해 설계 및 구동되고 사용자 인터페이스를 지원할 수 있다. 또한, 웹애플리케이션(13)은 외부의 기기, 또는 단말에서 인터넷 또는 웹브라우저를 통해 접근될 수 있다. The web application 13 may be designed and driven by the web server 12 embedded in the device 10 and support a user interface. In addition, the web application 13 can be accessed through the Internet or a web browser from an external device or terminal.

예를 들어, 인터페이스는 사용자 단말이 입출력 방식으로, 입력 수단(키보드, 마우스, 터치 스크린 등)을 지원하는 화면을 제공할 수 있다. 일 예로, 웹애플리케이션(13)의 사용자 인터페이스는, 시각적으로 사용자에게 기능블록을 연상시키는 아이콘 또는 인포그래픽을 통해 표현될 수 있고, 사용자 편의 기능블록을 임의로 조합할 수 있는 포맷을 사용자에게 제공할 수 있다. For example, the interface may provide a screen on which the user terminal supports an input means (keyboard, mouse, touch screen, etc.) in an input/output manner. For example, the user interface of the web application 13 may be expressed through icons or infographics that visually remind users of functional blocks, and may provide users with a format in which functional blocks for user convenience can be arbitrarily combined. there is.

일 예로, 웹애플리케이션(13)는 웹을 통해 사람-기계간 상호 커뮤니케이션할 수 있는 MMI(Man-Machine Interface)를 포함할 수 있다. 이때, 사용자 인터페이스는 사용자 이용을 도모하기 위해 그래픽화 되어 표현될 수 있다. For example, the web application 13 may include a Man-Machine Interface (MMI) capable of mutual communication between humans and machines through the web. At this time, the user interface may be graphically expressed to promote user use.

예를 들어, 웹애플리케이션(13)은 아이콘 또는 인포그래픽을 통해 특정 기능블록에 대한 정의와 설명을 시각화될 수 있다. 이에 따르면, 사용자는 기능블록의 사용법을 쉽게 파악할 수 있으며, 사용자의 니즈에 따라 특정 기능들을 일련의 시리즈로 선택하는 스토리텔링을 위 앱애플리케이션(13)을 통해 구현할 수도 있다. For example, the web application 13 may visualize definitions and descriptions of specific functional blocks through icons or infographics. According to this, the user can easily understand how to use the function block, and storytelling in which specific functions are selected as a series according to the user's needs can be implemented through the app application 13 above.

한편, 웹애플리케이션(13)은 사용자 인터페이스를 통해 사용자로부터 기능블록을 선택하는 입력을 받을 수 있다. 앞서 기계(Maching)에서 사람에게 제공하는 서비스를 설명하였다면, 사람(사용자)도 사용자 인터페이스를 통해 특정 기능들을 선택하는 입력을 할 수 있다. Meanwhile, the web application 13 may receive an input for selecting a function block from a user through a user interface. If services provided to humans by machines have been described above, humans (users) can also input inputs to select specific functions through the user interface.

이때, 사용자의 선택은 기능블록 단위별로 이루어질 수 있으며, 사용자가 둘 이상의 복수의 기능블록을 선택하는 경우, 그 순서에 따라 또는 순서를 설정하기 곤란한 경우 순서가 없는 임의의 조합으로 기능블록을 선별할 수 있다. At this time, the user's selection may be made per functional block unit, and when the user selects two or more plural function blocks, the function blocks can be selected according to the order or in an arbitrary combination without order if it is difficult to set the order. can

웹애플리케이션(13)은 사용자 인터페이스를 통해 웹서버(12)가 배포한 사용자 편의 기능블록들을 사용자(또는 외부/주변 기기)에게 제공하고, 사용자가 선택한 적어도 하나 이상의 기능블록을 입력받아, 입력 결과를 웹서버(12)에 업로드할 수 있다. The web application 13 provides user convenience function blocks distributed by the web server 12 to the user (or external/peripheral devices) through a user interface, receives input of at least one function block selected by the user, and displays the input result. It can be uploaded to the web server 12.

블록코딩 핸들러(14)는 웹애플리케이션(13)내 포함된 사용자 인터페이스를 통해 선택된 사용자 편의 기능블록들을 조합하여 적어도 하나 이상의 인스트럭션을 포함하는 블록코딩을 불러오고, 블록코딩의 동작수행 순서를 조정할 수 있다. 여기서, 블록코딩은 적어도 하나 이상의 제어 기능에 상응하는 일련의 프로그램 코드를 가리킬 수 있다. 사용자가 선택한 여러 개의 기능블록들 사이에는 우선순위가 부여되거나 동작 수행 순서가 조정되어야 하는 경우가 있을 수 있다. 일 예로, 블록코딩 핸들러(14)는 선택된 기능블록들을 블록단위로 준비 큐, 대기 큐, 실행 큐 등에 분배할 수 있다.The block coding handler 14 may combine user-friendly function blocks selected through the user interface included in the web application 13 to call block coding including at least one instruction, and adjust the order of performing block coding operations. . Here, block coding may refer to a series of program codes corresponding to at least one or more control functions. Among several function blocks selected by the user, there may be cases in which priorities are assigned or the order of performing operations needs to be adjusted. For example, the block coding handler 14 may distribute the selected functional blocks to a preparation queue, a waiting queue, and an execution queue in block units.

예를 들어, 블록코딩 핸들러(14)는 장치(10)가 타겟 제품군에 적용하는 제어 기능 및 제어부(15)의 프로그램 코드 병렬처리 여부 등을 고려하여, 작업을 스케쥴링할 수 있다. 이때, 블록코딩 핸들러(14)는 장치(10) 내 복수의 프로세서 또는 이에 준하는 멀티태스킹이 가능한 경우, 작업량을 고려하여 작업스케쥴을 분배할 수 있다. For example, the block coding handler 14 may schedule a task in consideration of the control function applied to the target product group by the device 10 and whether or not the control unit 15 processes program codes in parallel. At this time, the block coding handler 14 may distribute the work schedule in consideration of the amount of work when a plurality of processors in the device 10 or equivalent multitasking is possible.

제어부(15)는 블록코딩 핸들러(14)에 의해 순서 조정된 일련의 블록코드를 실행하여 사용자 편의 기능이 설정된 장치 제어를 수행할 수 있다. 여기서, 장치(10)는 어떤 제품을 타겟으로 설계?榮쩝熾? 따라 각각 상이한 사용자 편의 기능을 설정할 수 있다. 본 발명이 소형화, 경량화된 장치 제어기를 지향함에 따라 본 발명의 장치(10)가 사용될 수 있는 산업분야 활용예는 무궁무진할 수 있다. The control unit 15 may execute a series of block codes ordered by the block coding handler 14 to perform device control in which user convenience functions are set. Here, the device 10 is designed as a target for which product? Accordingly, different user convenience functions can be set. As the present invention aims for a miniaturized and lightweight device controller, industrial applications in which the device 10 of the present invention can be used may be infinite.

일 예로, 본 발명의 장치(10)를 식물에 정해진 시간에 물을 주기 위한 관수제어기를 타겟 제품군으로 설정하면, 장치(10)는 관수 제어를 위해 사용자가 필요한 사용자 편의 기능을 사용자가 보다 쉽게 선택할 수 있도록 사용자 인터페이스를 최적화하여 설계할 수 있다. 이에 관하여는 도 5를 통해 추가적으로 설명하도록 한다. For example, if an irrigation controller for watering plants at a set time is set as a target product group of the device 10 of the present invention, the device 10 allows the user to more easily select a user-friendly function required for irrigation control. The user interface can be optimized and designed to This will be further described with reference to FIG. 5 .

다른 예로, 본 발명의 장치(10)를 조명을 제어하기 위한 조명기기를 타겟 제품군으로 설정하면, 장치(10)는 해당 조명이 사용되는 상황, 위치, 목적에 따라 적절한 사용자 편의 기능 설정을 위한 기능블록을 사용자에게 제공할 수 있다. 이에 관하여는 도 7을 통해 후술하도록 한다. As another example, if the device 10 of the present invention is set as a target group of lighting devices for controlling lighting, the device 10 has a function for setting appropriate user convenience functions according to the situation, location, and purpose in which the lighting is used. Blocks can be provided to users. This will be described later with reference to FIG. 7 .

또 다른 예로, 본 발명은 사람마다 적정한 온도, 습도의 기준이 다를 수 있음에 착안하여, 본 발명의 장치(10)를 전기장판 제어기에 활용할 수 있다. 예를 들어, 본 발명의 장치(10)는 웹애플리케이션을 통해 사용자로부터 적정 온도, 습도 범위를 입력받고, 장치(10)내 포함된 여러 센서들로부터 받는 센싱 데이터를 트리거로 하여, 위 적정 온도, 습도 범위가 유지될 수 있도록 사용자 편의 기능이 설계된, 전기장판 제어를 수행할 수 있다. As another example, the present invention can utilize the device 10 of the present invention as an electric pad controller, noting that standards of appropriate temperature and humidity may vary from person to person. For example, the device 10 of the present invention receives an appropriate temperature and humidity range from a user through a web application, and uses sensing data received from various sensors included in the device 10 as a trigger to obtain the appropriate temperature, It is possible to perform electric pad control, in which user convenience functions are designed so that the humidity range can be maintained.

또 다른 예로, 본 발명의 장치(10)는 화학실험을 자동으로 수행하는 리퀴드 핸들링 로봇에 적용될 수 있다. 예를 들어, 종래의 PC 기반 소프트웨어는 제조사가 정의한 기능만을 사용할 수 있으며, 스크립트를 통해 원하는 기능을 코딩할 수 있지만, 이 경우 코딩을 위한 전문 인력이 필요하다. 그러나, 본 발명의 일 실시예에 따른 웹애플리케이션(13)은 비전문가인 사용자도 블록단위의 기능블록을 이용하여 프로그램을 쉽게 설계할 수 있고, 이에 대한 안전성 테스트를 통해 신뢰성을 확보할 수 있다. 본 발명의 장치(10)는 이러한 사용자 편의 기능 설정을 위한 웹애플리케이션(13)을 적극 활용할 수 있다. As another example, the device 10 of the present invention may be applied to a liquid handling robot that automatically performs a chemical experiment. For example, conventional PC-based software can use only functions defined by a manufacturer, and can code desired functions through scripts, but in this case, specialized personnel for coding are required. However, in the web application 13 according to an embodiment of the present invention, even a non-expert user can easily design a program using block-by-block function blocks, and reliability can be secured through a safety test for the program. The device 10 of the present invention can actively utilize the web application 13 for setting user convenience functions.

도 2는 본 발명의 다른 실시 예에 따른 블록코딩을 이용한 사용자 편의기능 설정 방법에 관한 흐름도이다. 상기의 방법은 블록코딩을 이용한 사용자 편의 기능 설정 장치(10) 또는 임베디드 시스템(30), 또는 프로세서를 통해 각 단계가 수행될 수 있는 서버에 의해 구현될 수 있다. 이하 대표 실시 예로 장치(10)에 의한 각 단계의 수행을 기술한다. 아래 각 단계에 대해 구체적으로 설명되지 않은 부분들은 도 1의 실시예를 따르는 장치(10)에 관한 설명이 준용될 수 있다. 2 is a flowchart of a user convenience function setting method using block coding according to another embodiment of the present invention. The above method may be implemented by a user-friendly function setting device 10 using block coding, an embedded system 30, or a server capable of performing each step through a processor. The performance of each step by the device 10 is described below as a representative embodiment. For parts that are not specifically described for each step below, the description of the device 10 according to the embodiment of FIG. 1 may be applied.

단계 210에서, 장치(10)는 사용자 편의 기능을 구현하기 위한 복수개의 기능블록들을 설정할 수 있다. 장치(10)의 웹서버는 사용자 편의 기능을 설정하기 위한 조건 및 장치 제어 기능을 매핑한 사용자 편의 기능블록들을 설정할 수 있다. In step 210, the device 10 may set a plurality of functional blocks for implementing user convenience functions. The web server of the device 10 may set conditions for setting user convenience functions and user convenience function blocks to which device control functions are mapped.

예를 들어, 장치(10)는 사용자 편의 기능블록들을 정의하는 단계, 사용자 편의 기능을 트리거하기 위한 조건을 설정하는 단계, 조건을 만족하는 경우 수행할 장치 제어 동작을 지정하는 단계, 장치 제어 동작을 수행하기 위한 인스트럭션 코드를 기능블록들에 매핑하는 단계를 포함할 수 있다. For example, the device 10 includes defining user convenience function blocks, setting a condition for triggering a user convenience function, designating a device control operation to be performed when the condition is satisfied, and a device control operation. It may include mapping instruction codes to be executed to functional blocks.

단계 220에서, 장치(10)는 무선랜을 통해 SSID 정보를 포함하는 전파를 주변에 방사할 수 있다. 일 예로, 장치(10)는 무선랜을 통해 SSID(Service Set Identifier, 서비스 세트 식별자) 정보를 포함하는 전파를 주변에 방사할 수 있다. In step 220, the device 10 may radiate radio waves including SSID information to surroundings through a wireless LAN. For example, the device 10 may radiate radio waves including Service Set Identifier (SSID) information to surroundings through a wireless LAN.

한편, 본 발명의 장치(10)가 부팅되면, 장치(10)에 내장된 무선랜을 초기화하여 AP 모드로 동작하도록 설정할 수 있다. 여기서, 장치(10)는 주변기기 검색을 위해 항상 깨어있을 필요는 없으며, 본 발명의 장치(10) 외관에 구비된 웨이크업 버튼을 통해, 사용자가 웨이크업 버튼을 누를때만 웨이크되어 주변기기 검색을 수행할 수 있다. Meanwhile, when the device 10 of the present invention is booted, the wireless LAN built in the device 10 may be initialized and set to operate in the AP mode. Here, the device 10 does not need to be always awake to search for peripheral devices, and is woken only when the user presses the wake-up button through the wake-up button provided on the exterior of the device 10 of the present invention to search for peripheral devices. can

단계 230에서, 장치(10)는 주변 기기가 상기 SSID를 선택하여 상기 무선랜에 접속하면, 주변 기기에 웹애플리케이션 접속을 위한 인덱스를 전송할 수 있다. 예를 들어, 장치(10)의 주변 기기가 SSID를 선택하여 무선랜에 접속하면, 장치(10)는 주변 기기에 웹애플리케이션 실행을 위한 인덱스를 전송할 수 있다. 주변 기기는 위 인덱스를 통해 인터넷 또는 웹브라우저를 통해 웹애플리케이션을 다운받을 수 있다. In step 230, when the device 10 selects the SSID and accesses the wireless LAN, the device 10 may transmit an index for accessing the web application to the nearby device. For example, when a peripheral device of the device 10 selects an SSID and accesses a wireless LAN, the device 10 may transmit an index for executing a web application to the peripheral device. Peripheral devices can download web applications through the Internet or a web browser through the above index.

본 발명의 장치(10)는 웹애플리케이션을 자체 내장하고 있으며, 주변기기는 인터넷 또는 웹브라우저를 통해 웹애플리케이션을 다운받을 수 있다. 이에 따르면 본 발명의 장치(10)는 인터넷 또는 웹브라우저에 직접 접속을 할 필요가 없다. 이에 본 발명의 장치(10)가 상당히 간편하고, 유용한 방법으로 사용자 편의 기능 설정을 위한 최소한의 모듈을 탑재하고 있을 수 있다. The device 10 of the present invention has a built-in web application, and peripheral devices can download the web application through the Internet or a web browser. According to this, the device 10 of the present invention does not need to directly access the Internet or a web browser. Accordingly, the device 10 of the present invention may be equipped with a minimum module for setting user-friendly functions in a very simple and useful way.

단계 240에서, 장치(10)는 설정한 사용자 편의 기능블록들을 웹애플리케이션을 통해 배포할 수 있다. In step 240, the device 10 may distribute the set user convenience function blocks through a web application.

한편, 장치(10)는 장치(10)가 탑재될 제품군에 따라 다양한 사용자 편의 기능블록을 설정할 수 있다. 일 예로, 타임스케쥴러-온/오프 기능을 블록코딩으로 구현하는 것을 설명하면, 장치(10)는 기능블록의 블록코드 번호, 명칭, 적용범위 등을 지정하여 기능블록을 정의하고, 트리거 조건으로 타임을 설정하고(Ex: 07:00 시작, 19:00 종료), 상기 설정된 타임에 따라 수행할 제어 동작으로 07:00부터 장치(10)를 온(ON)시키고, 19:00부터 장치(10)를 오프(Off)시키는 동작을 지정할 수 있다. Meanwhile, the device 10 may set various user-friendly function blocks according to product groups to be loaded with the device 10 . As an example, when implementing the time scheduler-on/off function with block coding, the device 10 defines a function block by designating a block code number, name, application range, etc. of the function block, and sets the time scheduler as a trigger condition. is set (Ex: 07:00 start, 19:00 end), the device 10 is turned on from 07:00 as a control operation to be performed according to the set time, and the device 10 from 19:00 The operation to turn off can be specified.

한편, 장치(10)는 타겟 제품군에 맞는 사용자 편의 기능블록 리스트를 가지고 있을 수 있다. 이에 관하여 장치(10)는 사전에 빅데이터 또는 인공지능 등을 이용하여 상기 장치(10)가 사용자 편의 기능을 설정하기 위한 프로세스를 학습시킬 수 있다. 장치(10)는 다수의 사용자 편의 기능블록들을 가질 수 있으며, 장치(10)가 적용되는 타겟 제품군에 맞추어 위 사용자 편의 기능블록들 중 일부 기능블록만 활성화 시키는 등으로 타겟 제품군에 최적화를 수행할 수 있다.Meanwhile, the device 10 may have a user-friendly function block list suitable for a target group. In this regard, the device 10 may learn a process for setting user convenience functions by using big data or artificial intelligence in advance. The device 10 may have a plurality of user-friendly function blocks, and optimization may be performed for the target product family by activating only some of the user-friendly functional blocks according to the target product family to which the device 10 is applied. there is.

단계 250에서, 장치(10)는 웹애플리케이션 내 사용자 인터페이스를 통해 사용자로부터 기능블록 선택을 입력받을 수 있다. 여기서, 웹애플리케이션은 웹서버에 의해 설계 및 구동되고 사용자 인터페이스를 지원할 수 있다. In step 250, the device 10 may receive a function block selection input from the user through a user interface within the web application. Here, a web application may be designed and driven by a web server and support a user interface.

일 예로, 장치(10)는 웹을 통해 사람-기계간 상호 커뮤니케이션할 수 있는 MMI(Man-Machine Interface)를 포함할 수 있다. 이때, 사용자 인터페이스는 사용자 이용을 도모하기 위해 그래픽화 되어 표현될 수 있다. 예를 들어, 장치(10)은 아이콘 또는 인포그래픽을 통해 특정 기능블록에 대한 정의와 설명을 시각화될 수 있다. 이에 따르면, 사용자는 기능블록의 사용법을 쉽게 파악할 수 있으며, 사용자의 니즈에 따라 특정 기능들을 일련의 시리즈로 선택하는 스토리텔링을 위 앱애플리케이션을 통해 구현할 수도 있다. For example, the device 10 may include a Man-Machine Interface (MMI) capable of mutual communication between humans and machines through the web. At this time, the user interface may be graphically expressed to promote user use. For example, the device 10 may visualize definitions and descriptions of specific functional blocks through icons or infographics. According to this, the user can easily understand how to use the function block, and storytelling in which specific functions are selected as a series according to the user's needs can be implemented through the above app application.

한편, 장치(10)은 사용자 인터페이스를 통해 사용자로부터 기능블록을 선택하는 입력을 받을 수 있다. 앞서 기계(Maching)에서 사람에게 제공하는 서비스를 설명하였다면, 사람(사용자)도 사용자 인터페이스를 통해 특정 기능들을 선택하는 입력을 할 수 있다. Meanwhile, the device 10 may receive an input for selecting a function block from a user through a user interface. If services provided to humans by machines have been described above, humans (users) can also input inputs to select specific functions through the user interface.

이때, 사용자의 선택은 기능블록 단위별로 이루어질 수 있으며, 사용자가 둘 이상의 복수의 기능블록을 선택하는 경우, 그 순서에 따라 또는 순서를 설정하기 곤란한 경우 순서가 없는 임의의 조합으로 기능블록을 선별할 수 있다. At this time, the user's selection may be made per functional block unit, and when the user selects two or more plural function blocks, the function blocks can be selected according to the order or in an arbitrary combination without order if it is difficult to set the order. can

단계 260에서, 장치(10)는 입력 결과에 따라 적어도 하나 이상의 기능블록을 조합하여 웹서버에 업로드할 수 있다. 업로드된 기능블록 조합은 웹애플리케이션 시스템파일로 메모리에 저장될 수 있다. In step 260, the device 10 may combine one or more functional blocks according to the input result and upload them to the web server. The uploaded function block combination can be stored in memory as a web application system file.

단계 270에서, 장치(10)는 업로드된 기능블록들에 상응하는 적어도 하나의 인스트럭션을 포함하는 블록코딩을 불러오고, 블록코딩의 동작 순서를 조정할 수 있다. 여기서, 장치(10)는 웹애플리케이션 내 포함된 사용자 인터페이스를 통해 선택된 사용자 편의 기능블록들을 조합하여 적어도 하나 이상의 인스트럭션을 포함하는 블록코딩을 불러오고, 블록코딩의 동작수행 순서를 조정할 수 있다. In step 270, the device 10 may read block coding including at least one instruction corresponding to the uploaded functional blocks, and adjust an operation sequence of the block coding. Here, the device 10 may combine user-friendly function blocks selected through a user interface included in the web application, call block coding including at least one instruction, and adjust the order of performing block coding operations.

여기서, 블록코딩은 적어도 하나 이상의 제어 기능에 상응하는 일련의 프로그램 코드를 가리킬 수 있다. 사용자가 선택한 여러 개의 기능블록들 사이에는 우선순위가 부여되거나 동작 수행 순서가 조정되어야 하는 경우가 있을 수 있다.Here, block coding may refer to a series of program codes corresponding to at least one or more control functions. Among several function blocks selected by the user, there may be cases in which priorities are assigned or the order of performing operations needs to be adjusted.

일 예로, 장치(10)는 선택된 기능블록들을 블록단위로 준비 큐, 대기 큐, 실행 큐 등에 분배할 수 있다. 예를 들어, 장치(10)는 장치(10)가 타겟 제품군에 적용하는 제어 기능 및 제어부의 프로그램 코드 병렬처리 여부 등을 고려하여, 작업을 스케쥴링할 수 있다. 이때, 장치(10) 내 복수의 프로세서 또는 이에 준하는 멀티태스킹이 가능한 경우, 작업량을 고려하여 작업스케쥴을 분배할 수 있다. For example, the device 10 may distribute the selected functional blocks to a preparation queue, a waiting queue, and an execution queue in block units. For example, the device 10 may schedule a task in consideration of the control function applied to the target product group by the device 10 and whether or not the control unit processes program codes in parallel. At this time, if a plurality of processors in the device 10 or equivalent multitasking is possible, the work schedule may be distributed in consideration of the amount of work.

단계 280에서, 장치(10)는 순서가 조정된 일련의 블록코딩을 실행하여 사용자 편의 기능이 설정된 장치 제어를 수행할 수 있다. 장치(10)는 블록코딩 핸들러에 의해 순서 조정된 일련의 블록코드를 실행하여 사용자 편의 기능이 설정된 장치 제어를 수행할 수 있다. In step 280, the device 10 may execute a series of block coding in which the order is adjusted to perform device control in which user convenience functions are set. The device 10 may execute a series of block codes ordered by a block coding handler to perform device control in which user convenience functions are set.

여기서, 장치(10)는 어떤 제품을 타겟으로 설계?榮쩝熾? 따라 각각 상이한 사용자 편의 기능을 설정할 수 있다. 본 발명이 소형화, 경량화된 장치 제어기를 지향함에 따라 본 발명의 장치(10)가 사용될 수 있는 산업분야 활용예는 무궁무진할 수 있다. Here, the device 10 is designed as a target for which product? Accordingly, different user convenience functions can be set. As the present invention aims for a miniaturized and lightweight device controller, industrial applications in which the device 10 of the present invention can be used may be infinite.

도 3은 본 발명의 또 다른 실시 예에 따른 임베디드 시스템의 구조도이다. 본 발명의 실시예에 따른 임베디드 시스템(30)은 무선랜(31), 펌웨어(32), 메모리(34), 프로세서(36)를 포함할 수 있다. 아래 각 구성에 대해 구체적으로 설명되지 않은 부분들은 본 발명의 다른 실시예에 따른 장치(10)에 관한 설명이 준용될 수 있다. 3 is a structural diagram of an embedded system according to another embodiment of the present invention. The embedded system 30 according to an embodiment of the present invention may include a wireless LAN 31 , firmware 32 , memory 34 , and processor 36 . The description of the device 10 according to another embodiment of the present invention may be applied to parts that are not specifically described for each configuration below.

먼저, 본 발명의 일 실시예에 따른 임베디드 시스템(30)은 특정 기능을 수행하기 위한 펌웨어(32) 구현이 용이하고, CPU 코어, 메모리 미 프로그램 가능한 입/출력 포트를 가지는 마이크로 컨트롤러 유닛(MCU, Microcontroller unit)을 통해 구현될 수 있다.First, the embedded system 30 according to an embodiment of the present invention is easy to implement the firmware 32 for performing a specific function, and has a CPU core and memory unprogrammable input/output ports. It can be implemented through a microcontroller unit).

여기서, 웹애플리케이션은 PC나 스마트폰 등 단말의 기종에 관계없이 아무 단말기에서나 같은 콘텐츠를 볼 수 있도록 해주는 시스템을 말하며, HTML 5(HyperText Markup Language 5)을 기반으로, 특정 컴퓨팅 응용체계(OS)에 얽매이지 않고 콘텐츠 중심으로 데이터가 제공될 수 있다. Here, a web application refers to a system that allows users to view the same content on any terminal regardless of the type of terminal, such as a PC or smartphone, and based on HTML 5 (HyperText Markup Language 5), Data can be provided centered on content without being tied down.

무선랜(31)은 AP 모드로 동작하기 위한 ad-hoc을 지원하고, AP 모드에서 웹애플리케이션의 인덱스(또는 접속주소)를 주변 기기에 전송할 수 있다. 한편, 무선랜(31)은 펌웨어(32)에 의해 AP 모드로 초기화 될 수 있다. 예를 들어, 임베디드 시스템(또는 MCU)이 부팅되면, 임베디드 시스템(30)은 무선랜(31) 통신을 초기화하여 AP모드로 작동시킬 수 있다. 이는, 무선랜(31)으로 다른 장치에 접속하는 것이 아니라, 스스로 게이트웨이가 되어 무선랜(31)을 통해 SSID(무선랜식별ID)를 방사하는 것이다.The wireless LAN 31 supports ad-hoc for operating in the AP mode, and can transmit an index (or access address) of a web application to a peripheral device in the AP mode. Meanwhile, the wireless LAN 31 may be initialized in the AP mode by the firmware 32 . For example, when the embedded system (or MCU) is booted, the embedded system 30 may initialize the wireless LAN 31 communication to operate in the AP mode. This is not to connect to another device through the wireless LAN 31, but to become a gateway by itself and emit an SSID (wireless LAN identification ID) through the wireless LAN 31.

사용자는 스마트폰이나 노트북을 켜서 상기 임베디드 시스템(또는 MCU)가 방사한 무선랜(SSID로 식별)에 연결할 수 있다. 여기서, 주변/외부 기기가 접속하면 임베디드 시스템(또는 MCU)은 주변/외부 기기에 사설IP 주소를 부여하고, IP주소를 알려줄 수 있다. 여기서, 사용자는 웹브라우저를 통해 임베디드 시스템의 IP주소를 입력하여 임베디드 시스템에 접속할 수 있다.The user can turn on the smart phone or laptop and connect to the wireless LAN (identified by SSID) emitted by the embedded system (or MCU). Here, when a peripheral/external device is connected, the embedded system (or MCU) can assign a private IP address to the peripheral/external device and notify the IP address. Here, the user can access the embedded system by inputting the IP address of the embedded system through a web browser.

펌웨어(32)는 웹애플리케이션을 설계하고 웹애플리케이션을 통해 사용자 편의 기능을 기능블록 단위로 설정하는 웹서버 및 상기 웹서버를 통해 설정된 사용자 편의 기능을 구현하기 위한 인스트럭션 코드를 조합하는 블록코딩 핸들러를 탑재할 수 있다. 일 예로, 블록코딩 핸들러는 웹서버, 블록코딩편집기, 블록-스크립트 변환기, 스크립트 대기행렬(큐), 스크립트 실행기 등을 포함할 수 있다. The firmware 32 is equipped with a web server that designs a web application and sets user convenience functions in functional block units through the web application, and a block coding handler that combines instruction codes for implementing user convenience functions set through the web server. can do. For example, the block coding handler may include a web server, a block coding editor, a block-script converter, a script queue (queue), a script executor, and the like.

일 예로, 펌웨어(32)는 무선랜통신을 AP(access point)모드로 초기화하는 부분, 그리고 웹서버 및 블록코드핸들러 부분으로 구분될 수 있다. 여기서, 펌웨어(32)는 웹서버를 통해 사용자 편의 기능블록들을 정의할 수 있다. 또한, 블록코딩편집기는 사용자 편의 기능을 트리거하기 위한 조건을 설정하고, 조건을 만족하는 경우 수행할 장치 제어 동작을 지정할 수 있다. 블록-스크립트 변환기는 사용자 편의 기능블록들을 소스 코드 형태로 변환함으로써, 프로세서(36)가 읽을 수 있는 스크립트로 변환할 수 있다. 변환된 스크립트들은 스크립트 대기행렬(큐)에 저장될 수 있으며, 스크립트 실행기에 의해 스크립트 대기행렬(큐)에 저장된 순서에 따라 순차적으로 스크립트들이 실행될 수 있다. For example, the firmware 32 may be divided into a part for initializing wireless LAN communication in AP (access point) mode, and a web server and block code handler part. Here, the firmware 32 may define functional blocks for user convenience through a web server. In addition, the block coding editor can set a condition for triggering a user convenience function and designate a device control operation to be performed when the condition is satisfied. The block-script converter converts user convenience function blocks into a source code form, so that the processor 36 can convert them into scripts that can be read. The converted scripts may be stored in the script queue (queue), and the scripts may be sequentially executed according to the order stored in the script queue (queue) by the script executor.

메모리(34)는 상기 펌웨어를 구동하기 위한 인스트럭션들 및 웹애플리케이션 관련 파일시스템을 저장할 수 있다. 여기서, 메모리는 비휘발성 플래쉬메모리일 수 있으며, 필요에 따라 플래쉬메모리의 섹터를 구분하여 한 섹터에는 펌웨어를 탑재하고, 다른 섹터에는 웹애플리케이션 관련 파일시스템을 저장하는 공간으로 사용할 수 있다. The memory 34 may store instructions for driving the firmware and a web application-related file system. Here, the memory may be a non-volatile flash memory, and if necessary, sectors of the flash memory may be divided, one sector may be loaded with firmware, and another sector may be used as a space for storing a web application-related file system.

프로세서(36)는 메모리에 저장된 인스트럭션들 및 상기 웹애플리케이션 관련 파일시스템을 로드하여 사용자 편의 기능이 설정된 장치 제어를 수행할 수 있다. 일 예로, 프로세서(36)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(34) 또는 통신 모듈에 의해 프로세서로 제공될 수 있다. 예를 들어 프로세서는 메모리(34)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. The processor 36 may load the instructions stored in the memory and the file system related to the web application to perform device control in which user convenience functions are set. As an example, the processor 36 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. Instructions may be provided to the processor by memory 34 or a communication module. For example, the processor may be configured to execute instructions received according to program code stored in a recording device such as memory 34 .

임베디드 시스템(30)은 다양한 산업군에 활용될 수 있고, 아래는 임베디드 시스템을 적용한 실시예들을 설명한다.The embedded system 30 can be utilized in various industries, and the following will describe embodiments applying the embedded system.

일 예로, 전기장판 제어기를 본 발명의 임베디드 시스템(30)을 통해 구현하는 일 예를 설명하면, 사람의 인체는 수면기간 동안 외부온도가 변하는 환경에 익숙하도록 진화되어 왔다. 수면중에 체온상승으로 인해 온도가 올라가다가 새벽무렵 서서히 온도가 낮아지는 것을 예로 들 수 있다. 그러나 전기장판에는 단순히 온도 높낮이를 조정하는 기계식 버튼 이외에 별도의 사용자 인터페이스가 없는 것이 대다수 제품군일 수 있다. 이러한 기계식 버튼은 일정 온도를 맞추는 역할밖에 수행하지 못하며, 특히 본 발명에서와 같이 정교한 온도곡선을 입력할 방법이 없다. For example, referring to an example of implementing an electric pad controller through the embedded system 30 of the present invention, the human body has evolved to become accustomed to an environment in which external temperature changes during a sleeping period. For example, the temperature rises due to an increase in body temperature during sleep and gradually decreases at dawn. However, most product groups may not have a separate user interface other than a mechanical button that simply adjusts the temperature. These mechanical buttons perform only a role of setting a certain temperature, and in particular, there is no method for inputting a precise temperature curve as in the present invention.

이와 달리, 본 발명의 임베디드 시스템(30)을 이용하면, 웹앱을 통해 사용자가 원하는 온도곡선을 입력, 편집하고, 위 편집된 온도곡선에 따라 전기장판 온도의 제어가 가능하다. 본 발명의 임베디드 시스템(30)은 크기가 매우 작으므로 전기장판과 같이 온도 제어 버튼과 함께 충분히 탑재될 수 있으며, 별도의 디스플레이나 추가적인 버튼 설정이 필요치 않다. 게다가, 본 발명의 임베디드 시스템(30)은 사용자가 스마트폰을 전기장판 근처로 가져오면, 사용자의 스마트폰에 웹애플리케이션 접속을 위한 접속 주소를 전송하고, 사용자는 스마트폰을 통해 웹애플리케이션에 접속하고, 웹애플리케이션 내 사용자 인터페이스를 통해 전술한 온도곡선을 트리거로 하여 전기장판의 온도를 조정하는 사용자 설정이 가능하다. 이에 따르면, 추운 겨울의 경우, 수면초기에 온도를 올려주었다가 새벽이 되면 서서히 낮추어주는 스마트 전기장판이 구현될 수 있다. In contrast, using the embedded system 30 of the present invention, it is possible to input and edit a desired temperature curve through a web app, and control the temperature of the electric pad according to the edited temperature curve. Since the size of the embedded system 30 of the present invention is very small, it can be sufficiently mounted with temperature control buttons like an electric pad, and does not require a separate display or additional button settings. In addition, the embedded system 30 of the present invention transmits the access address for accessing the web application to the user's smartphone when the user brings the smartphone near the electric pad, and the user accesses the web application through the smartphone , It is possible to set the user to adjust the temperature of the electric pad using the aforementioned temperature curve as a trigger through the user interface in the web application. According to this, in the case of cold winter, a smart electric pad that raises the temperature at the beginning of sleep and gradually lowers it at dawn can be implemented.

도 4는 본 발명의 실시예에 따른 임베디드 시스템을 이용한 관수 제어기에 관한 일 예이다. 도 4를 참고하면, 임베디드 시스템을 이용한 관수 제어기(40)는 임베디드 시스템(30), RTC 모듈(41), 강우 센서(42), Relay(43), 솔레노이드 벨브(44)를 포함할 수 있다. 4 is an example of a watering controller using an embedded system according to an embodiment of the present invention. Referring to FIG. 4 , the irrigation controller 40 using an embedded system may include an embedded system 30, an RTC module 41, a rainfall sensor 42, a relay 43, and a solenoid valve 44.

RTC 모듈(41)은 임베디드 시스템(30)에 적용될 시간을 실시간으로 카운트 할 수 있다. RTC(Real time clock) 모듈을 임베디드 시스템(30)에 연결하여, 날짜 및 시간의 변화에 따른 관수 제어기의 제어가 가능할 수 있다. The RTC module 41 may count the time to be applied to the embedded system 30 in real time. By connecting a real time clock (RTC) module to the embedded system 30, it is possible to control the irrigation controller according to the change of date and time.

강우 센서(42)는 온도/습도 센서를 내장하여 야외 환경에서 비가 오는 것을 감지할 수 있다.The rain sensor 42 may detect rain in an outdoor environment by incorporating a temperature/humidity sensor.

임베디드 시스템(30)은 RTC 모듈(41) 및 강우 센서(42)와 전기적으로 연결되어, 야외 환경에서도 시간 및 강우 상태 정보를 획득할 수 있다. 또한, 임베디드 시스템(30)은 자체 내장된 펌웨어를 구동 시켜, 사용자 단말(50)이 웹애플리케이션을 통해 입력하는 관수 제어 기능들을 구현할 수 있다. The embedded system 30 is electrically connected to the RTC module 41 and the rainfall sensor 42, so that time and rainfall state information can be obtained even in an outdoor environment. In addition, the embedded system 30 can implement the irrigation control functions that the user terminal 50 inputs through a web application by driving its own built-in firmware.

이를 위해, 임베디드 시스템(30)은 펌웨어(32) 내 웹 서버, 블록코딩 편집기, 블록-스크립트 변환기, 스크립트 대기행렬(큐), 스크립트 실행기 등을 포함할 수 있다. To this end, the embedded system 30 may include a web server, a block coding editor, a block-to-script converter, a script queue (queue), a script executor, and the like in the firmware 32 .

한편, 임베디드 시스템(30)내 프로세서(36)를 통해 펌웨어(32)의 스크립트 실행기에 있는 소스 코드에 따라 솔레노이드 밸브(44)의 작동을 제어할 수 있다. 여기서, 솔레노이드 벨브는 도선을 나선형으로 감아서 전기를 통전시키면 자장의 힘에 의해 밸브가 열리고 닫히는 전자 밸브일 수 있다. Meanwhile, the operation of the solenoid valve 44 can be controlled according to the source code in the script executor of the firmware 32 through the processor 36 in the embedded system 30 . Here, the solenoid valve may be an electromagnetic valve that opens and closes by the force of a magnetic field when electricity is supplied by winding a wire in a spiral shape.

Relay(43)는 전원공급기와 임베디드 시스템(30)을 연결하고, 임베디드 시스템(30)의 출력을 온/오프하는 스위치로 작동할 수 있다. The relay 43 may operate as a switch that connects the power supply and the embedded system 30 and turns on/off the output of the embedded system 30.

일 실시 예에 따르면, 임베디드 시스템을 이용한 관수 제어기(40)는 가정용, 조경용, 또는 농업용 스프링쿨러 등을 제어할 수 있으며, 사용자 단말(50)이 지정하는 관수 제어 기능에 따라, 손쉽게 사용자가 원하는 스프링쿨러 제어 기능을 구현할 수 있다. According to an embodiment, the irrigation controller 40 using an embedded system can control a sprinkler for home, landscaping, or agriculture, etc., and according to the irrigation control function specified by the user terminal 50, the user easily wants a spring Cooler control function can be implemented.

한편, 사용자 단말(50)은 와이파이 또는 블루투스 등 근거리 무선 네트워크 검색을 통해 임베디드 시스템을 이용한 관수 제어기(40)의 식별 번호(SSID)를 검색하고, 사용자 단말(50)이 임베디드 시스템을 이용한 관수 제어기(40)의 식별번호(SSID)에 접속하면, 관련된 웹애플리케이션이 웹 브라우저를 통해 실행될 수 있다. On the other hand, the user terminal 50 searches for the identification number (SSID) of the irrigation controller 40 using the embedded system through a short-range wireless network search such as Wi-Fi or Bluetooth, and the user terminal 50 searches for the irrigation controller using the embedded system ( 40), a related web application can be executed through a web browser.

도 4를 참고하면, 사용자 단말(50)은 웹애플리케이션을 통해 관수 제어 기능을 선택할 수 있다. Referring to FIG. 4 , the user terminal 50 may select a watering control function through a web application.

만일, 사용자 단말(50)이 관수 제어를 위해 “On Time 블록” 및 ”Valve On/Off 블록”, “On Sensor 블록”, “Valfe On/Off 블록” 등을 선택하면, 선택된 기능 블록등이 임베디드 시스템(30)이 관리하는 웹서버에 업로드 될 수 있다. If the user terminal 50 selects "On Time block", "Valve On/Off block", "On Sensor block", "Valfe On/Off block", etc. for irrigation control, the selected function block is embedded It can be uploaded to the web server managed by the system 30.

이때, 임베디드 시스템(30)은 사용자가 선택한 기능 블록 등에 상응하는 소스 코드를 변환하고, 코드를 실행함으로써 “아침 9시에 시작”, “Valve 개방을 약 10분 동안 수행” 등의 사용자 맞춤형 관수 제어 기능을 수행할 수 있다. At this time, the embedded system 30 converts the source code corresponding to the function block selected by the user and executes the code to control user-customized irrigation such as “start at 9:00 am” and “open the valve for about 10 minutes”. function can be performed.

한편, 위와 같은 관수제어 기능의 설정에는 특정 조건에 따라 기능의 작동을 달리 설정하는 것이 가능하다. 예를 들어, 사용자 단말(50)이 관수 제어를 위해 “On Sensor 블록” 및 “Valve On/Off 블록”을 선택했다면, 임베디드 시스템(30)은 사용자가 선택한 기능 블록에 상응하는 소스 코드를 변환하고, 코드를 실행함으로써 “비가 오면”, “밸브를 잠금” 기능을 수행할 수 있다. On the other hand, in setting the irrigation control function as described above, it is possible to differently set the operation of the function according to specific conditions. For example, if the user terminal 50 selects “On Sensor block” and “Valve On/Off block” for irrigation control, the embedded system 30 converts the source code corresponding to the function block selected by the user and , “When it rains”, “Lock the valve” function can be performed by executing the code.

한편, 여기서 사용자 단말(50)은 유무선 통신 환경에서 웹 서비스를 이용할 수 있는 통신 단말을 의미한다. 사용자 단말(50)은 사용자의 퍼스널 컴퓨터일 수도 있고, 또는 사용자의 휴대용 단말일 수도 있다. 도 4에서는 휴대용 단말이 스마트폰으로 도시되었지만, 본 발명의 사상은 이에 제한되지 아니하며, 상술한 바와 같이 인터넷 통신이 가능한 애플리케이션을 탑재한 단말은 제한 없이 차용될 수 있다.Meanwhile, the user terminal 50 here means a communication terminal capable of using a web service in a wired/wireless communication environment. The user terminal 50 may be a user's personal computer or a user's portable terminal. Although the portable terminal is shown as a smart phone in FIG. 4, the spirit of the present invention is not limited thereto, and as described above, a terminal equipped with an application capable of internet communication may be borrowed without limitation.

도 5는 본 발명의 웹애플리케이션에서 아이콘 형태의 사용자 인터페이스를 제공하여 관수제어기의 사용자 편의 기능을 설정하는 일 예이다. 본 발명의 장치(10) 또는 임베디드 시스템(30)은 다양한 산업군에 활용될 수 있지만, 이하에서 비교적 동작이 간단한 잔디밭에 물을 주는 스프링쿨러(관수제어기)에 관한 일 예를 설명한다.5 is an example of setting user convenience functions of the irrigation controller by providing a user interface in the form of an icon in the web application of the present invention. Although the device 10 or the embedded system 30 of the present invention can be used in various industries, an example of a sprinkler (irrigation controller) that waters a lawn with a relatively simple operation will be described below.

먼저, 본 발명의 장치(10) 또는 임베디드 시스템(30)은 사용자가 직관적으로 이해할 수 있도록 시각화된 자료를 적극 활용하여 사용자 인터페이스를 구현할 수 있다. 도 5의 상단 도면을 참고하면, 웹애플리케이션을 통해 제공되는 사용자 인터페이스는 기능블록을 표현하는 아이콘을 나열하여 제공될 수 있다. 아이콘은 비전문가인 사용자도 직관적으로 관련 기능을 파악할 수 있게 할 수 있다. 또한, 사용자가 사용자 인터페이스를 통해 관련 아이콘 위에 위치하거나, 아이콘을 클릭하면 기능블록의 정의, 조건, 트리거, 관련 제어 기능 등에 관한 정보가 태그되거나, 설명될 수 있다. First, the device 10 or the embedded system 30 of the present invention can implement a user interface by actively utilizing visualized data so that the user can intuitively understand. Referring to the upper drawing of FIG. 5 , a user interface provided through a web application may be provided by enumerating icons representing functional blocks. Icons can enable non-expert users to intuitively grasp related functions. In addition, when a user locates on a related icon through a user interface or clicks an icon, information about a function block definition, condition, trigger, related control function, etc. may be tagged or described.

도 5의 하단 도면을 참고하면, 사용자가 사용자 인터페이스를 통해 마우스로 위 아이콘을 클릭하거나, 스마트폰의 터치 기능을 사용하여 위 아이콘을 드래그 앤 드롭하는 등으로 몇몇 기능블록등을 선택할 수 있다. Referring to the lower drawing of FIG. 5 , a user may select some function blocks through a user interface by clicking the above icon with a mouse or by dragging and dropping the above icon using a touch function of a smartphone.

일 예로, 관수제어기에 필요한 기능블록을 살펴보면, 1번 타임설정-벨브제어 기능블록이 선택될 수 있다. 관수제어기는 일반적으로 몇시에 밸브를 열어 물을 주고 몇시에 밸브를 닫는 것이 기본동작이다. 예컨대, 온타입블록을 가져오면 특정시간에 밸브를 켜거나 끌 수 있다. 시간설정 블록을 가져오면 시간을 지정할 수 있다.As an example, looking at the functional blocks required for the irrigation controller, the first time setting-valve control functional block can be selected. The basic operation of the irrigation controller is to open the valve at what time to give water and close the valve at what time. For example, if you bring an ontype block, you can turn the valve on or off at a specific time. If you import the time setting block, you can specify the time.

그리고 사용자는 추가적으로 2번 요일설정-관수기 제한/반복 기능 수행을 설정할 수 있다. 예컨대 건너뛰기 블록을 가져오면 특정요일은 자동조작을 멈춘다. 예를 들어, 일요일은 사람이 직접 작동하므로 자동조작은 중지하는 것을 설정할 수 있다. And the user can additionally set the 2nd day of the week setting - watering limit/repeat function execution. For example, importing a skip block will stop the automatic operation on certain days of the week. For example, on Sundays, human operation can be set to stop automatic operation.

한편, 3번 악천후-기능제한 기능 수행을 선택할 수 있다. 여기서, 온센서 블록을 가져오면 센서가 빗물을 감지할 때 작동을 멈추는 것을 설정할 수 있다. On the other hand, it is possible to select No. 3 bad weather-restricted function function. Here, if you bring the onsensor block, you can set it to stop working when the sensor detects rainwater.

사용자는 좌측에 표시된 일련의 블록들을 끌어서 작업화면에 놓고 서로 연결하여 자신만의 기능을 정의할 수 있다. 또한, 사용자는 기능블록을 선택하고 업로드 버튼을 누르면 해당 블록코딩이 웹서버 및 플래쉬메모리의 웹애플리케이션 관련 시스템 파일로 저장될 수 있다. Users can define their own functions by dragging a series of blocks displayed on the left, placing them on the work screen, and connecting them to each other. In addition, when a user selects a function block and presses an upload button, the corresponding block coding can be stored as a web application-related system file in the web server and flash memory.

도 6은 관수제어기에서 종래의 MMI 방식과 본 발명의 일 실시예에 따른 장치 또는 임베디드 시스템의 특장점을 비교 설명한 표에 관한 일 예이다. 관수제어기를 놓고 종래의 MMI 방식과 본 발명의 장치 또는 임베디드 시스템의 특장점을 비교하면 아래와 같다. 6 is an example of a table for comparing and explaining the characteristics of a conventional MMI method in an irrigation controller and a device or an embedded system according to an embodiment of the present invention. The characteristics and advantages of the conventional MMI method and the device or embedded system of the present invention are compared with the irrigation controller as follows.

먼저, 종래의 MMI 방식은 사용자가 기능을 정의하거나 수정, 편집, 추가하는 것이 불가능했다. 종래 MMI 방식의 보통 기계식 버튼을 지니는 관수제어기에서는 기껏해야 타이머 설정 정도만 가능했을 것으로 보인다. 이와달리, 본 발명의 장치 또는 임베디드 시스템은 사용자 편의를 고려한 다양한 설정이 가능하다. First, in the conventional MMI method, it is impossible for a user to define, modify, edit, or add a function. In the conventional MMI-type watering controller having a mechanical button, it seems that only timer setting was possible at most. Unlike this, the device or embedded system of the present invention can be set in various ways considering user convenience.

또한, 장치제어기의 외관에 있어서, 종래의 MMI 방식은 버튼, 표시창, 또는 스위치가 케이스 위에 형성되는 경우가 많았다. 이 경우 자연스례 외관의 구조가 복잡해질 수 있다. 이와달리, 본 발명의 장치 또는 임베디드 시스템은 외관의 심미적 기능을 해칠수 있는 어떤 추가적인 인터페이스도 필요치 않을 수 있다. In addition, in the appearance of the device controller, in the conventional MMI method, buttons, display windows, or switches are often formed on the case. In this case, the structure of the exterior may naturally become complicated. Alternatively, the device or embedded system of the present invention may not require any additional interfaces that may impair the aesthetic function of the appearance.

예를 들어, 본 발명의 장치 또는 임베디드 시스템은 장치 외관의 별도 스위치나 버튼에 의하지 않아도, 펌웨어 또는 소프트웨어를 통해 충분히 실용적이고, 안정적인 관수제어기의 제어를 할 수 있다. For example, the device or embedded system of the present invention can control the irrigation controller in a sufficiently practical and stable manner through firmware or software without using a separate switch or button on the exterior of the device.

일 예로, 종래 MMI 방식은 우천시 자동조작 중지와 같은 기능은 임베디드구현이 시스템 내 구현이 복잡하여 이를 설정하기가 매우 어려웠을 수 있다. 이와 달리 본 발명의 장치 또는 임베디드 시스템은 웹애플리케이션을 통해 장치 제어 기능에 관한 조건을 종래 MMI 방식에 비해 쉽게 설정할 수 있다. 유사하게 본 발명은 종래 MMI 방식에 비해, 반복동작, 통신동작 들에 관한 조건을 설정할 수 있다. For example, in the conventional MMI method, it may be very difficult to set a function such as an automatic operation stop in case of rain because the embedded implementation is complicated to implement in the system. In contrast, the device or embedded system of the present invention can easily set the conditions related to the device control function through a web application compared to the conventional MMI method. Similarly, compared to the conventional MMI method, the present invention can set conditions for repetitive operations and communication operations.

도 7은 본 발명의 장치 또는 임베디드 시스템을 통해 간판제어를 위한 기능을 구현하도록 블록코딩을 설정한 일 예이다. 본 발명의 장치 또는 임베디드 시스템을 이용하는 간판제어기의 제어 기능은 다음과 같은 블록코딩을 통해 사전에 사용자에 의해 설정될 수 있다. Figure 7 is an example of setting block coding to implement the function for signboard control through the device or embedded system of the present invention. The control function of the signboard controller using the device or embedded system of the present invention can be set by the user in advance through the following block coding.

일 예로, 블록코딩 1은 제어기능을 온오프로 정의하고, 조건을 사용자가 지정한 타임으로, 트리거는 매일 오후 19:00를 시작으로 조명을 점등하고, 매일 23:00를 시작으로 조명을 소등할 수 있다. 이러한 조명 제어 기능을 간판 제어기에 적용한다면, 특정 시간에 온/오프를 반복하는 사용자 설정이 가능하다. As an example, block coding 1 defines the control function as on-off, the condition is a time specified by the user, and the trigger turns on the lights starting at 19:00 every afternoon and turns off the lights starting at 23:00 every day. can If such a lighting control function is applied to a signboard controller, it is possible to set a user to repeat on/off at a specific time.

도 8은 본 발명의 일 실시예에 따른 장치 또는 임베디드 시스템의 외관에 관한 일 예이다. 도 8을 참고하면, 본 발명의 장치 또는 임베디드 시스템의 외관이 참조될 수 있다. 본 발명에서 장치 또는 임베디드 시스템은 웹애플리케이션을 통해 사용자로부터 입력을 받기 때문에 이를 위한 별도의 버튼이나 디스프레이가 필요치 않다. 8 is an example of an appearance of a device or an embedded system according to an embodiment of the present invention. Referring to FIG. 8 , the appearance of the device or embedded system of the present invention may be referred to. In the present invention, since the device or embedded system receives input from the user through a web application, a separate button or display for this is not required.

다만, 본 발명의 장치 또는 임베디드 시스템을 평상시에 휴면 상태로 놓아두고, 필요시 웨이크업하기 위해 도 8과 같이 별도의 버튼을 추가할 수는 있다. However, a separate button may be added as shown in FIG. 8 to leave the device or embedded system of the present invention in a dormant state and wake it up when necessary.

본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.Embodiments according to the present invention may be implemented in the form of a computer program that can be executed on a computer through various components, and such a computer program may be recorded on a computer-readable medium. At this time, the medium is a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM and a DVD, a magneto-optical medium such as a floptical disk, and a ROM hardware devices specially configured to store and execute program instructions, such as RAM, flash memory, and the like.

한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Meanwhile, the computer program may be specially designed and configured for the present invention or may be known and usable to those skilled in the art of computer software. Examples of computer programs may include not only machine language codes generated by a compiler but also high-level language codes that can be executed by a computer using an interpreter or the like.

일 실시예에 따르면, 본 개시의 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments of the present disclosure may be included and provided in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store™) or between two user devices. It can be distributed (e.g., downloaded or uploaded) directly or online. In the case of online distribution, at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.

본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.The steps constituting the method according to the present invention may be performed in any suitable order unless an order is explicitly stated or stated to the contrary. The present invention is not necessarily limited according to the order of description of the steps. The use of all examples or exemplary terms (eg, etc.) in the present invention is simply to explain the present invention in detail, and the scope of the present invention is limited due to the examples or exemplary terms unless limited by the claims. it is not going to be In addition, those skilled in the art can appreciate that various modifications, combinations and changes can be made according to design conditions and factors within the scope of the appended claims or equivalents thereof.

따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments and should not be determined, and all scopes equivalent to or equivalently changed from the claims as well as the claims described below are within the scope of the spirit of the present invention. will be said to belong to

10: 블록코딩을 이용한 사용자 편의 기능 설정 장치
11: 통신모듈
12: 웹서버
13: 웹애플리케이션
14: 블록코딩 핸들러
15: 제어부
30: 임베디드 시스템
31: 무선랜
32: 펌웨어
34: 메모리
36: 프로세서
40: 임베디드 시스템을 이용한 관수제어기
43: RTC 모듈
42: 강우 센서
43: Relay
44: 솔레노이드 밸브
50: 사용자 단말
10: User convenience function setting device using block coding
11: communication module
12: Web server
13: Web application
14: block coding handler
15: control unit
30: embedded system
31: wireless LAN
32: Firmware
34: memory
36: processor
40: Irrigation controller using an embedded system
43: RTC module
42 Rain sensor
43: relay
44: solenoid valve
50: user terminal

Claims (7)

블록코딩를 이용한 사용자 편의 기능 설정 장치에 있어서,
AP(Access Point)로 동작하는 무선랜을 이용하여 외부 기기에 웹애플리케이션 접속 주소를 전송하는 통신모듈;
사용자 편의 기능을 구현하기 위한 복수개의 기능블록들을 설정하고, 상기 설정된 사용자 편의 기능블록들을 웹애플리케이션을 통해 배포하는 웹서버;
상기 웹서버에 의해 설계 및 구동되고 사용자 인터페이스를 지원하는 웹애플리케이션;
상기 사용자 인터페이스를 통해 선택된 사용자 편의 기능블록들을 조합하여 적어도 하나 이상의 인스트럭션을 포함하는 블록코딩을 불러오고, 상기 블록코딩의 동작수행 순서를 조정하는 블록코딩 핸들러;
상기 순서 조정된 일련의 블록코딩을 실행하여 상기 사용자 편의 기능 블록에 상응하는 장치 제어를 수행하는 제어부;를 더 포함하는 장치.
In the user convenience function setting device using block coding,
A communication module for transmitting a web application access address to an external device using a wireless LAN operating as an access point (AP);
a web server that sets a plurality of function blocks for implementing user convenience functions and distributes the set user convenience function blocks through a web application;
a web application designed and driven by the web server and supporting a user interface;
a block coding handler that combines user-friendly function blocks selected through the user interface, calls block coding including at least one instruction, and adjusts an operation execution sequence of the block coding;
and a control unit configured to execute the sequence-adjusted series of block coding and perform device control corresponding to the user-friendly function block.
제1항에 있어서, 상기 통신모듈은,
상기 무선랜을 통해 SSID 정보를 포함하는 전파를 주변에 방사하고,
주변 기기가 상기 SSID를 선택하여 상기 무선랜에 접속하면, 주변 기기에 웹애플리케이션 실행을 위한 인덱스를 전송하는, 장치.
The method of claim 1, wherein the communication module,
radiating radio waves including SSID information to surroundings through the wireless LAN;
When the peripheral device selects the SSID and accesses the wireless LAN, the device transmits an index for executing a web application to the peripheral device.
제1항에 있어서, 상기 웹서버는
상기 사용자 편의 기능블록들을 정의하는 단계;
상기 사용자 편의 기능을 트리거하기 위한 조건을 설정하는 단계;
상기 조건을 만족하는 경우 수행할 장치 제어 동작을 지정하는 단계; 및
상기 장치 제어 동작을 수행하기 위한 인스트럭션 코드를 상기 기능블록들에 매핑하는 단계; 를 통해 상기 사용자 편의 기능블록들을 설정하는, 장치.
The method of claim 1, wherein the web server
defining the user-friendly function blocks;
setting a condition for triggering the user convenience function;
designating a device control operation to be performed when the condition is satisfied; and
mapping instruction codes for performing the device control operation to the functional blocks; An apparatus for setting the user convenience function blocks through
제1항에 있어서,
상기 사용자 인터페이스는, 시각적으로 사용자에게 상기 기능블록을 연상시키는 아이콘 또는 인포그래픽을 통해 표현될 수 있고, 상기 사용자 편의 기능블록을 임의로 조합할 수 있는 포맷을 사용자에게 제공하는, 장치.
According to claim 1,
The user interface may be expressed through an icon or an infographic that visually reminds the user of the function block, and provides the user with a format capable of arbitrarily combining the functional block for user convenience.
제1항에 있어서, 상기 제어부는,
상기 블록코드를 실행하여 장치의 온오프, 스케쥴러, 조건에 따른 기능제한, 조건에 따른 기능강화, 사용자 커뮤니케이션 중 적어도 하나 이상의 장치 제어를 수행하는, 장치.
The method of claim 1, wherein the control unit,
A device that executes the block code to control at least one of device on/off, scheduler, function restriction according to conditions, function enhancement according to conditions, and user communication.
블록코딩를 이용한 사용자 편의 기능 설정 방법에 있어서,
사용자 편의 기능을 구현하기 위한 복수개의 기능블록들을 설정하는 단계;
무선랜을 통해 SSID 정보를 포함하는 전파를 주변에 방사하는 단계;
주변 기기가 상기 SSID를 선택하여 상기 무선랜에 접속하면, 상기 주변 기기에 웹애플리케이션 접속을 위한 인덱스를 전송하는 단계;
상기 설정한 사용자 편의 기능블록들을 웹애플리케이션을 통해 배포하는 단계;
웹애플리케이션 내 사용자 인터페이스를 통해 사용자로부터 기능블록 선택을 입력받는 단계;
상기 입력 결과에 따라 적어도 하나 이상의 기능블록을 조합하여 웹서버에 업로드하는 단계;
상기 업로드된 기능블록들에 상응하는 적어도 하나의 인스트럭션을 포함하는 블록코딩을 불러오고, 상기 블록코딩의 동작 순서를 조정하는 단계; 및
상기 순서가 조정된 일련의 블록코딩을 실행하여 사용자 편의 기능이 설정된 장치 제어를 수행하는 단계;를 포함하는, 방법.
In the method for setting user convenience functions using block coding,
setting a plurality of functional blocks to implement user convenience functions;
radiating radio waves including SSID information to surroundings through a wireless LAN;
transmitting an index for web application access to the peripheral device when the peripheral device selects the SSID and accesses the wireless LAN;
Distributing the set user convenience function blocks through a web application;
receiving a function block selection input from a user through a user interface in a web application;
combining one or more functional blocks according to the input result and uploading them to a web server;
calling block coding including at least one instruction corresponding to the uploaded functional blocks and adjusting an operation sequence of the block coding; and
and performing device control in which a user convenience function is set by executing a series of block codings in which the sequence is adjusted.
AP 모드로 동작하기 위한 ad-hoc을 지원하고, 상기 AP 모드에서 웹애플리케이션 인덱스를 주변 기기에 전송하는 무선랜;
웹애플리케이션을 설계하고 상기 웹애플리케이션을 통해 사용자 편의 기능을 기능블록 단위로 설정하는 웹서버 및 상기 웹서버를 통해 설정된 사용자 편의 기능을 구현하기 위한 인스트럭션 코드를 조합하는 블록코딩 핸들러를 탑재한 펌웨어;
상기 펌웨어를 구동하기 위한 인스트럭션들 및 웹애플리케이션 관련 파일시스템을 저장하는 메모리; 및
상기 메모리에 저장된 인스트럭션들 및 상기 웹애플리케이션 관련 파일시스템을 로드하여 상기 사용자 편의 기능이 설정된 장치 제어를 수행하는 프로세서;를 포함하는, 임베디드 시스템.
a wireless LAN that supports ad-hoc for operating in an AP mode and transmits a web application index to a peripheral device in the AP mode;
Firmware equipped with a web server that designs a web application and sets user convenience functions in functional block units through the web application and a block coding handler that combines instruction codes for implementing user convenience functions set through the web server;
a memory for storing instructions for driving the firmware and a file system related to a web application; and
and a processor that loads the instructions stored in the memory and the file system related to the web application and performs device control in which the user convenience function is set.
KR1020210152748A 2021-11-09 2021-11-09 Apparatus, Method and Embedded system to set up user friendly functions based to block coding KR102652469B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210152748A KR102652469B1 (en) 2021-11-09 2021-11-09 Apparatus, Method and Embedded system to set up user friendly functions based to block coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210152748A KR102652469B1 (en) 2021-11-09 2021-11-09 Apparatus, Method and Embedded system to set up user friendly functions based to block coding

Publications (2)

Publication Number Publication Date
KR20230067061A true KR20230067061A (en) 2023-05-16
KR102652469B1 KR102652469B1 (en) 2024-03-29

Family

ID=86546032

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210152748A KR102652469B1 (en) 2021-11-09 2021-11-09 Apparatus, Method and Embedded system to set up user friendly functions based to block coding

Country Status (1)

Country Link
KR (1) KR102652469B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190071987A (en) * 2017-12-15 2019-06-25 한국전자통신연구원 Apparatus and method for controlling terminal using block program
KR20200010664A (en) * 2018-07-04 2020-01-31 현대자동차주식회사 Method setting up operation of vehicle convenience device using block coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190071987A (en) * 2017-12-15 2019-06-25 한국전자통신연구원 Apparatus and method for controlling terminal using block program
KR20200010664A (en) * 2018-07-04 2020-01-31 현대자동차주식회사 Method setting up operation of vehicle convenience device using block coding

Also Published As

Publication number Publication date
KR102652469B1 (en) 2024-03-29

Similar Documents

Publication Publication Date Title
US11089746B2 (en) Wireless remote irrigation control
KR102594357B1 (en) Method and apparatus for controlling device
KR101931782B1 (en) Smart home scenario switching method and system
US20120298763A1 (en) Distributed networked thermostat system and method
US20200393952A1 (en) Integration platform of internet of things and virtual device
CN103959374B (en) System and method for voice actuated configuration of a controlling device
KR101527328B1 (en) Lighting apparatus and Method for controlling thereof
CN109355880A (en) A kind of intelligent selection sunning mode control method, intelligent clothes airing machine and storage medium
US20210029789A1 (en) Predictive smart light control
JP5538592B1 (en) Energy management controller, energy management system, energy management method, and program
Tharishny et al. Android based smart house control via wireless communication
JP2005020650A (en) Operation terminal equipped with automatic button
KR102652469B1 (en) Apparatus, Method and Embedded system to set up user friendly functions based to block coding
KR101841014B1 (en) Smart home lighting system using dongle device
US11120683B2 (en) Remote control for interacting with smart home IoT devices and web services
Zeyad et al. A Smart Home Appliances Controlling Application (HACA-App) with Highly Secretive System
JP4713927B2 (en) Application program distribution method and server device used therefor
TW201621225A (en) Intelligent control module, intelligent fan light, intelligent remote controller of the fan light and intelligent fan light control method
JP2004326498A (en) Information terminal equipment and program
JP5121956B2 (en) Device control apparatus and device control method
CN105278341A (en) Smart home system on the basis of ARM and ZigBee
US20170060979A1 (en) Action Group Loading and Operation
Armando et al. Home automation architecture for comfort, security, and resource savings
KR20210006590A (en) Home Appliances Control Method For Improve sleep quality And Control Apparatus of Thereof
JP2012178889A (en) Appliance control device and appliance control method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant