Chameleon Display on Tizen Embedded Software Lab., SKKU Min Ji Kim, Daejun Park, Sihoon Choi https://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 ODUINO ONE Microcontroller board based on the ATmega328 ODUINO ONE Arduino UNO + LCD/keypad shield + DHT11 + USB Cable DHT11: Humidity and Temperature sensor module DHT11 Arduino UNO ODUINO One Arduino UNO R3 LCD + keypad shield Humidity and Temperature sensor module DHT 11 USB Cable
Temperature, Humidity Architecture USB Connection /dev/ttyACM# (Kernel configuration setting) Data Parsing Temperature, Humidity File Read sysfs Periodic Update /sys/class/Vsensor/oduino/oduino_sensor fprintf(fd, temperature, humidity); Tizen UI Framework
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 Framework EVAS
chameleonD main.cpp Using ecore main loop Adding timer to update sensor value ODUINO One default update period = 1 sec Update new sensor value by 1.5 secs
chameleonD (cont’d) Update new sensor value with sysfs file Reading sensor from ODUINO One
chameleonD (cont’d) oduinoSerialReader.cpp Device open & Initialize connection setting Parsing & Reading sensor value
virtualSensor oduino_sensor.c Create sysfs module /sys/class/Vsensor/oduino/oduino_sensor
Evas rendering part UI framework(evas layer) Adding new API to draw /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 Touch disabling Color setting 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℃)