o-p&n, 'mo-( “)ko

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

Upload: admon

Post on 31-Jan-2016

34 views

Category:

Documents


0 download

DESCRIPTION

'O-p&n, 'mO-( “)kO. Χατζήμιχαηλ Φίλιππος Ευθυμίου Μαρία Μιχαήλ Γιώργος. Ιστορική Αναδρομή - Πληροφορίες. Κατασκευαστής: OpenMoko Inc Πρώτη Επίσημη Εμφάνιση: 9 Ιουλίου 2007 Μοντέλo: OpenMoko 1973 (2007) Τρέχων Μοντέλο (δεύτερο): OpenMoko FreeRunner (2008) ‏ Στόχοι Εταιρίας: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: O-p&n, 'mO-( “)kO

'O-p&n, 'mO-( “)kO'O-p&n, 'mO-( “)kO

Χατζήμιχαηλ ΦίλιπποςΧατζήμιχαηλ ΦίλιπποςΕυθυμίου ΜαρίαΕυθυμίου ΜαρίαΜιχαήλ ΓιώργοςΜιχαήλ Γιώργος

Page 2: O-p&n, 'mO-( “)kO

Κατασκευαστής:OpenMoko Inc

Πρώτη Επίσημη Εμφάνιση:9 Ιουλίου 2007

Μοντέλo:OpenMoko 1973 (2007)

Τρέχων Μοντέλο (δεύτερο):OpenMoko FreeRunner (2008)

Στόχοι Εταιρίας:Παραγωγή του πρώτουOpen Source / Linux BasedSmartPhone(Hardware AND Software)Επιτρέπει στον χρήστη να έχειαπόλυτο έλεγχο πάνωστο λειτουργικό και τις εφαρμογές

Σημαντικές προδιαγραφές συσκευής:

High resolution touch screen2.84” - 480x640 pixels

128MB SDRAM memory256 MB integrated flash memory

(expandable with microSD)microSD up to 8GB

Internal GPS moduleBluetooth

802.11 b/g WiFi400Mhz ARM processor2 3D accelerometersTri-band GSM and GPRS

USB Host function 500mA power$299

Σημαντικές προδιαγραφές λογισμικού:GNU/Linux O.S – Dev. Tools

100% FOSS(Free and Open Source Software)

Ιστορική Αναδρομή - Πληροφορίες

Page 3: O-p&n, 'mO-( “)kO

Αρκετά φθηνό (Δωρεάν)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 managervnc..............

Κύρια Πλεονεκτήματα - Μειονεκτήματα

Page 4: O-p&n, 'mO-( “)kO

Δεν είναι σταθερό

Πολύ αργό boot sequence

Δεν είναι τόσο καλά σχεδιασμένο για κινητό τηλέφωνο

Αρκετά από τα πακέτα της κοινότηταςOpenmoko δεν αναβαθμίζονται

Παίρνει αρκετό χρόνο (3min+) και ακόμα περισσότερο όταν υπάρχει η SD κάρτα για

να πάρει τις πρώτες πληροφορίες GPS

Κάποιες εφαρμογές είναι εγκατεστημένεςσαν “light version” έτσι

μειονεκτούνσε δυνατότητες σε σύγκριση με τις

αυθεντικές εκδόσεις

- Το Suspend και το resume διακόπτουν τον partition table της SD κάρτας

- Πολλές SIM κάρτες δεν δουλεύουν

- Κακή απόδοση και αργή ταχύτητα bus του Glamo GPU του

- Κακές χαμηλές συχνότητες ανταπόκρισης ήχου με χαμηλής αντίστασης ακουστικά

- Η μπαταρία του δεν είναι ικανοποιητική

- Δεν μπορεί να ξεκινήσει με μη φορτισμένη ή χωρίς μπαταρία

- Όταν ολοκληρωθεί η φόρτιση της μπαταρίας αποφορτίζεται ακόμα και όταν είναι κλειστό

Κύρια Πλεονεκτήματα - Μειονεκτήματα

Page 5: O-p&n, 'mO-( “)kO

Εγκατάσταση - Τι χρειάζεται να ανακτήσω για να μπορέσω να κάνω ανάπτυξη εφαρμογών στο 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

Page 6: O-p&n, 'mO-( “)kO

Εναλλακτικά Παραδείγματα Hello Murloc – Python , Python + ETK(Enlightenment Foundation Libraries)

Editor Used: vi <filename> Execution: python <filename>

Page 7: O-p&n, 'mO-( “)kO

Δημιουργούμε το αρχείο/etc/wpa_supplicant/wpa_supplicant.conf

με δεδομένα:

ctrl_interface=/var/run/wpa_supplicantctrl_interface_group=0

eapol_version=1ap_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 dhcpwpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

up route del default gw 192.168.0.200iface eth1 inet dhcp

...

σημείωση: Η γραμμή 'wpa-conf /etc/wpa...'πρέπει να ξεκίνα με Tab

Δυνατότητες – WiFi – Μη επίσημος οδηγός εγκατάστασης

Page 8: O-p&n, 'mO-( “)kO

Με την εντολή:

$ iwlist eth0 scaneth0 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 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.11adding dns 194.42.16.20adding dns 194.42.16.58

Πρέπει πάρετε παρόμοια αποτελέσματαγια να λειτουργεί σωστά

Δυνατότητες – WiFi - Μη επίσημος οδηγός εγκατάστασης (συνέχεια)

Page 9: O-p&n, 'mO-( “)kO

Δυνατότητες – Εύκολη Διαχείρηση/Εύρεση Εφαρμογών

Execution: opkg OPT<filename>OPT: install remove update

Execution: opkg install <filename>

Page 10: O-p&n, 'mO-( “)kO

Δυνατότητες – Συνδεσιμότητα Openmoko (VNC Server και ssh)

VNC ServerInstallation:

opkg install x11vnc

Execution:X11vnc

VNC ClientConnection:

vncviewer IP:0

SSH ServerInstallation:

Pre-Installed

Execution:No need

(on start daemon)

SSH ClientConnection:

ssh user@IP

Page 11: O-p&n, 'mO-( “)kO

Δυνατότητες – Bluetooth (Remoko & Remoko Server)

Installation & Info: ===> http://www.opkg.org/package_14.htmlhttp://www.opkg.org/package_15.html

Page 12: O-p&n, 'mO-( “)kO

Όλα τα *.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) για οποιαδήποτε εφαρμογή

Page 13: O-p&n, 'mO-( “)kO

Δυνατότητες – Accelerometers

Όνομα Πακέτου:gwaterpas

Τόπος:Applications

Δεν χρειάζεται επιπρόσθετες ρυθμίσεις

Page 14: O-p&n, 'mO-( “)kO

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

Page 15: O-p&n, 'mO-( “)kO

Δυνατότητες – Εφαρμογές με χρήση της βιβλιοθήκης QT (Trolltech Inc)

Execution: Click b/g>Applications Execution: Click b/g>Applications

Page 16: O-p&n, 'mO-( “)kO

Δυνατότητες – Εύκολη Αλλαγή των Ρυθμίσεων του Openmoko

Execution: Click b/g>Configuration > Conf. Panel

Execution: Click Screen > Resolution

Page 17: O-p&n, 'mO-( “)kO

Τα πιο κάτω έχουν εγκατασταθείαλλά δεν τα αξιοποιήσαμε:

description (execution command)

php (php)perl (perl)

mysql server/client/modules (mysql*)gcc (arm-angstrom-linux-gnueabi-gcc)

Java (jalimo)

Υπάρχουν αλλά δεν εγκαταστάθηκαν:

sqliteapache2

Δυνατότητες – FOSS Servers/Interpreters/Compilers

Page 18: O-p&n, 'mO-( “)kO

Στον φάκελλο/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Συντόμευση στην επιφάνεια εργασίας

Page 19: O-p&n, 'mO-( “)kO

#!/usr/bin/python

import etkimport 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+"\"")

Παράδειγμα – Πρόγραμμα Καταγραφής GPS trajectoryΔημιουργία παράθυρου με Python + ETK

Page 20: O-p&n, 'mO-( “)kO

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

Page 21: O-p&n, 'mO-( “)kO

start.bash

#!/bin/bashecho -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 1echo 1 > /sys/class/i2c-adapter/i2c-0/

..0-0073/neo1973-pm-gps.0/pwronstty -F /dev/ttySAC1 -echo

echo -e "\t[DONE]"sleep 1

echo -e "WiFi Start\c"iwconfig eth0 essid zephyros

ifup eth0echo -e "\t[DONE]"

sleep 1

stop.bash

#!/bin/bashecho -e "WiFi Down\c"

ifdown eth0echo -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 1echo -e "\t[DONE]"

sleep 1

Παράδειγμα – Πρόγραμμα Καταγραφής GPS trajectoryBash Scripts – Για εκκίνηση GPS daemon και σύνδεση WiFi (και τερματισμό τους)

Page 22: O-p&n, 'mO-( “)kO

<html><body>

<?phpif (isset($_GET["longitude"])..&& isset($_GET["latitude"])){ echo "Current Time " ...$_SERVER['REQUEST_TIME'] ..."Coordinates: Longitude " . ..$_GET["longitude"] . "Latitude " ...$_GET["latitude"] . "!<br/>"; $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!<br />"; echo "Following the GPS..Trajectory Log:<br /><br />"; $file=fopen("cookies.txt","r") or..$file=fopen("cookies.txt","x"); while(!feof($file)) { echo fgets($file). "<br />"; } fclose($file); echo "Bye Bye Bob<br />";}

?></html>

Παράδειγμα – Πρόγραμμα Καταγραφής GPS trajectoryPHP Website – Για σκοπούς δοκιμής της εφαρμογής

Page 23: O-p&n, 'mO-( “)kO

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

Page 24: O-p&n, 'mO-( “)kO

Συμπεράσματα

- Η ίδια η εταιρεία αποτρέπει την αγορά τουγια χρήση ως κινητό τηλέφωνο

- Μπορεί να προσφέρει τρομερές δυνατότητες στους developers

- Ευέλικτο και ευπροσάρμοστο σύστημα

- Ο χρήστης μπορεί να έχει απόλυτο έλεγχοπάνω στο λειτουργικό και τις εφαρμογέςτου συστήματος

Page 25: O-p&n, 'mO-( “)kO

Ευχαριστούμε!!!

Ερωτήσεις???

Όπως...

Ποιο είναι το μέλλον της εταιρείας?

Page 26: O-p&n, 'mO-( “)kO

Βιβλιογραφία

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/

Page 27: O-p&n, 'mO-( “)kO

Σύγκριση ...

Page 28: O-p&n, 'mO-( “)kO

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

Page 29: O-p&n, 'mO-( “)kO

Bye Bye!!