E-MODER KIOSK ๐Ÿ’ณ โ–ป 1ํƒ„

September 20, 2019

logo

๋ฌด์ธ์ฃผ๋ฌธ๊ฒฐ์ œ๊ธฐ ๊ฐœ๋ฐœ๊ธฐ

๐Ÿ’Ž ๋ชฉ์ฐจ

๐ŸŒฑ ์„œ๋ก 

ํƒœํ’ ๋ง๋ง ๐ŸŒช ์ง€๋‹ˆ๊ฐ€๊ณ  ์Œ€์Œ€ํ•œ ๊ฐ€์„ ๐Ÿ‚์ด ์™”์Šต๋‹ˆ๋‹ค.

๋ชจ๋‘๋“ค ์ด์ œ๋Š” ์ž์ผ“์„ ๊ฑธ์น˜๊ณ  ๋‹ค๋…€์•ผ ํ• ๊ฑฐ๊ฐ™์•„์š” :)

์ด๋ฒˆ ์ฃผ์ œ๋Š” ์ฒซ ์ง์žฅ์—์„œ ๊ฐœ๋ฐœํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ์–˜๊ธฐํ•ด๋ณด์ž ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ๋‹น์‹œ๋Š” ์—ฌ๋Ÿฌ๋ชจ๋กœ ๊ณ ์ƒํ–ˆ๋˜ ๊ธฐ์–ต์ด ์ƒˆ๋ก์ƒˆ๋ก๋‚˜๋„ค์š” ๐Ÿค”

ํ‚ค์˜ค์Šคํฌ ?

์ฒซ ์ง์žฅ์—์„œ๋Š” ํ‚ค์˜ค์Šคํฌ๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋งจ ์ฒ˜์Œ ํ‚ค์˜ค์Šคํฌ๋ผ๋Š” ์–˜๊ธฐ๋ฅผ ๋“ฃ๊ณ ๋Š” ์ด๊ฒŒ ๋ฌด์—‡์ธ๊ฐ€ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์ „์  ์ •์˜๋ฅผ ์‚ดํŽด๋ณด๋‹ˆ ํ‚ค์˜ค์Šคํฌ๋ž€, ๋ฌด์ธ ์ž๋™ ๊ฒฐ์ œ๊ธฐ ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

1

์ผ๋ฐ˜์ ์œผ๋กœ ํŒจ์ŠคํŠธํ‘ธ๋“œ์ ์—์„œ ๋ณผ์ˆ˜ ์žˆ๋Š” ํ‚ค์˜ค์Šคํฌ์ž…๋‹ˆ๋‹ค.

ํ‚ค์˜ค์Šคํฌ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ์ž„๋ฒ ๋””๋“œ ์˜์—ญ์ด๊ณ  ๋‹น์—ฐํžˆ C ์–ธ์–ด๋ฅผ ์ƒ๊ฐํ•˜์—ฌ ๊ฑฑ์ •์ด ์•ž์„ฐ์Šต๋‹ˆ๋‹ค.

์™œ๋ƒํ•˜๋ฉด ๋Œ€ํ•™๊ณผ์ •์—์„œ C ์–ธ์–ด๋Š” 1ํ•™๋…„์„ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ฐฐ์šด์ ์ด ์—†์—ˆ๊ณ 

๊ทธ๋งˆ์ € ๊ตฐ๋Œ€๋ผ๋Š” ๋ฌธํ„ฑ์œผ๋กœ ๋†€๊ธฐ๋งŒ ๋ฐ”๋น  1ํ•™๋…„ ์ง€์‹์€ ๋จธ๋ฆฌ์†์—๋Š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿคฃ

์ถ”๊ฐ€์ ์œผ๋กœ ์ฒซ ์ง์žฅ์€ PHP๊ธฐ๋ฐ˜์˜ ERP ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜์—ฌ

์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์›น ๊ธฐ๋ฐ˜์ธ ํ‚ค์˜ค์Šคํฌ๋ฅผ ๊ฐœ๋ฐœ ๊ณ„ํš์„ ์„ธ์› ์Šต๋‹ˆ๋‹ค.

๊ทธ ๋‹น์‹œ, ๊ธฐํš, ์„ค๊ณ„, ๊ตฌํ˜„์„ ์ด๊ด„ํ•˜์˜€์œผ๋ฉฐ,

Node Js ์ฒ˜์Œ์œผ๋กœ ์ ‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿคฉ


โฌ† ๋ชฉ์ฐจ


๐ŸŒน ๋ณธ๋ก 

โ–ธ ๊ธฐ์ˆ  ์Šคํƒ

2017๋…„, Node Js ์ฒ˜์Œ ์ ‘ํ•œ ์‹œ์ ์—์„œ๋Š”

ํ‚ค์˜ค์Šคํฌ๋Š” ์ž„๋ฒ ๋””๋“œ ์žฅ๋น„์ด๋‹ค๋ณด๋‹ˆ

์–ด๋–ค์‹์œผ๋กœ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•ด์•ผํ•˜๋Š” ๋ง‰๋ง‰ํ•˜์˜€์ง€๋งŒ

ํƒ€๊ฒŸ๋ณด๋“œ ์žฅ๋น„์— ์„œ๋ฒ„๋ฅผ ๊ตฌ๋™์‹œํ‚ค๊ณ  ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ์œผ๋กœ ํŽ˜์ด์ง€๋ฅผ ์กฐ์ž‘ํ•˜๋Š”

๋งค์ปค๋‹ˆ์ฆ˜์„ ๊ตฌ์„ฑํ•˜์—ฌ ์ง„ํ–‰ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

โ–ธ ํƒ€๊ฒŸ ๋ณด๋“œ

๋Œ€ํ•™๊ต ์‹œ์ ˆ, ์‚ฌ์šฉํ•ด๋ดค๋˜ Raspberry Pi๋กœ ์ง„ํ–‰์„ 1์ฐจ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜์˜€๊ณ 

OS๋Š” Raspbian ์ด๋ผ๋Š” ubuntu ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์ฐจ๊ทผ์ฐจ๊ทผ ํ™˜๊ฒฝ ์…‹ํŒ…์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

$ sudo raspi-config

2

ํ•ด๋‹น ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚˜๋ฉด 1. Change User Password Select ํด๋ฆญ

Enter new UNIX password : ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ( ์ˆจ๊น€ )

Retype new UNIX password : ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌํ™•์ธ ( ์ˆจ๊น€ )

passwd : password updated successfully ( ๋ณ€๊ฒฝ ์„ฑ๊ณต )

๋ณด์•ˆ์„ ์œ„ํ•ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝ



2. ํ•œ๊ธ€ ์„ค์น˜

$ sudo apt-get install -y ibus

$ sudo apt-get install -y ibus-hangul

$ sudo apt-get install -y fonts-unfonts-core

ํ•œ๊ธ€์ด ๊นจ์ง€๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒ ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์„ค์น˜



3. ํ•ด์ƒ๋„ ๋ณ€๊ฒฝ

$ sudo nano /boot/config.txt

# ์ฝ”๋ฉ˜ํŠธ(#) ์ฒ˜๋ฆฌ๋œ ๊ฒƒ๋“ค์„ ํ™œ์„ฑํ™” ์‹œ์ผœ์ค€๋‹ค.
----------------------

hdmi_force_hotplug = 1

# 1: ์ถœ๋ ฅ ์Šคํƒ ๋‹ค๋“œ, 2: ์ผ๋ฐ˜์ ์ธ ๋ชจ๋‹ˆํ„ฐ
hdmi_group = 2

# ํ•ด์ƒ๋„ ์„ค์ •
hdmi_mode = N

# 1: ๋‹จ์ˆœ ์˜์ƒ, 2: ์Œ์„ฑ ์ถœ๋ ฅ
hdmmi_drive = 2

----------------------

์ถœ๋ ฅํ•˜๋Š” ๋ชจ๋‹ˆํ„ฐ ํ•ด์ƒ๋„์— ๋งž๊ฒŒ ์กฐ์ ˆ

hdmi_mode๋กœ ํ•ด์ƒ๋„๋ฅผ ์กฐ์ ˆํ•œ๋‹ค.

ํ•ด์ƒ๋„ ์ฐธ์กฐ



4. ์ ˆ์ „๋ชจ๋“œ ํ•ด์ œ

$ sudo nano /etc/lightdm/lightdm.conf

------------------------------
# before
#xserver-command = x

# after
# ์ฝ”๋ฉ˜๋“œ ์ œ๊ฑฐ ๋ฐ -s O -dpms ์ถ”๊ฐ€
xserver-command = x -s O -dpms

------------------------------


5. ์Šคํฌ๋ฆฐ์„ธ์ด๋ฒ„ ํ•ด์ œ

$ sudo nano /etc/X11/xinit/xinitrc

# ํ•˜๋‹จ์— ์ถ”๊ฐ€
--------------

xset s off
xset -dpms
xset s noblank

--------------


6. ๋งˆ์šฐ์Šค ์ปค์„œ ์ˆจ๊ธฐ๊ธฐ

# unclutter ์„ค์น˜
$ sudo apt-get install unclutter

$ sudo nano ~/.config/lxsession/LXDE-pi/autostart

# ํ•˜๋‹จ์— ์ถ”๊ฐ€
------------------

@unclutter -idle 0

------------------


7. ํ™”๋ฉด ํšŒ์ „

$ sudo nano /boot/config.txt

# display_rotate ์ˆซ์ž ๋ณ€๊ฒฝ
# 0 = 0๋„, 1 = 90๋„, 2 = 180๋„, 3 = 270๋„
------------------

display_rotate = 3

------------------

๋ชจ๋‹ˆํ„ฐ๋ฅผ ์„ธ๋กœ๋กœ ํ• ์ง€, ๊ฐ€๋กœ๋กœ ํ• ์ง€ ํŒ๋‹จ ํ›„์— ์„ค์ • ํ•ด์ค€๋‹ค.



8. ํ„ฐ์น˜ ๋ณด์ •

$ nano /etc/X11/xorg.conf.d/90-rotate-screen.conf

# ๋‹จ, xorg.conf.d ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„๊ฒฝ์šฐ
$ mkdir /etc/x11/xorg.conf.d

$ sudo nano /usr/share/X11/xorg.conf.d/90-rotate-screen.conf

# ์•„๋ž˜ ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•ด์„œ ๋ถ™์—ฌ๋„ฃ๋Š”๋‹ค.
-------------------------------------------------------

Section "Input Class"
     Identifier "RotateTouchCW"
     MatchProduct "ILITEK ILITEK-TP"
     Option "TransformationMatrix" "0 -1 1 1 0 0 0 0 1"
EndSection

-------------------------------------------------------

ํ™”๋ฉด ํšŒ์ „์‹œ ํ„ฐ์น˜ ๋ณด์ •์„ ํ•ด์ค˜์•ผํ•œ๋‹ค.



โ–ธ Node Js

๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ์…‹ํŒ…์€ ๋๋‚ฌ์œผ๋‹ˆ ๋ณธ๊ฒฉ์ ์œผ๋กœ Node Js๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค.

# node, npm ๋ฒ„์ „ ํ™•์ธ
$ node -v && npm -v

# node๊ฐ€ ์„ค์น˜ ๋˜์–ด์žˆ์„์‹œ ๊ตฌ๋ฒ„์ „์„ ์‚ญ์ œ
$ sudo apt-get remove --purge nodejs

# curl ํ†ตํ•ด ์ตœ์‹  ๋ฒ„์ „ ์…‹
$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash

# node ์„ค์น˜
$ sudo apt-get install -y nodejs

# npm ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ
$ npm install -g npm

# node, npm ๋ฒ„์ „ ํ™•์ธ
$ node -v && npm -v

Node Js ์„ค์น˜ ์™„๋ฃŒ


โฌ† ๋ชฉ์ฐจ


๐Ÿฅ€ ๊ฒฐ๋ก 

ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ์›น ํŽ˜์ด์ง€ ๊ตฌํ˜„์ด ์•„๋‹Œ

ํƒ€๊ฒŸ๋ณด๋“œ์— ๋‹จ์ผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ƒˆ๋กœ์› ๋‹ค.

๋˜ํ•œ ์ž„๋ฒ ๋””๋“œ ์ œ์–ด๋ฅผ JavaScript๋กœ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์—์„œ

๋”์šฑ JavaScript ๋งค๋ ฅ์— ๋น ์ง„๊ฑฐ ๊ฐ™์•˜๋‹ค.

์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋ฉด

  1. Raspberry Pi ํƒ€๊ฒŸ๋ณด๋“œ ํ™˜๊ฒฝ ์…‹ํŒ…
  2. Node Js ์„ค์น˜

2ํƒ„ ์—์„œ๋Š” npm ์„ค์น˜ ๋ฐ ์…‹ํŒ… ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


โฌ† ๋ชฉ์ฐจ



์—ฌ๋Ÿฌ๋ถ„์˜ ๋Œ“๊ธ€์ด ํฐํž˜์ด ๋ฉ๋‹ˆ๋‹ค. (เน‘โ€ขฬ€ใ…‚โ€ขฬ)ูˆโœง


[AGUMON]
Written by@[AGUMON]
์•„๊ตฌ๋ชฌ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

GitHubFacebook