Professional Documents
Culture Documents
Ajceam Paper
Ajceam Paper
Academic Journal on Computing, Engineering and Applied Mathematics ACADEMIC JOURNAL ON COMPUTING, ENGINEERING AND APPLIED MATHEMATICS, VOL. XX, NO. XX, Month 20XX
EAM
Abstract— This paper presents a low-cost prototype for lectures in public universities based on Raspberry Pi. It is a technical report
describing how to connect and configure the prototype using an infrared remote control. Technologies applied in education are widely
explored in recent researches and can be held to lower the cost. Our prototype is 86% cheaper on average and can be used for automation
of the classrooms besides lectures. For example, the prototype can be used to access control, environment monitoring, and management of
the environment utilization by the users.
1
TECHNICAL REPORT OF RASPBERRY PI PROTOTYPE FOR LECTURES IN PUBLIC UNIVERSITIES AUTHOR
pin of Raspberry Pi; c) SIGNAL pin to GPIO 18 of Raspberry And type the following code exactly as shown below.
Pi. 1 # / e t c / l i r c / hardware . conf
Each button of an IR remote control has a string of specific 2 #
encoding. When a button is pressed, the IR transmitter in the 3 # Arguments which w i l l be u s e d when l a u n c h i n g
remote control will send out the corresponding IR encoding lircd
4 LIRCD_ARGS= "−−u i n p u t "
signals. On the other side, when the IR receiver receives cer- 5 # Don ’ t s t a r t l i r c m d e v e n i f t h e r e seems t o be
tain encoding signals, it will decode them to identify which a good c o n f i g f i l e
button is pressed. 6 # START_LIRCMD= f a l s e
For this prototype, it was used the LIRC3 library to read 7 # Don ’ t s t a r t i r e x e c , e v e n i f a good c o n f i g
f i l e seems t o e x i s t .
infrared signals returned by buttons of the remote control and 8 # START_IREXEC= f a l s e
translate them to button values. Then, it was used pylirc 9 # Try t o l o a d a p p r o p r i a t e k e r n e l m o d u l e s
(Python) to simplify the process for reading values from the 10 LOAD_MODULES= t r u e
remote control. 11 # Run " l i r c d −− d r i v e r = h e l p " f o r a l i s t o f
supported drivers .
It’s important to highlight that LIRC library runs with- 12 DRIVER= " d e f a u l t "
out problems with Raspbian Jessie operational system until 13 # u s u a l l y / dev / l i r c 0 i s t h e c o r r e c t s e t t i n g
2017. For newer versions of Raspbian is required other con- f o r s y s t e m s u s i n g udev
14 DEVICE= " / dev / l i r c 0 "
figuration of the libraries. 15 MODULES= " l i r c _ r p i "
To configure the Raspberry Pi for remote control is re- 16 # D e f a u l t c o n f i g u r a t i o n f i l e s f o r your
quired these steps: h a r d w a r e i f any
17 LIRCD_CONF= " "
1. Download the LIRC library using the following com- 18 LIRCMD_CONF= " "
mand from terminal:
1 s u d o a p t −g e t i n s t a l l lirc
Type the command to reboot.
4. To perform a quick test to see if LIRC is working, it
is required to stop the LIRC daemon and start mode2.
2. Add the two lines below to /etc/modules. This will mode2 shows the pulse/space length of infrared signals.
start the modules on boot of Raspbian. Pin 18 will be
used to take the output from the IR sensor. Use the fol- To start the LIRC in mode2 type the following command:
lowing command: 1 sudo / e t c / i n i t . d / l i r c s t o p
2 mode2 −d / dev / l i r c 0
1 s u d o nano / e t c / m o d u l e s
And add this two lines in the file opened: 5. The irrecord command helps to discover the IR codes
used by the remote control and assist with creating a
1 l i r c \ _dev lircd.conf file which will be used by LIRC.
2 l i r c \ _ r p i g p i o \ _ i n \ _ p i n =18
To record the IR code type the following command from
the terminal:
1 i r r e c o r d −d / dev / l i r c 0 ~ / l i r c d . c o n f
Also, edit the /boot/config.txt file. Open the file
using the command:
1 s u d o nano / b o o t / c o n f i g . t x t
Once started, irrecord is going to show detailed
instructions on how to configure the remote con-
trol. Each button should be a pre-defined name.
And add the following line to the file: Running irrecord-list-namespace is going to dis-
play a list of available names. It can be set any
1 d t o v e r l a y = l i r c −r p i , g p i o \ _ i n \ _ p i n =18
name for any button but the name must be from the
irrecord-list-namespace list. After successfully
recording the configuration file, it looks like the follow-
ing listing:
3. Edit /etc/lirc/hardware.conf using the command:
1 # P l e a s e make t h i s f i l e a v a i l a b l e t o o t h e r s
1 s u d o nano / e t c / l i r c / h a r d w a r e . c o n f 2 # by s e n d i n g i t t o < l i r c @ b a r t e l m u s . de >
3 #
4 # t h i s c o n f i g f i l e was a u t o m a t i c a l l y g e n e r a t e d
5 # u s i n g l i r c −0.9.0 − p r e 1 ( d e f a u l t ) on Mon Dec 16
3 LIRC is a package that allows you to decode infrared signals of many 2 0 : 2 6 : 0 3 2019
(but not all) commonly used remote controls. LIRC runs as a daemon that 6 #
will decode IR signals received by the device drivers and provide the in- 7 # c o n t r i b u t e d by
formation on a socket. We will then write a program in the user space to 8 #
monitor this socket for input events using the LIRC client library. 9 # b r a n d : / home / p i / l i r c d . c o n f
2
AJC
Academic Journal on Computing, Engineering and Applied Mathematics ACADEMIC JOURNAL ON COMPUTING, ENGINEERING AND APPLIED MATHEMATICS, VOL. XX, NO. XX, Month 20XX
EAM
10 # model no . o f r e m o t e c o n t r o l : The lircrc file should be placed in the home di-
11 # d e v i c e s b e i n g c o n t r o l l e d by t h i s r e m o t e : rectory as /.config/lircrc. Optionally you can
12 #
13
create a system-wide configuration file located in
14 begin remote /etc/lirc/lircrc which will be used when no lircrc
15 file can be found in the /home directory.
16 name / home / p i / l i r c d . c o n f
17 b i t s 16 Following is the syntax of the lircrc file itself. The file
18 f l a g s SPACE_ENC | CONST_LENGTH consists of one or more of the following constructions:
19 e p s 30
20 a e p s 100 1 begin
21
2 prog = . . .
22 h e a d e r 9093 4490 3 remote = . . .
23 one 645 1625 4 button = . . .
24 z e r o 645 494 5 [ b u t t o n = . . . ] ( o p t i o n a l , f o r key s e q u e n c e s )
25 p t r a i l 647 6 repeat = . . .
26 p r e _ d a t a _ b i t s 16 7 delay = . . .
27 p r e _ d a t a 0 x8C73 8 ignore_first_events = . . .
28 gap 108500 9 config = . . .
29 t o g g l e _ b i t _ m a s k 0 x0 10 [ config = . . . ] ( optional , for toggle button
30
behaviour )
31 begin codes 11 mode = . . .
32 KEY_LEFT 0x13EC 12 flags = . . .
33 KEY_UP 0 x639C 13 end
34 KEY_RIGHT 0 x936C
35 KEY_DOWN 0xE31C
36 KEY_ENTER 0x53AC
37 KEY_TAB 0xE11E The complete lircrc file that was prepared for the proto-
38 KEY_ALTRELEASE 0x31CE type is as follows:
39 KEY_ALTPRESS 0 xF10E
40 KEY_CLOSE 0 x916E 1 begin
41 KEY_PRESENTATION 0xD32C 2 button = KEY_ESC
42 KEY_ESC 0x33CC 3 prog = irexec
43 KEY_POWER 0 x817E 4 repeat = 0
44 end c o d e s 5 config = esc
45 6 end
46 end r e m o t e 7 begin
8 button = KEY_TAB
9 prog = irexec
10 repeat = 0
Now replace the existing configuration file (which is 11 config = tab
12 end
most likely empty) with the created new one, by the fol-
13 begin
lowing command: 14 button = KEY_LEFT
1 s u d o cp l i r c d . c o n f / e t c / l i r c / l i r c d . c o n f 15 prog = irexec
16 repeat = 0
17 config = left
18 end
19 begin
6. Restart LIRC by the following command: 20 button = KEY_RIGHT
1 sudo / e t c / i n i t . d / l i r c restart 21 prog = irexec
22 repeat = 0
23 config = right
24 end
25 begin
irw can be used to test the new configuration file. irw
26 button = KEY_DOWN
sends data from Unix domain socket to stdout. 27 prog = irexec
28 repeat = 0
7. In this stage must create a virtual keystroke from the 29 config = down
remote control. It was used the Python (pylirc) code 30 end
to do this. pylirc is LIRC Python wrapper and it is re- 31
32 begin
quired to access LIRC from Python programs. To install
33 button = KEY_UP
pylirc should be typed following command from the 34 prog = irexec
terminal: 35 repeat = 0
36 config = up
1 s u d o a p t −g e t i n s t a l l p y t h o n −p y l i r c 37 end
38 begin
39 button = KEY_ALTRELEASE
40 prog = irexec
Create a lircrc.conf file. The lircrc file is used to map 41 repeat = 0
the key symbols defined in lircd.conf to application- 42 config = altrelease
specific strings. Thus, this file cannot be configured un- 43 end
44 begin
til lircd has been configured to provide proper key sym-
45 button = KEY_ALTPRESS
bols as displayed by irw. A lircd was already config- 46 prog = irexec
ureted in the previous step. 47 repeat = 0
3
TECHNICAL REPORT OF RASPBERRY PI PROTOTYPE FOR LECTURES IN PUBLIC UNIVERSITIES AUTHOR
1 pip i n s t a l l PyUserInput
1 # ! / u s r / b i n / env p y t h o n 1 s u d o chmod +x r e m o t e . py
2
3 import pylirc , time
4 from p y k e y b o a r d i m p o r t PyKeyboard
5 from pymouse i m p o r t PyMouse
6 import os 10. Open the autostart file by the command:
7
8 k = PyKeyboard ( ) 1 s u d o nano / . c o n f i g / l x s e s s i o n / LXDE−p i / a u t o s t a r t
9 m = PyMouse ( )
10
11 blocking = 0;
12
13 x = 0
Add the following two lines at the end of the file:
14 y = 0 1 @pcmanfm / home / p i / media −−w a l l p a p e r −mode= t i l e
15
2 @python / home / p i / r e m o t e . py
16 def setup ( ) :
17 pylirc . init ( " irexec " )
18
19 def key_press ( config ) :
20 i f c o n f i g == ’ e s c ’ : So far, the flash drive with the PDF presentation is going
21 k . tap_key ( k . escape_key ) to load when the Raspbian startup. To do so, it is auto-
22 p r i n t ’ESC key ’
23 i f c o n f i g == ’ t a b ’ : matic open up the /home/pi/media directory to choice
24 k . tap_key ( k . tab_key ) the flash drive. The presentation is open with Okular
25 p r i n t ’TAB key ’ PDF reader and it is pre-installed in Raspberry Pi. At
26 i f c o n f i g == ’ p r e s e n t a t i o n ’ : the same time, it is also started remote.py file.
27 k . press_key ( k . control_key )
28 k . press_key ( k . shift_key )
29 k . tap_key ( ’p ’ ) To add the battery inside of a case of the Raspberry Pi, the
30 k . release_key (k . shift_key ) default micro USB (Universal Serial Bus) port is not a good
31 k . release_key (k . control_key ) option. A good option is providing power using GPIO. For
32 p r i n t ’ P r e s e n t a t i o n mode i n O k u l a r ’
33 i f c o n f i g == ’ power ’ : this, it was used the GPIO of Raspberry Pi of VCC (pin 4)
34 o s . s y s t e m ( ’ s u d o s h u t d o w n now ’ ) and GND (pin 6). The power specification of all Raspberry
35 p r i n t ’ Power Down ’ Pi models are shown in Table 14 .
36 i f c o n f i g == ’ c l o s e ’ :
37 k . press_key ( k . control_key ) 4 https://www.raspberrypi.org/documentation/faqs/.
4
AJC
Academic Journal on Computing, Engineering and Applied Mathematics ACADEMIC JOURNAL ON COMPUTING, ENGINEERING AND APPLIED MATHEMATICS, VOL. XX, NO. XX, Month 20XX
EAM
TABLE 1: P OWER SPECIFICATION OF ALL R ASPBERRY P I MODELS .
In tests were connected to two batteries of 3.7 V in series, [5] V. Vujović and M. Maksimović, “Raspberry pi as a sensor web
adding voltage to 7.4 V and keep the current. How the bat- node for home automation,” Computers & Electrical Engineering,
vol. 44, pp. 153 – 171, 2015. [Online]. Available: http:
teries have 2,200 mAh, the prototype was able to supply the //www.sciencedirect.com/science/article/pii/S0045790615000257
system for 2.5 hours. It is a low time supply for four hour-
[6] N. Miglani and P. Burch, “Educational technology in india:
lecture (50 minutes). But, adding two more batteries of the The field and teacher’s sensemaking,” Contemporary Education
same features is enough for almost 5 hours of running. Dialogue, vol. 16, no. 1, pp. 26–53, 2019. [Online]. Available:
https://doi.org/10.1177/0973184918803184
III. C ONCLUSION [7] G. Friedland, W. Hürst, and L. Knipping, “The future of multimedia
education and educational multimedia,” in Proceedings of the
This paper is a technical report about the construction of a International Workshop on Educational Multimedia and Multimedia
Education, ser. Emme ’07. New York, NY, USA: Association
low-cost prototype to use in lectures by universities based on for Computing Machinery, 2007, p. 125–126. [Online]. Available:
Raspberry Pi. Due to the simplicity, the prototype runs well https://doi.org/10.1145/1290144.1290167
and it is easy to implement. [8] S. Xu, T. Hu, and Q. Zhou, “A case study in jiuwuji minority middle
The Raspberry Pi was chosen because of its capability of school on rural teachers’ educational technology training in terms of a
switch of educational product,” in 2011 IEEE 3rd International Con-
processing, besides the low cost. The prototype can be in- ference on Communication Software and Networks, May 2011, pp.
stalled in classrooms and uses to control the environment, 318–320.
like temperature monitoring and access control of the class-
[9] M. Qian, B. Zhao, and Y. Gao, “Exploring the training path of design
rooms. It can be used as a web server, or such as a node in a thinking of students in educational technology,” in 2019 IEEE Inter-
local network. national Conference on Computer Science and Educational Informa-
tization (CSEI), Aug 2019, pp. 315–319.
In the end, the total costs were R$ 603.00 on average,
against R$ 4,369.00 of an ordinary computer in public uni- [10] J. Hongyan and R. Jianfeng, “A brief analysis on the seminar of pro-
fessional construction for modern preschool educational technology,”
versities, also on average. This represents 86.19% of cost in 2012 2nd International Conference on Consumer Electronics, Com-
reduction just for regular lectures, besides other possibilities munications and Networks (CECNet), April 2012, pp. 2262–2264.
of implementation using the same equipment.
[11] A. I. Taganov, A. N. Kolesenkov, D. A. Perepelkin, and D. S. Zhu-
ravlev, “Management of educational risk on the basis of data min-
R EFERENCES ing in gis,” in 2017 International Conference "Quality Manage-
ment,Transport and Information Security, Information Technologies"
[1] A. Alvarellos, A. Vázquez, and J. Rabuñal, “Raspberry (IT QM IS), Sep. 2017, pp. 577–580.
pimu: Raspberry pi based inertial sensor data processing sys-
tem,” Proceedings, vol. 2, no. 18, 2018. [Online]. Available: [12] C. Wei and L. Yuan, “Reflection on college informationized teach-
https://www.mdpi.com/2504-3900/2/18/1159 ing model under the background of educational informationization,”
in 2019 IEEE International Conference on Computer Science and Ed-
[2] J. D. O’Leary, O. F. O’Leary, J. F. Cryan, and Y. M. Nolan, ucational Informatization (CSEI), Aug 2019, pp. 81–83.
“A low-cost touchscreen operant chamber using a raspberry piTM ,”
Behavior Research Methods, vol. 50, no. 6, pp. 2523–2530, Dec 2018. [13] G. R. Iksanova, “Improvement of university education and educational
[Online]. Available: https://doi.org/10.3758/s13428-018-1030-y service consumer interconnection in russia,” in 2013 International
Conference on Interactive Collaborative Learning (ICL), Sep. 2013,
pp. 666–668.
[3] M. M. Islam, N. Funabiki, M. Kuribayashi, S. K. Debnath, K. I.
Munene, K. S. Lwin, R. W. Sudibyo, and M. S. A. Mamun, “Dynamic [14] S. Tatiana Alexandrovna, “The role of distance educational technolo-
access-point configuration approach for elastic wireless local-area net- gies in the development of educational programmes in a network form:
work system and its implementation using raspberry pi,” International Experience and relevant problems,” in 2018 IV International Con-
Journal of Networking and Computing, vol. 8, no. 2, pp. 254–281, ference on Information Technologies in Engineering Education (In-
2018. forino), Oct 2018, pp. 1–4.
[4] R. I. Pereira, I. M. Dupont, P. C. Carvalho, and S. C. Jucá, [15] H. M. Fardoun, A. S. Mashat, and L. Gonzalez, “New subject to im-
“Iot embedded linux system based on raspberry pi applied to prove the educational system: Through a communication channel be-
real-time cloud monitoring of a decentralized photovoltaic plant,” twen educational institution-company,” in 2013 Federated Conference
Measurement, vol. 114, pp. 286 – 297, 2018. [Online]. Available: http: on Computer Science and Information Systems, Sep. 2013, pp. 709–
//www.sciencedirect.com/science/article/pii/S026322411730605X 712.
5
TECHNICAL REPORT OF RASPBERRY PI PROTOTYPE FOR LECTURES IN PUBLIC UNIVERSITIES AUTHOR