Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

'O-p&n, 'mO-( “)kO Χατζήμιχαηλ Φίλιππος Ευθυμίου Μαρία Μιχαήλ Γιώργος.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "'O-p&n, 'mO-( “)kO Χατζήμιχαηλ Φίλιππος Ευθυμίου Μαρία Μιχαήλ Γιώργος."— Μεταγράφημα παρουσίασης:

1 'O-p&n, 'mO-( “)kO Χατζήμιχαηλ Φίλιππος Ευθυμίου Μαρία Μιχαήλ Γιώργος

2 Κατασκευαστής: OpenMoko Inc Πρώτη Επίσημη Εμφάνιση: 9 Ιουλίου 2007 Μοντέλo: OpenMoko 1973 (2007) Τρέχων Μοντέλο (δεύτερο): OpenMoko FreeRunner (2008)‏ Στόχοι Εταιρίας: Παραγωγή του πρώτου Open Source / Linux Based SmartPhone (Hardware AND Software)‏ Επιτρέπει στον χρήστη να έχει απόλυτο έλεγχο πάνω στο λειτουργικό και τις εφαρμογές Σημαντικές προδιαγραφές συσκευής : High resolution touch screen 2.84” - 480x640 pixels 128MB SDRAM memory 256 MB integrated flash memory (expandable with microSD)‏ microSD up to 8GB Internal GPS module Bluetooth 802.11 b/g WiFi 400Mhz ARM processor 2 3D accelerometers Tri-band GSM and GPRS USB Host function 500mA power $299 Σημαντικές προδιαγραφές λογισμικού: GNU/Linux O.S – Dev. Tools 100% FOSS (Free and Open Source Software)‏ Ιστορική Αναδρομή - Πληροφορίες

3 Αρκετά φθηνό ( Δωρεάν )‏ Open source ( software & hardware )‏ Κτισμένο από Free and Open Source Software Cross-platform SDK Εύκολη ανάπτυξη εφαρμογών: Xρήση δημοφιλών τεχνολογιών =>ευκολότερο, γρηγορότερο και πιο οικείο Χαμηλές απαιτήσεις σε υλικό || Ευέλικτο Υποστήριξη από μεγάλη κοινότητα (OpenMoko Wiki, forum, docs, bugzilla)‏ Πολύ πλούσιο APΙ Πλήρης έλεγχος με πολλές δυνατότητες Υποστηρίζει: Python MySQL Perl Php sh/bash c/c++ QT Java erlang πληθώρα από εφαρμογές και δυνατότητες του Debian Linux όπως package manager vnc.............. Κύρια Πλεονεκτήματα - Μειονεκτήματα

4 Δεν είναι σταθερό Πολύ αργό boot sequence Δεν είναι τόσο καλά σχεδιασμένο για κινητό τηλέφωνο Αρκετά από τα πακέτα της κοινότητας Openmoko δεν αναβαθμίζονται Παίρνει αρκετό χρόνο (3min+) και ακόμα περισσότερο όταν υπάρχει η SD κάρτα για να πάρει τις πρώτες πληροφορίες GPS Κάποιες εφαρμογές είναι εγκατεστημένες σαν “light version” έτσι μειονεκτούν σε δυνατότητες σε σύγκριση με τις αυθεντικές εκδόσεις - Το Suspend και το resume διακόπτουν τον partition table της SD κάρτας - Πολλές SIM κάρτες δεν δουλεύουν - Κακή απόδοση και αργή ταχύτητα bus του Glamo GPU του - Κακές χαμηλές συχνότητες ανταπόκρισης ήχου με χαμηλής αντίστασης ακουστικά - Η μπαταρία του δεν είναι ικανοποιητική - Δεν μπορεί να ξεκινήσει με μη φορτισμένη ή χωρίς μπαταρία - Όταν ολοκληρωθεί η φόρτιση της μπαταρίας αποφορτίζεται ακόμα και όταν είναι κλειστό Κύρια Πλεονεκτήματα - Μειονεκτήματα

5 Εγκατάσταση - Τι χρειάζεται να ανακτήσω για να μπορέσω να κάνω ανάπτυξη εφαρμογών στο OpenMoko FreeRunner Για την σύνδεση: Λειτουργικό: Linux Επιπρόσθετο Λογισμικό: Δεν χρειάζεται Λειτουργικό: Windows Επιπρόσθετο Λογισμικό: - NeoRndis.inf – Device Drivers Descriptor Για να δώσεις την ικανότητα στο λειτουργικό να αξιοποιήσει το USB σαν μέσο δικτύου - Putty - Για application layer διασύνδεση Επιπρόσθετο Υλικό: Σύρμα USB (Type A Male to Type Mini-B Male)‏ Εκτενής Οδηγίες Σύνδεσης : http://wiki.openmoko.org/wiki/USB_Networking

6 Εναλλακτικά Παραδείγματα Hello Murloc – Python, Python + ETK (Enlightenment Foundation Libraries)‏ Editor Used: vi Execution: python

7 Δημιουργούμε το αρχείο /etc/wpa_supplicant/wpa_supplicant.conf με δεδομένα: ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=1 fast_reauth=1 # Open: network={ ssid="murloc" key_mgmt=NONE priority=5 } Στο αρχείο /etc/network/interfaces κάτω από την γραμμή # Wired or wireless interfaces το μορφοποιούμε ως εξής:... # Wired or wireless interfaces iface eth0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf up route del default gw 192.168.0.200 iface eth1 inet dhcp... σημείωση: Η γραμμή 'wpa-conf /etc/wpa...' πρέπει να ξεκίνα με Tab Δυνατότητες – WiFi – Μη επίσημος οδηγός εγκατάστασης

8 Με την εντολή: $ iwlist eth0 scan eth0 Scan completed : Cell 01 - Address: 00:0B:FD:4A:71:89 ESSID:"zephyros" Mode:Master Frequency:2.472 GHz … Quality=34/94 Signal level=-61 dBm Noise level=-95 dBm Encryption key:off Extra:bcn_int=100... Μπορούμε να δούμε τα ονόματα και πληροφορίες των διαθέσιμων access points. Κρατούμε ένα όνομα για το επόμενο βήμα. Εδώ κρατάμε το zephyros. Ακολούθως εκτελέστε τα πιο κάτω: $ iwconfig eth0 essid "zephyros" $ ifup eth0 sed: unrecognized option `--quiet' BusyBox v1.9.1 (2008-09-04 08:23:57 CST)‏ Usage: sed [-efinr] pattern [files...] WPA: Configuring Interface... udhcpc (v1.9.1) started Sending discover... Sending select for 10.16.5.107... Sending discover... Sending select for 10.16.5.107... Lease of 10.16.5.107 obtained,... adding dns 194.42.16.11 adding dns 194.42.16.20 adding dns 194.42.16.58 Πρέπει πάρετε παρόμοια αποτελέσματα για να λειτουργεί σωστά Δυνατότητες – WiFi - Μη επίσημος οδηγός εγκατάστασης (συνέχεια)‏

9 Δυνατότητες – Εύκολη Διαχείρηση/Εύρεση Εφαρμογών Execution: opkg OPT OPT: install remove update Execution: opkg install

10 Δυνατότητες – Συνδεσιμότητα Openmoko (VNC Server και ssh) VNC Server Installation: opkg install x11vnc Execution: X11vnc VNC Client Connection: vncviewer IP:0 SSH Server Installation: Pre-Installed Execution: No need (on start daemon)‏ SSH Client Connection: ssh user@IP

11 Δυνατότητες – Bluetooth (Remoko & Remoko Server)‏ Installation & Info: ===> http://www.opkg.org/package_14.html http://www.opkg.org/package_15.html

12 Όλα τα *.desktop files βρίσκονται στο φάκελο /usr/share/applications/ και τα icons (64x64 png files) βρίσκονται στο φάκελο /usr/share/pixmaps. Παράδειγμα του murloc.desktop: +------------------------------------------------------+ [Desktop Entry] Encoding=UTF-8 Name=murloc Comment=Bring murloc up TryExec=/home/root/george/hello/rwl01.py Exec=/usr/root/george/hello/rwl01.py Icon=murloc Terminal=false Type=Application Categories=Application;Utilities; SingleInstance=true StartupNotify=true +------------------------------------------------------+ Δυνατότητες – Εύκολη δημιουργία links (shortcuts) για οποιαδήποτε εφαρμογή

13 Δυνατότητες – Accelerometers Όνομα Πακέτου: gwaterpas Τόπος: Applications Δεν χρειάζεται επιπρόσθετες ρυθμίσεις

14 Δυνατότητες – Advanced Text Editor (Leafpad)‏

15 Δυνατότητες – Εφαρμογές με χρήση της βιβλιοθήκης QT (Trolltech Inc) Execution: Click b/g>Applications

16 Δυνατότητες – Εύκολη Αλλαγή των Ρυθμίσεων του Openmoko Execution: Click b/g>Configuration > Conf. Panel Execution: Click Screen > Resolution

17 Τα πιο κάτω έχουν εγκατασταθεί αλλά δεν τα αξιοποιήσαμε: description (execution command)‏ php (php)‏ perl (perl)‏ mysql server/client/modules (mysql*)‏ gcc (arm-angstrom-linux-gnueabi-gcc)‏ Java (jalimo)‏ Υπάρχουν αλλά δεν εγκαταστάθηκαν: sqlite apache2 Δυνατότητες – FOSS Servers/Interpreters/Compilers

18 Στον φάκελλο /usr/share/applications τοποθετήσαμε το αρχείο murloc.desktop με τα εξής περιεχόμενα: +-----------------------------------------+ [Desktop Entry] Encoding=UTF-8 Name=Murloc GPS TryExec=/home/root/george/prog/MurlocGPS.py Comment=Execute Murloc GPS Exec=/home/root/george/prog/MurlocGPS.py Icon=dialer/Dialer Terminal=false Type=Application Categories=Network;WebBrowser; +-----------------------------------------+ Παράδειγμα – Πρόγραμμα Καταγραφής GPS trajectory Συντόμευση στην επιφάνεια εργασίας

19 #!/usr/bin/python import etk import commands icon = etk.Image()‏ icon.set_from_file..('/home/root/george/prog/tux.png')‏ def exit(target): etk.main_quit()‏ def update(target): p = `commands.getoutput..('head -n 18 /dev/ttySAC1.. | grep -v ^$ | grep GPGLL | tee coord.txt')` p = p.replace('GPGLL,','')‏ pos1 = p.find(',N')‏ f = p[:pos1] pos2 = p.find(',E')‏ f2 = p[pos1+3:pos2] dynamicLabel.text=f+"N "+f2+"E" commands.getstatusoutput("wget.. \"http://xeirwn.bytefreaks.net/openmoko/..?longitude="+f+"&latitude="+f2+"\"")‏http://xeirwn.bytefreaks.net/openmoko/ Παράδειγμα – Πρόγραμμα Καταγραφής GPS trajectory Δημιουργία παράθυρου με Python + ETK

20 exitB = etk.Button(label="Bye Bye")‏ exitB.on_clicked(exit)‏ updateButton = etk.Button..(label="Update Position")‏ updateButton.on_clicked(update)‏ staticLabel = etk.Label..(text="Your Current GPS position is:",.. alignment=(0.5, 0.5))‏ dynamicLabel = etk.Label..(text="Press the Button Below!!",.. alignment=(0.5, 0.5))‏ box = etk.VBox()‏ box.append(exitB, etk.VBox.START,.. etk.VBox.FILL, 0)‏ box.append(icon, etk.VBox.START,.. etk.VBox.FILL, 0)‏ box.append(staticLabel, etk.VBox.START,.. etk.VBox.FILL, 0) box.append(dynamicLabel, etk.VBox.START,.. etk.VBox.FILL, 0)‏ box.append(updateButton, etk.VBox.START,.. etk.VBox.FILL, 0)‏ w = etk.Window(title="Murloc GPS",.. size_request=(300, 300), child=box)‏ w.on_destroyed(lambda x: etk.main_quit())‏ w.show_all()‏ etk.main()‏ Παράδειγμα – Πρόγραμμα Καταγραφής GPS trajectory (συνέχεια)‏ Δημιουργία παράθυρου με Python + ETK

21 start.bash #!/bin/bash echo -e "GPS Start" echo "GPS_DEV=..\"/dev/ttySAC1\"" > /etc/default/gpsd /etc/init.d/gpsd restart echo 0 > /sys/class/i2c-adapter/..i2c-0/0-0073/neo1973-pm-gps.0/pwron sleep 1 echo 1 > /sys/class/i2c-adapter/i2c-0/..0-0073/neo1973-pm-gps.0/pwron stty -F /dev/ttySAC1 -echo echo -e "\t[DONE]" sleep 1 echo -e "WiFi Start\c" iwconfig eth0 essid zephyros ifup eth0 echo -e "\t[DONE]" sleep 1 stop.bash #!/bin/bash echo -e "WiFi Down\c" ifdown eth0 echo -e "\t[DONE]" sleep 1 echo -e "GPS Down\c" /etc/init.d/gpsd stop echo 0 > /sys/class/i2c-adapter/..i2c-0/0-0073/neo1973-pm-gps.0/pwron sleep 1 echo -e "\t[DONE]" sleep 1 Παράδειγμα – Πρόγραμμα Καταγραφής GPS trajectory Bash Scripts – Για εκκίνηση GPS daemon και σύνδεση WiFi (και τερματισμό τους)‏

22 <?php if (isset($_GET["longitude"])..&& isset($_GET["latitude"]))‏ { echo "Current Time "...$_SERVER['REQUEST_TIME']..."Coordinates: Longitude "...$_GET["longitude"]. "Latitude "...$_GET["latitude"]. "! "; $file=fopen("cookies.txt","a") or..$file=fopen("cookies.txt","x"); fwrite($file,"Time "...$_SERVER['REQUEST_TIME']..." Longitude ". $_GET["longitude"]..."Latitude ". $_GET["latitude"]. "\n" ); fclose($file); }... else { echo "Welcome Murloc! "; echo "Following the GPS..Trajectory Log: "; $file=fopen("cookies.txt","r") or..$file=fopen("cookies.txt","x"); while(!feof($file))‏ { echo fgets($file). " "; } fclose($file); echo "Bye Bye Bob "; } ?> Παράδειγμα – Πρόγραμμα Καταγραφής GPS trajectory PHP Website – Για σκοπούς δοκιμής της εφαρμογής

23 Παράδειγμα – Πρόγραμμα Καταγραφής GPS trajectory Αποτέλεσμα Εκτέλεσης

24 Συμπεράσματα - Η ίδια η εταιρεία αποτρέπει την αγορά του για χρήση ως κινητό τηλέφωνο - Μπορεί να προσφέρει τρομερές δυνατότητες στους developers - Ευέλικτο και ευπροσάρμοστο σύστημα - Ο χρήστης μπορεί να έχει απόλυτο έλεγχο πάνω στο λειτουργικό και τις εφαρμογές του συστήματος

25 Ευχαριστούμε!!! Ερωτήσεις??? Όπως... Ποιο είναι το μέλλον της εταιρείας?

26 Βιβλιογραφία http://www.openmoko.com/ http://downloads.openmoko.org/ http://wiki.openmoko.org/wiki/ http://wiki.openmoko.org/wiki/Debian http://wiki.openmoko.org/wiki/EFL_Documentation http://wiki.openmoko.org/wiki/Neo_FreeRunner_GPS http://wiki.openmoko.org/wiki/WiFi_support_in_OpenMoko http://www.opkg.org/ http://www.opkg.org/packages/ http://en.wikipedia.org/wiki/Openmoko http://unixarea.de/openmoko.txt http://www.ukuug.org/events/openmoko/ http://seecsopenmobile.wordpress.com/ http://www.linuxdevices.com/files/article072/index.html http://www.linuxdevices.com/articles/AT9423084269.html http://www.linuxdevices.com/news/NS2986976174.html http://www.angstrom-distribution.org/repo/?pkgname=apache2 http://www.linuxtogo.org/gowiki/OpenMoko/QuestionsAndAnswers http://lews-info.blogspot.com/2008/07/open-source-openmoko-phone.html http://www.slideshare.net/improbulus/openmoko-free-your-mobile http://aprs.gids.nl/nmea/

27 Σύγκριση...

28 ... (συνέχεια)‏

29 Bye Bye!!


Κατέβασμα ppt "'O-p&n, 'mO-( “)kO Χατζήμιχαηλ Φίλιππος Ευθυμίου Μαρία Μιχαήλ Γιώργος."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google