Chameleon Display on Tizen
Embedded Software Lab., SKKUMin Ji Kim, Daejun Park, Sihoon
Choihttps://github.com/TizenChameleon
Goal
• Chameleon display using external sensor on ODUINO one – Temperature, Humidity from DHT11– Applying display color change with real-
time sensor value
ODUINO One?
• Arduino UNO– Microcontroller board based on the ATmega328
• ODUINO ONE– Arduino UNO + LCD/keypad shield + DHT11 + USB
Cable– DHT11: Humidity and Temperature sensor module
Arduino Arduino UNOUNO
ODUINO OneODUINO OneDHT11
Architecture
USB Connection
Data Parsing Temperature, Humidity
Periodic Updatesysfs
Tizen UI Framework/sys/class/Vsensor/oduino/oduino_sensorfprintf(fd, temperature, humidity);
File Read
Implementation
• USB connection between Odroid & Arduino(with sensor)
• Parsing to meaningful data– Temperature, Humidity
• Data transferring with sysfs• Input data to UI framework• Rendering with input data
chameleonD
virtualSensor
UI FrameworkEVAS
chameleonD
• main.cpp– Using ecore main loop – Adding timer to update sensor value
ODUINO One default update period = 1 secUpdate new sensor value by 1.5 secs
chameleonD (cont’d)
• oduinoSerialReader.cpp
Device open &Initialize connection setting
Parsing & Reading sensor value
Evas rendering part
• UI framework(evas layer)– /src/lib/canvas/evas_render.c
• Adding new API to draw– evas_temp_humid_apply(Evas* e)
Reading sysfs file to get temperature & humidity
Evas rendering part (Cont’d)• Adding new API to draw– evas_temp_humid_apply(Evas* e)
Calculate color vector with temperature & humidity
Adding new object to top layer
Color setting
Touch disabling
Drawing
Expectation
• Provide weather information with UI• Intuitively providing diverse
information with UI to user
Results(Demo)
• Chameleon Display– http://youtu.be/Flk99dcak5U
– ~0:30 : Booting– 0:30~0:35 : initial temperature & humidity
showing(HUMI: 34%, TEM: 26℃)– 0:35~0:50 : Heating (HUMI: 49%, TEM: 31℃)– 0:50~1:10 : More heating (HUMI: 71%, TEM:
33℃)– 1:15~1:38 : Cooling (HUMI: 45%, TEM: 27℃)