4. But …
Hardware is too old
Kernel version 2.6.22.19
Lack of new IO modules
BT,NFC, SDXC…
Limited Storage Size
We don’t fully understand what Alpha Network
did…
Too many patches…
10. USB Storage
/dev/sda->/mnt/sda1: 32G usb memory stick
Where the photo stored in
Internal Storage
Don’t unplug it…
/dev/sdb->/tmp/sdb
Where the photos imported from
11. Detect USB Plug In : Udev Rule
/etc/udev/rules.d/20-usb.rules.d
KERNEL=="sdb",
SUBSYSTEM=="block",
ACTION=="add",
RUN="/etc/hotplug.d/block/import.sh“
Import.sh-> 30-import.sh->TJImportImage-
>TJExtractThumbNamil
12. Close RPI’s Udisk-Deamon
udisks is an abstraction for enumerating block
devices and performing operations on them,
such as creating file systems or mounting
/usr/share/dbus-1/system-services/org.freedesktop.UDisks.service:3:#Exec=/usr/lib/udisks/udisks-
daemon
/lib/systemd/system/udisks.service:7:#ExecStart=/usr/lib/udisks/udisks-daemon --no-debug
Conflicting to JewelryPi’s Udev Rule
15. Qt Framework 5.4
Native Compile
Easy
But Building Qt on rpi2 is insanely slow
○ >16hours
Cross Compile
Build on PC is fast
○ 1.5 hours
But setting up the build environment is nightmare
36. What is Qml ?
Qt Meta Language
JavaScript-based, declarative language for
designing user interface–centric app
Support by QtQuick (the standard library for
writing QML applications)
Mainly for mobile app and embedded
Qml element easily to be extended by
javascript and C++ class
Qml can use various qt modules
39. QML Advantages
Re-usability of existing source code
Strong Performance of Graphic Operations
Qml
Qt application :Tjshow
C++
QMetaObject::invokeMethod(): view.engine()->rootContext()-
>setContextProperty(windos.external);
40. This is Far From Over
Account
Import &
Compress photos
Download &
Upload From
OSDP
NotificationUI DisplaySWM
Browser->qml
Exfat
filesystem
Utilize
multicores to
compress
photo
41. Conclusion
Prototype of Jewelrypi
Hotplug udev-rule
Qtwebkit Performance Issue
Qml
Future Works
42. You Can Help!
GitHub:
git@gitlab.tw.trendnet.org:steven_song/j
ewelrypi.git