martedì 30 luglio 2013

Spedire mail da GMail via Python

Alla ricerca di un metodo per spedire le misure di un sensore attaccato a Raspberry ho trovato il codice di questo sito che permette di inviare mail in automatico mediante un account GMAIL


------------------------------------
#!/usr/bin/env python
import smtplib
from email.mime.text import MIMEText

USERNAME = "lucainnoc@gmail.com"
PASSWORD = "password"
MAILTO  = "rec@toscana.it"

msg = MIMEText('valore sensore')
msg['Subject'] = 'Sensore'
msg['From'] = USERNAME
msg['To'] = MAILTO

server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo_or_helo_if_needed()
server.starttls()
server.ehlo_or_helo_if_needed()
server.login(USERNAME,PASSWORD)
server.sendmail(USERNAME, MAILTO, msg.as_string())
server.quit()

lunedì 29 luglio 2013

Mediacom 850i e ROM

Ieri ho rimesso mano al Mediacom 850i (fino ad adesso in possesso esclusivo di mio figlio) ed ho cercato un metodo per renderlo un po' piu' reattivo cercando qualche ROM partendo da questo link

In particolare ero curioso della PASCAPEX che necessita' pero' di installare la Cloclworkmod .. e qui sono iniziati i guai. Le istruzioni per CWM su Mediacom 850i si trovano qui ma dopo aver eseguito i programma il tablet non mostrava segni di vita con schermo completamente nero.
In realta' qualche segno di vita era presente perche' connettendo il cavo USB a Windows si vedeva (e sentiva) che una nuova porta era aggiunta..in pratica era come se il tablet fosse in modalita' recovery permanente a schermo spento.

Preso dallo sconforto ho frugato ed ho trovato che e' possibile aggiornare il firmware non solo tramite recovery ma anche utilizzando il software Rockchip Backup Tool (attualmente alla versione 1.4) ed una immagine completa del sistema

Attenzione : per il Mediacom 850i esistono due tipi di driver differenti. Quello per adb che permette la programmazione e di montare le memorie interne del tablet e quello da utilizzare per gestire la recovery (29Rockusb)

Come immagine ho preso vanilla (sembrava essere quella meno pericolosa e buggata) e dopo aver lanciato Rktool il tablet e' ripartito


Forse va un po' meglio di prima per quanto riguarda la velocita' ma e' presente un fastidiosissimo bug sulla gestione della grafica che corrompe alcune schermate. In compenso frugando un po' si trova il market ufficiale (non presente nella precedente versione se non in versione widget)

In ogni caso si puo' scaricare il pacchetto originale di ripristino dove sono contenuti tutti i programmi e le immagini per riportare il sistema all'originale

Partizione GPT in Windows XP

Mi e' capitato di prendere un disco esterno da 500 Gb che non usavo da un po' di tempo e di non riuscire a montarlo su Windows Xp
Il sintomo e' che la periferica e' stata riconosciuta nella catena USB ma non veniva mostrata tra i dischi disponibili. Una verifica sugli strumenti di amministrazione/gestione dischi ha mostrato che il disco risultava integro ma con una partizione di protezione GPT...probabilmente avevo usato il disco su Windows 7.

Rimuovere la partizione GPT da Windows XP non e' banalissimo e comporta comunque la perdita dei dati.
Seguendo le istruzioni sul sito di Lacie si deve


entrare in shell (cmd), lanciare diskpart ed individuare il numero del disco (in questo caso 6)

ed effettuare
select disk 6
clean

a questo punto il disco di puo' formattare sotto Windows XP

venerdì 26 luglio 2013

Ext2/Ext3 su Windows

Dato che ho praticamente tutti i computer su Debian e' abbastanza ovvio che anche i dischi di backup siano formattati con filesytem Linux

Oggi pero' avevo la necessita' di scaricare i dati (e quindi di montare anche in sola lettura) i dischi di backup su un Windows Xp

La prima prova e' stata con Ext2Fsd. Questo metodo funziona ma ha dei grossi limiti, il piu' evidente e' quello di non riuscire a copiare dei file il cui nome includa caratteri speciali (spazi, accenti) il che e' abbastanza comune oggi

Il secondo tentativo e' stato con ExtFs, un prodotto commerciale che una licenza libera per uso personale

Il programma si comporta decisamente meglio del precedente (anche se non e' esente da difetti) e mi ha permesso di copiare oltre 10 Gb di dati con poche correzioni manuali


venerdì 19 luglio 2013

Web Radio con VLC




Controradio
Radio Due
Radio Tre
Radio Capital
Radio Virgin Classic

PiBang su Raspberry

fdsa
Mentre stavo cercando di sostituire LXDE con Openbox su Raspbian mi sono imbattuto in PiBang, una versione compilata per Arm di Crunchbang

A differenza di Raspbian, questa distribuzione si presenta come una versione desktop completa (sono preinstallati Gimp, VLC, Abiword e viene proposto in modo semplice di installare Libreoffice).
Per questo motivo e' necessario utilizzare almeno una SD Card da 4 Gb

Le impressioni di utilizzo sono buone nonostante l'hardware limitato ...fra le altre cose al primo avvio viene proposta di effettuare l'overclock fino ad oltre 1GHz (io mi sono fermato a 900 MHz senza troppi problemi)


L'altro aspetto carino e' la semplicita' di configurazione della rete sia cablata che WiFi



L'unico problema reale che ho riscontrato e' stato al momento di inserire (a sistema operativo avviato) il dongle USB della scheda di rete WiFi...il sistema ha crashato senza possibilita' di recupero ed al successivo riavvio il file system era (ovviamente) corrotto

giovedì 18 luglio 2013

Mandelbrot con Processing+Android

Per mettere alla prova quanto appreso dal post precedente un classico, Mandelbrot
Il programma e' eseguito interamente sul telefono Android dopo essere stato compilato con Processing

Screenshot di Android
Il tempo di esecuzione e' inferiore ai 3 secondi e mezzo sul Samsung Next Turbo

-----------------------------------------
int larghezza = 200;
int altezza = 200;

float re_min = -2.0;
float im_min = -1.2;
float re_max = 1.0;
float im_max = 1.2;
int iterazioni = 255;

float a,b,x,y,x_new,y_new;
int i,j,k;
  
float re_factor=(re_max-re_min);
float im_factor=(im_max-im_min);

void setup() {
  size(200,200);
  background(0,0,0);
  stroke(255);
}

void draw() {
   for (i=0;i<altezza;i++)
    {
      for(j=0;j<larghezza;j++)
      {
        a = re_min+(j*re_factor/larghezza); 
        b = im_min+(i*im_factor/altezza);
   
        x = 0;
        y = 0;

   
        for (k=0;k<iterazioni;k++)
          {
          x_new = (x*x)-(y*y)+a;
          y_new = (2*x*y)+b;
          if (((x_new*x_new)+(y_new*y_new))>4)
             {
             if (k%2 == 0)  point(i,j);
             break;
             }
           x = x_new;
           y = y_new;
           }
  
       }
    }
        
}

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