Per cominciare, installiamo sul dispositivo N900, da gestione applicazioni, i programmi "rootsh" e "OpenSSH Server", dal repository "Extras".
Ora, non so se dipenda dall'ultimo firmare ma quando ho installato "OpenSSH Server", secondo le varie guide trovate qua e là doveva chiedermi username e password, ma invece non è stato così.
Ho usato allora una soluzione alternativa, cioè cambiare la password dell'utente root che di default è "rootme" e collegarmi con esso, per avere un accesso sicuro al server SSH, appena installato sul dispositivo.
Per fare ciò, da X terminal sul dispositivo, digitiamo il comando "sudo gainroot" per diventare root e poi "passwd" per cambiare la password.
A questo punto la guida di PyMaemo consiglia di creare una rete fra il PC e il Nokia N900 tramite USB per garantire la massima velocità di trasmissione dei dati. Per il momento mi collegherò al dispositivo via wireless lan, nei prossimi post, vedremo tutte le altre possibilità.
Per accedere al dispositivo dal PC con Windows 7, ho scaricato FileZilla http://filezilla-project.org/.
Una volta installato ed avviato il programma, da "Gestione siti", ho creato un nuovo sito. Come host ho messo l'IP del dispositivo N900, che possiamo trovare digitando ifconfig -a da X terminal. Come porta, la 22, il tipo server: "SFTP - SSH File Transfer Protocol", tipo di accesso "normale", l'utente "root" e password "rootme", se non la avete cambiata, come prima descritto.
Per abilitare lo sviluppo completo per PyMaemo bisognerebbe abilitare il repository "extras-devel", che ci mette a disposizione le ultime versioni dei vari packages. Questa può essere un operazione rischiosa perchè "extra-devel" contiene packages in fase di sviluppo e/o non testati, quindi fate attenzione.
Dopo abilitato "extras-devel" installiamo dal gestore delle applicazioni il package chiamato "maemo-python-device-env", che ci fornirà le funzioni base necessarie per la maggior parte delle applicazioni Python su Maemo.
giovedì 1 dicembre 2011
Sviluppo PyMaemo da virtual machine
In questo post e nei prossimi vedremo, diversi modi che ho trovato per connettersi e sviluppare in PyMaemo:
Il primo è tramite un apposita Virtual machine con ambiente pre-installato.
Per poter sviluppare applicazioni dal PC, anche senza disporre dell'N900, come prima cosa bisogna installare l'emulatore che si trova nel Maemo SDK nella "Scratchbox".
La Scratchbox mette a disposizione una sandbox
per la compilazione su due target diversi:
X86 - utilizzato per lo sviluppo in locale
Armel - per compilare i pacchetti per il dispositivo
Una volta io provai ad installarla su un PC in cui avevo installato Ubuntu, dopo 2 giorni circa di vari casini sono riuscito a fare partire il tutto. Fortunatamente però in seguito, ho scoperto che qualcuno è stato così gentile da creare un immagine di Ubuntu con già installato l'emulatore e l'ambiente di sviluppo Eclipse con tutto il necessario per lo sviluppo e il debug di PyMaemo. Questa immagine è in formato .vmdk, creata per VMWare o Sun VirtualBox.
Vediamo allora i passi da seguire:
Adesso possiamo avviare l'ambiente di sviluppo cliccando sul icona, "ESbox" e cominciare a sviluppare creando un nuovo progetto di tipo Python.
Il primo è tramite un apposita Virtual machine con ambiente pre-installato.
Per poter sviluppare applicazioni dal PC, anche senza disporre dell'N900, come prima cosa bisogna installare l'emulatore che si trova nel Maemo SDK nella "Scratchbox".
La Scratchbox mette a disposizione una sandbox
per la compilazione su due target diversi:
X86 - utilizzato per lo sviluppo in locale
Armel - per compilare i pacchetti per il dispositivo
Una volta io provai ad installarla su un PC in cui avevo installato Ubuntu, dopo 2 giorni circa di vari casini sono riuscito a fare partire il tutto. Fortunatamente però in seguito, ho scoperto che qualcuno è stato così gentile da creare un immagine di Ubuntu con già installato l'emulatore e l'ambiente di sviluppo Eclipse con tutto il necessario per lo sviluppo e il debug di PyMaemo. Questa immagine è in formato .vmdk, creata per VMWare o Sun VirtualBox.
Vediamo allora i passi da seguire:
- Scaricare un gestore di virtual machines tipo VMWare http://www.vmware.com/ o Sun VirtualBox http://www.virtualbox.org/
- scaricare l'immagine virtuale da http://maemovmware.garage.maemo.org/2nd_edition/ P.S.: è meglio scaricarla dal browser firefox (io da InternetExplorer non ci sono proprio riuscito)
- usare 7 zip http://www.7-zip.org/ per unire i files scaricati
- Creare una nuova virtual machine Linux Ubuntu e come disco scegliere il file scaricato .vmdk.
Adesso possiamo avviare l'ambiente di sviluppo cliccando sul icona, "ESbox" e cominciare a sviluppare creando un nuovo progetto di tipo Python.
Attenzione ai repository Maemo
Cercando in rete fra i vari blogs ho notato che tanti pubblicizzano anche i repository Extras-devel e Extras-test, ma non dicono che questi 2 repository possono essere "pericolosi", nel senso che pubblicano del software ancora in fase di sviluppo e/o di testing, che potrebbe bloccare o intasare il mostro.
Quindi vi consiglio si di installare questi 2 repository, ma di fare attenzione a non aggirnare anche le applicazioni che già funzionano con una versione in fase di sviluppo o di testing.
Esempio:
Voglio provare l'applicazione “BlueMaemo”, quindi installo il repository develop: da “Gestione applicazioni”, “Cataloghi applicazioni”, premo il bottone “Nuovo” e imposto i seguenti parametri:
Nome catalogo: Maemo Extras-devel
Indirizzo web: http://repository.maemo.org/extras-devel/
Distribuzione: fremantle
Componenti: free non-free
Disattivato: non marcato
Ora su “Installa” trovo l'applicazione "BlueMaemo" e posso installarla. A questo punto cosa accade? Se per esempio ho un applicazione Es.: “Vim” che è alla versione 1.0 già installata dal repository extra, può capitare che nel repository develop ci sia la “Vim” 1.1 in fase di sviluppo. In questo caso il gestore delle applicazioni mi propone di fare un aggiornamento del software in causa, quindi di installare un applicazione ancora in fase di sviluppo, rispetto ad una già testata e funzionante.
Per ovviare a tale inconveniente allora ci basta disattivare il repository develop (Modifica catalogo, Disattivato: marcato), dopo l'installazione di “BlueMaemo”. In questo modo nessun aggiornamento viene trovato e siamo salvi. Per controllare aggiornamenti al “BlueMaemo” invece ci basterà di tanto in tanto riabilitare il repository develop e verificare se vi sono nuove versioni, o altrimenti aspettare che il programma venga rilasciato in Extras e quindi troveremo l'aggiornamento il automatico alla versione finale.
Quindi vi consiglio si di installare questi 2 repository, ma di fare attenzione a non aggirnare anche le applicazioni che già funzionano con una versione in fase di sviluppo o di testing.
Esempio:
Voglio provare l'applicazione “BlueMaemo”, quindi installo il repository develop: da “Gestione applicazioni”, “Cataloghi applicazioni”, premo il bottone “Nuovo” e imposto i seguenti parametri:
Nome catalogo: Maemo Extras-devel
Indirizzo web: http://repository.maemo.org/extras-devel/
Distribuzione: fremantle
Componenti: free non-free
Disattivato: non marcato
Ora su “Installa” trovo l'applicazione "BlueMaemo" e posso installarla. A questo punto cosa accade? Se per esempio ho un applicazione Es.: “Vim” che è alla versione 1.0 già installata dal repository extra, può capitare che nel repository develop ci sia la “Vim” 1.1 in fase di sviluppo. In questo caso il gestore delle applicazioni mi propone di fare un aggiornamento del software in causa, quindi di installare un applicazione ancora in fase di sviluppo, rispetto ad una già testata e funzionante.
Per ovviare a tale inconveniente allora ci basta disattivare il repository develop (Modifica catalogo, Disattivato: marcato), dopo l'installazione di “BlueMaemo”. In questo modo nessun aggiornamento viene trovato e siamo salvi. Per controllare aggiornamenti al “BlueMaemo” invece ci basterà di tanto in tanto riabilitare il repository develop e verificare se vi sono nuove versioni, o altrimenti aspettare che il programma venga rilasciato in Extras e quindi troveremo l'aggiornamento il automatico alla versione finale.
Ottenere l'IP reale anche con un proxy
RealIP = Request.ServerVariables["REMOTE_ADDR"].ToString();
ClientIP = Request.ServerVariables["HTTP_CLIENT-IP"];
if(ClientIP!="")
{
RealIP = ClientIP;
}
else
{
Forwarded = Request.ServerVariables["HTTP_X_Forwarded-For"];
}
if (Forwarded != "")
RealIP = Forwaded;
Verificare se SqlServer è installato
Per determinare via codice se sul vostro computer sia installato SqlServer, basta controllare la seguente chiave di registro:
//C#
public static bool IsSqlServerInstalled()
{
bool isInstalled = false;
RegistryKey regSql = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion");
if (regSql.GetValue("CurrentVersion") != null)
{
isInstalled = true;
}
return isInstalled;
}
'VB
Public Shared Function IsSqlServerInstalled() As Boolean
Dim isInstalled As Boolean = False
Dim regSql As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion")
If regSql.GetValue("CurrentVersion") IsNot Nothing Then
isInstalled = True
End If
Return isInstalled
End Function
Presentazione
Blog di programmazione generale. Parlerò di vari argomenti informatici, riguardanti la programmazione web, desktop e mobile.
Iscriviti a:
Post (Atom)