lunedì 23 gennaio 2012

Un po' di tempo fa

ebbene si', anche io sto leggendo la biografia di Steve Jobs e sono arrivato al punto in cui vende Next ad Apple..mi sono incuriosito di vedere un sistema operativo su cui di fatto non ho mai messo le mani (non per eta' anagrafica ma per eccessiva rarita' delle macchine Next)

Avvio del SO




Desktop



Applicazioni Demo

Editor di testo


L'immancabile (negli anni 90) Mandelbrot

domenica 22 gennaio 2012

Dati su seriale tra Arduino e PC con Python

Questo esempio e' in preparazione di uno scambio di dati tra telefono Android ed Arduino.
Partendo dal caso piu' semplice (ovvero PC + Arduino) si puo' caricare sulla Arduino il seguente sketch
che in sostanza accende il led sul pin 13 quanto trasmette la stringa "hello"
--------------------------------------------------------------------

void setup() {                
  Serial.begin(9600);
  pinMode(13, OUTPUT);     
}


void loop() {
  digitalWrite(13, HIGH);   
  delay(1000);              
  int bytesSent = Serial.write("hello\n");
  digitalWrite(13, LOW);    
  delay(1000);              


}

--------------------------------------------------------------------

il programma di lettura su PC (in Python) e' semplicemente, usando la libreria Pyserial
--------------------------------------------------------------------
import serial
arduino = serial.Serial('/dev/ttyUSB2', 9600)
i = 1
while (1):
print str(i) + ": " + arduino.readline()
i= i + 1
--------------------------------------------------------------------
il prossimo tentativo e' quello di far arrivare i dati direttamente ad Android mediante la modifica USB Host del Kernel ed un cavo USB OTG (On The Go)

Attenzione: il comando readline di Python richiede la lettura di una stringa terminata con un ritorno di new line, se la scheda trasmette sulla seriale ma non manda mai il newline il PC non intercetta mai la trasmissione

sabato 21 gennaio 2012

DRONIX su Huawei 8150 Ideos

Circa 15 giorni fa avevo installato la Dronix 0.4 con una procedura non lineare e non ero riuscito con lo stesso metodo ad inserire la 0.5.4 sul mio Ideos

Oggi ho trovato un metodo decisamente piu' lineare che merita di essere descritto

Prima di tutto ho installato l'app Rom Manager dall'Android Market ed ho scaricato il file zip del nuovo firmware sulla schedina microSD. Nella app ho selezionato di installare la Clockworkmod recovery e successivamente ho selezionato l'installazione da file zip indicando quella precedentemente salvata sulla SD (il programma permette di mettere la Cyanogenmod che presente il vantaggio di avere Android 2.3 ma lo svantaggio di non essere dichiarata stabile...peraltro io ho bisogno di testare l' USB Host Mode che e' sicuramente incluso nella Dronix e non e' certo sulla Cyanogenmod)

Qualche minuto di attesa e tutto e' andato a posto...direi anche troppo facile

venerdì 20 gennaio 2012

Log su Py4a

per loggare l'attivita' sullo script per il debug mandando delle stringhe su logcat si puo' usare il seguente comando
-------------------------------------------------------------
droid.log("test")
-------------------------------------------------------------

Eventi basati su chiamate in ingresso

per intercettare gli eventi di chiamate in ingresso al telefono si puo' usare la chiamata
----------------------------------------------------------------

import android
import time
droid = android.Android()
droid.startTrackingPhoneState()
while True:
time.sleep(5)
print droid.readPhoneState().result
droid.stopTrackingPhoneState()

----------------------------------------------------------------


readPhoneState.result riporta nella lista vari parametri; il quarto puo' essere "idle" quando il telefono e' in atteso oppure "ringing" quando il telefono squilla

Gestione SMS su Py4A

per gestire gli SMS su un telefono Android mediante Py4A si puo' impiegare lo script seguente (visto qui)

------------------------------------------------

import android 
droid = android.Android() 


#conta gli SMS
print "Numero messaggi: " + str(droid.smsGetMessageCount(False,'inbox').result)


# estrae tutti i messaggi
messages = droid.smsGetMessages(False, "inbox", ["address", "body"])
for i in messages.result:
    print i["address"].encode("utf-8")
    print i["body"].encode("utf-8")


# estrae un messaggio dato il numero di ID
message = droid.smsGetMessageById(1, ["address", "body"]).result
print message["address"].encode("utf-8")
print message["body"].encode("utf-8")


------------------------------------------------

martedì 17 gennaio 2012

Creare file .apk da Eclipse-ADT

il procedimento per creare i file di installazione e distribuzione .apk da Eclipse e' piuttosto banale
Una volta selezionato il progetto File/Export/Export Android Application

Selezionare il nome del progetto da esportare a cui segue la schermata  del keystore (il file deve avere l'estensione keystore)

Una nuova schermata con parametri da inserire (25 anni e' il valore minimo suggerito da Android)


ed infine si sceglie dove scrivere il file .apk. Tale file puo' essere distribuito, copiato sul telefono ed installato

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...