Visualizzazione post con etichetta GT-5570i. Mostra tutti i post
Visualizzazione post con etichetta GT-5570i. Mostra tutti i post

venerdì 6 dicembre 2013

Speech To Text in Android

La funzione SpeechToText e' compresa nelle API di Android e permette di parlare al microfono del telefono e ricevere in risposta la stringa di quanto e' stato detto. Possono essere quindi implementati dei comandi vocali associati all'evento ed alla stringa pronunciata



Per provare questo sistema e' stata creata, sulla base una semplice applicazione basata sull'esempio a questo link

L'implementazione e' molto semplice ma ci sono un paio di dettagli non trascurabili
1) Non tutti i telefoni sono abilitati al SpeechToText (per esempio il Samsung Next Turbo GT-5570i non ha questa funzione mentre il Nexus S si'...francamente non riesco a capire il motivo della differenza)

2) La funzione Speech To Text ricalca il modo di lavorare di Siri per Apple. L'elaborazione non avviene in locale ma il file audio viene mandato ai server di Google che lo elaborano e rimandano indietro la stringa del risultato


di seguito il codice

MainActivity.java
---------------------------------------------------------
package com.luca.innocenti.texttospeech;

import java.util.ArrayList;

import android.os.Bundle;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.speech.RecognizerIntent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends Activity {

protected static final int RESULT_SPEECH = 1;
private TextView testo;
private Button pulsante;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

testo = (TextView) findViewById(R.id.textView1);
pulsante = (Button) findViewById(R.id.button1);

pulsante.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

                intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,       RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
                intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "it-IT");

                try {
                    startActivityForResult(intent, RESULT_SPEECH);
                    testo.setText("-------");
                } catch (ActivityNotFoundException a) {
                    Toast t = Toast.makeText(getApplicationContext(),"Speech to Text non disponibile su questo telefono",
                            Toast.LENGTH_SHORT);
                    t.show();
                }
            }
        });
}


@Override
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {
       super.onActivityResult(requestCode, resultCode, data);
 
       switch (requestCode) {
       case RESULT_SPEECH: {
           if (resultCode == RESULT_OK && null != data) {
 
               ArrayList<String> text = data
                       .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
 
               testo.setText(text.get(0));
           }
           break;
       }
 
       }
   }

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}
---------------------------------------------------------
activity_main.xml
---------------------------------------------------------
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="28dp"
        android:text="Push to Talk" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/button1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="80dp"
        android:text="--------" />

</RelativeLayout>

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

mercoledì 27 novembre 2013

Android JellyBean su Samsung GT-5570i (Samsung Next Turbo)

Era da un po' di tempo che aspettavo la possibilita' di aggiornare Android nel mio Galaxy Next Turbo.
A differenza del suo fratello minore Galaxy Next, per lungo tempo non e' stato possibile fare una custom rom non derivante da quella stock a causa dei driver proprietari di alcuni componenti del telefono

Oggi ho trovato (forse con un po' di ritardo) la JellyPlus v.3 , una Rom che permette di installare Android 4.2.2 al posto dell'originale Gingerbread.
La procedure e' piuttosto semplice e lineare.
1) scaricare i file pop_plus_CWM, JellyPlus3_turbo e Gapps_for_Jellyplus_3
2) spengere il telefono ed avviarlo mediante la combinazione On, Vol + e Home
3) selezionare Apply Update/CWM
4) Wipe data/cache
5) Install zip from sd e selezionare JellyPlus3
6) Reboot

in seguito, dall'interno della CWM si puo' effettuare update per installare anche le applicazione Google


L'installazione e' molto lenta ...pazientare


Al termine si puo' vedere il nuovo Android
Le prime impressioni d'uso sono buone ed il sistema funziona meglio che con la stock.

giovedì 21 febbraio 2013

Privilegi di root su GT-S5570i

Le istruzioni per avere i permessi di root sul Samsung GT-S5570i sono stati ripresi da questo link

per prima cosa si salva questo file nella SD Card, dopo di cio' (a telefono spento) si premuno i tasti Accensione+Volume Su+Home fino a quando appare il menu

A questo punto si sceglie l'opzione Update from SD Card e si attende il reboot


Come si puo' vedere il programma Root Checker conferma il possesso dei privilegi di root

venerdì 15 febbraio 2013

Riportare il firmware originale un Samsung Galaxy Next Turbo (GT-5570i)

Un po' scocciato dalle varie Rom custom ho deciso di riportare il telefono in oggetto al firmware originale
(la Optimus e' carina ma con tre launcher installati e non rimuovibili lascia ben poco spazio per altre applicazioni)

La procedura per ritornare al firmware originale e' il seguente

1) Scaricare l'ultimo firmware disponibile per il telefono (nel caso S5570IXILG1_S5570IITVLG2_ITV)

2) Scaricare il programma Odinatrix e inserire il file del firmware scompattato nella directory di Odinatrix (S5570IXILG1_S5570iITVLG2_S5570IXXLF3_HOME.tar.md5)

3) lanciare Odinatrix ed attendere il termine delle operazioni. Il risultato saranno 3 file (CSCxxx, MODEMxxx e PDAxxx) dentro la sottodirectory output

4) recuperare il file tassve_0623.pit

5) Mettere il telefono in Download Mode (ovvero accenderlo tenendo premuto il tasto Home+Volume Giu' e Accensione). Si deve confermare di voler procedere premendo il tasto Volume Su al primo menu

5) Collegare il telefono e lanciare il programma Odin 1.83 con le impostazioni della schermata nell'immagine


Il risultato e' il seguente

lunedì 4 febbraio 2013

Debian in Android su Samsung GT-5570i

In questo post verra' descritto come ho installato Linux Complete Installer ed una Debian Testing sul mio telefono Samsung GT-5550i con Rom Optimus

Il programma che effettua questo trucco si chiama Complete Linux Installer ed ha bisogno dei privilegi di root per funzionare. La cosa simpatica e' che il programma sfrutta il chroot per creare un ambiente che funziona in parallelo ad Android senza ad andare ad intaccarne la funzionalita' (non e' un dualboot..diciamo che e' piu' simile ad una macchina virtuale)

Dopo di cio' si deve scaricare l'immagine (per Debian ne esistono di tre tipi core=solo interfaccia testuale, Small e Large con Xwindows e XFCE come DM)

le immagini, una volta scompattate si chiamano tutte debian.img quindi non possono risiedere nella stessa sottodirectory. Di default l'immagine di Debian deve essere contenuta nella SD Card nella directory "debian"

Una volta installato il programma si devono installare anche il terminale e VNCClient per Android

A questo punto si clicca Launch e si seleziona Debian.
Si apre il terminale, viene effettuato il check dell'immagine mediante il file md5 allegato e vengono richieste alcune configurazioni (per esempio la nuova password,le dimensioni della  finestra grafica per VNC e se avviare il server SSH)

Se tutto va bene ci si trova in questa condizione
ovvero si leggera' il messaggio X Desktop is localhost:0

Non rimane che minimizzare il terminale e lanciare VncViewer per Android impostando la password come "debian" (attenzione.. quella che e' stata selezionata prima e' relativa all'utente Linux e non a VNC) e la risoluzione a 24 bit



ed ecco il risultato finale





ovviamente piu' il telefono e' veloce migliore sara' il risultato ed altrettanto ovviamente se il telefono e' collegato in rete si potra' usare il VNC client anche su PC od altre piattaforme

PS: una volta terminata la fase di controllo del checksum il file MD5 viene cancellato e viene creato un file di configurazione (file testo) nel quale viene riportata la dimensione del file VNC e quali server (SSH, VNC) sono attivati

mercoledì 30 gennaio 2013

Optimus ROM per GT-S5570i

A causa dei problemi con la precedente rom JellyBlast descritti in questo post ho deciso di fare un passo indietro e rinunciare ad Android 4.1 per avere un telefono piu' stabile e soprattutto funzionante

Per questo motivo adesso ho montato la rom Optimus Rom 2 (scaricabile da questo link)
Per flashare il telefono sono necessari i seguenti file

CWM_GT-S5570i
OptimusRom2_00(2)
update

come al solito si fa partire il telefono in recovery mode (vedi post precedente9 e si seleziona prima il file CWM, si effettua il wipe di tutti i dati e poi si installa il file Optimus Rom 2
Una volta riavviato completamente il telefono e dopo essersi accertati che tutto sia andato bene e' possibile e' possibile riavviare il telefono, riavviare CWM ed eseguire l'update che corregge un problema sulle impostazioni del provider

Come si vede questa ROM e' un passo indietro verso Android 2.3.6 ed ha anche (giustamente) un numero ridotto di programmi preinstallati


Le prime impressioni di uso sono buone ma come gia' detto i problemi riscontrati con la JellyBlast erano saltuari e non prevedibili quindi solo l'uso dira' se e' il caso di continuare con la Optimus










lunedì 7 gennaio 2013

SG-5570i ed Android 4.1.1

Aggiornamento del 30/1/2013
------------------------------------------
In data odierna ho rimosso la ROM JellyBlast in quanto crea piu' problemi dei vantaggi che apporta
Nel dettaglio
1) il telefono, nonostante sembri connesso alla rete telefonica e mostri anche 3-4 tacche di segnale, occasionalmente senza nessun sintomo non riceve le telefonate

2) il telefono occasionalmente effettua un reboot quando si riceve una telefonata

3) Android 4.1 e' carino ma forse e' troppo pesante per il processore del 5570i. La fluidita' dei comandi non e' eccezionale

4) ultimo aspetto abbastanza trascurabile non e' possibile aggiornare, per problemi alla firma digitale del pacchetto l'app di Youtube
------------------------------------------

Tempo fa mi sono comprato un Samsung Galaxy Next Turbo (SG-5570i) causa malfunzionamento dell'Ideos. Il telefono funziona benino peccato che in alcuni momenti, indipendentemente dalle tacchette presenti sul display, perda il segnale ... quindi la gente mi telefona e trova occupato quando io credo di essere raggiungibile.

Mi sono accorto che cio' e' generalmente associato all'uso dell'Airplane Mode. Nell'Ideos disattivando l'Airplane Mode mi veniva richiesto di nuovo il Pin mentre sul Galaxy no.
Un aggiornamento mediante il programma Kies ufficiale di Samsung non ha prodotto i risultati sperati

Dato che e'  un telefono deve funzionare principalmente da telefono ho deciso di flashare la Rom dato che ragionevolmente il problema e' di tipo software e dopo varie ricerche ho deciso di provare la Jelly Blast 3.0 (Link) dato che promette una versione avanzata di Android (4.1.1) quando gli aggiornamenti ufficiali risultano fermi ad Android 2.3

Per prima cosa si devono copiare sulla SD card i seguenti file

Next_Turbo_ROOT.zip
CWM_GT-S5570i
S5570i-JBlastv303.signed
CorPlenusv2.02-randomboot

L'ordine delle operazione e'
1) guadagnare i privilegi di Root (con il primo file)
2) installare la ClockWorkMod Recovery
3) installare il sistema operativo ed il nuovo kernel

quindi si deve spengere il telefono ed accenderlo in Recovery Mode (Tasto Home/Tasto Volume +/Tasto Accensione)

si accede alla schermata da cui con i tasti volumi per salire e scendere ed il tasto home per selezionare si deve installare il file zip di root (update zip from sd card)...fatto cio' si fa il reboot e si attende il caricamento

Dopo che tutto e' andato a buon fine si rispenge il telefono e si attiva di nuovo il Recovery Mode e con la stessa procedura precedente si seleziona il file CWM_GT-S5570i.zip ...adesso si e' attivata la ClockWorkMod e si seleziona Wipe data and cache and Dalvik cache ed in seguito Install zip from sd card selezionando S5570i-JBlastv303.signed.zip.
Si attende l'installazione e si fa reboot..quasi finito
Si ritorna di nuovo in Recovery Mode, si seleziona di nuovo CWM e da dentro CWM si fa Install zip from sd card selezionando CorPlenusv2.02-randomboot.zip

Si fa l'ennesimo reboot ed e' finita
La prima cosa che risulta critica e' l'aggiornamento di Youtube. Google Play non riconosce la firma digitale del pacchetto di Youtube e non lo aggiorna.

Gli aspetti immediatamente positivi sono la presenza di Chrome (con il vecchio kernel Google Play ne impediva l'installazione) 

Installazione del root 


Wipe dei dati

Android installato (manca il nuovo kernel)

Schermata di avvio del nuovo Andoird



Partenza del nuovo kernel con Cyanogen
Ed alla fine


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...