IDE Arduino 1.6.8

arduino_ide

Era da diverso tempo che usavo ancora la versione 1.6.5 della IDE di Arduino (sul Mac) soprattutto perché utilizzando adesso prevalentemente schede di tipo ESP8266 avevo trovato diversi problemi di compilazione con la successiva 1.6.6. Ho prudentemente ignorato la 1.6.7 ed ora ho voluto finalmente provare l’accoppiata 1.6.8 con il nuovo toolkit ESP v. 2.1.0.

Non uso più Windows da anni, neanche al lavoro 🙂 , quindi farò riferimento alla versione per OS X. Consiglio caldamente prima di aggiornare alla versione 1.6.8 di cancellare il contenuto della directory

Macintosh SSD -> Utenti > [NomeUtente] -> Libreria -> Arduino15

ovvero

/Users/[NomeUtente]/Library/Arduino15

per gli amanti (come me) del terminale. Non farlo può portare a problemi di riconoscimento delle schede. Fatto questo scarichiamo dal sito arduino.cc la nuova versione e la copiamo nella cartella Applicazioni al posto della precedente.

Rimettiamo di nuovo il path dove si trovano gli sketch e l’indirizzo dove prelevare i toolkit per le schede ESP2866. Quest’indirizzo si può copiare dal sito GIT

arduino_pref

Fatto questo andiamo nel menu Strumenti -> Gestore Schede ed installiamo il supporto per le ESP8266.

Ho provato a compilare una ventina di sketch diversi realizzati per questo tipo di schede e devo dire che tutto è andato regolarmente. In questi sketch ci sono molte librerie esterne, riferite a vari tipi di sensori, server e client HTTP, UDP e via dicendo. Di tutto insomma, e per fortuna non ho mai avuto problemi. Riguardo i sensori, quando possibile, cerco di preferire le librerie Adafruit, perché sono quelle che in genere mi hanno dato meno pensieri.

L’elenco di schede gestite dal supporto ESP8266 mi sembra piuttosto vasto:

schede

C’è anche l’interessantissima Wemos D1 mini di cui ha già parlato Heron sul suo BLOG. Io sto ancora aspettando pazientemente che me ne arrivi qualcuna dalla Cina , i tempi si sa sono biblici, ma quando arriveranno le proverò come nodi attivi/passivi di domotica. Simpaticissimi i mini shield 🙂

Forse qualcosa bolle in pentola anche riguardo la libreria di accesso diretto a Mysql per ESP8266, con il port di quella per Arduino. Ho trovato qualcosa e dopo aver effettuato delle prove ne parlerò. In conclusione insomma penso di poter adottare con una certa tranquillità la IDE 1.6.8 anche per le compilazioni con schede ESP8266.

Aggiornamento manuale di OwnCloud Server

E’ uscita la nuova versione di Owncloud, la 9.0.0. Owncloud è uno dei più utilizzati ed apprezzati Cloud server, accessibile anche a piccoli computer come i Raspberry e schede simili. Le novità sono piuttosto interessanti (https://owncloud.org/blog/owncloud-server-9-0-released/) per cui ho deciso di aggiornare la versione 8.2 che già utilizzo per uso personale. Per quanto riguarda i Server che amministro nell’Azienda in cui lavoro ho deciso di aspettare ancora che si definisca bene il fatto che le applicazioni Calendario e Contatti sono considerate “deprecate” e quindi sostituite da nuove componenti. A riguardo si possono trovare notizie sul Forum del sito ufficiale, per chi invece vuole procedere ugualmente illustrerò la procedura che ho eseguito per aggiornare il mio server casalingo alla versione 9.

Innanzitutto premetto che trattandosi di una procedura manuale è richiesta una certa confidenza con la shell linux e con i suoi comandi di base, inoltre è saggio provvedere al backup della directory attuale del prodotto (e dei dati, se contenuti nello stesso path) prima di procedere, per ripristinare eventualmente la situazione precedente se qualcosa fosse “andato storto”.

La procedura verrà eseguita da utente “root”, attuabile su ambienti Debian (ma anche Raspbian o Bananian) o Centos / Redhat ( e quindi anche Centos 7 per arm e RedSleeve).

Questa procedura suppone che il server Owncloud sia installato nella directory

/var/www/html/owncloud

sia nel caso si tratti di una distribuzione di tipo Debian che Centos/RedHat e che sia stato effettuato un backup della directory indicata sopra.

1 . Scaricare dal sito Owncloud il pacchetto owncloud-9.0.0.tar.bz2 e copiarlo dentro la directory /var/www/html. NON DECOMPRIMERLO ORA.

2 . Entrare nella directory /var/www/html/owncloud/config ed editare il file config.php inserendo la direttiva

oppure modificarla, se già esistente, da “false” a true”. Salvare il file e riavviare il server apache.

DEBIAN 7 o CENTOS/REDHAT 5/6 versioni (INITD)

DEBIAN 8 o CENTOS/REDHAT 7 versioni (SYSTEMD)

Questo metterà il server in “maintenance mode” per tutti gli utenti collegati in modo tale che non potranno apportare modifiche ai dati, ma soprattutto manterrà la nuova versione in questo stato quando la metteremo in linea fino a che non avremo completato l’upgrade.

Quando saremo sicuri che nessuno è più collegato al cloud fermiamo il web server. Ripetiamo il comando dato sopra sostituendo il comando “stop” a “restart”.

 

3. Rinominiamo l’attuale installazione di Owncloud in Owncloud_old.

 

4. Ora possiamo decomprimere la nuova versione da dentro la directory /var/www/html

questo creerà la nuova cartella “owncloud” contenente la nuova versione.

 

5. Entriamo nella vecchia installazione e copiamo il file config.php nella nuova.

 

6. Ora, se abbiamo mantenuto i dati dentro la cartella owncloud/data copiamoli dentro l’installazione nuova, se abbiamo configurato un path esterno saltiamo questo step, ci penserà il file config.php appena copiato a referenziarli anche nella nuova versione.

e attendiamo la fine della copia, che può impiegare svariati minuti a seconda dei dati memorizzati. Stiamo facendo una copia quindi va da sé che nella partizione dobbiamo avere spazio almeno per il doppio dello spazio cubato dai dati del cloud, altrimenti dovremo provvedere ad eseguire un comando ‘mv’, ovvero move. Il comando move si presenta più rischioso in quanto se lo spostamento non andasse per qualche motivo a buon fine non avremmo più i dati (o parte dei dati) nella posizione originale.

A causa di questo fatto, in previsione di upgrade di Owncloud è sempre bene alla prima installazione portare fuori dalla directory del prodotto la directory dei dati configurando il path nel file “config.php”

 

7. Se stiamo usando applicazioni di terze parti situate in owncloud_old/apps copiarle nella nuova installazione controllando attentamente i diritti dei file.

 

8. Abbiamo agito da utente root: ora dobbiamo assegnare alla cartella “owncloud” e a tutto ciò che vi è sotto la proprietà dell’utente “apache.apache” su Centos/Redhat o “www-data.www-data” su Debian

DEBIAN

CENTOS / REDHAT

 

9. Avviamo il web server. In virtù del file “config.php” copiato in precedenza il nuovo server si avvierà in “maintenance mode”.

DEBIAN 7 o CENTOS/REDHAT 5/6 versioni (INITD)

DEBIAN 8 o CENTOS/REDHAT 7 versioni (SYSTEMD)

 

10. Lanciamo la procedura finale di upgrade. Può volerci anche molto a seconda dei dati presenti sul cloud.

DEBIAN

CENTOS / REDHAT

 

Se tutto è andato bene avremo un output di questo tipo:

 

11. Entriamo in /var/www/html/owncloud/config/config.php e rimettiamo a false la direttiva del maintenance mode. Per ultimo riavviamo il web server con un comando start come descritto prima.

Ora possiamo controllare le connessioni e verificare che tutto sia andato bene.

 

Centos 7 per RPi2, lo sviluppo continua

E’ un po’ che non ne parlo, ma lo sviluppo della Centos 7 per RPi2 sta andando avanti. Sono reperibili immagini ready-to-use aggiornate all’indirizzo:

http://dev.centos.org/centos/7/isos/armhfp/

Allo stato attuale di sviluppo si tratta di un’immagine “minimal” adatta ad un uso headless della distribuzione, ed è perfino disponibile un’installazione dedicata al Raspberry Pi3. Ricordo che si accede con un utente root con password centos.

La mailing list di sviluppo (piuttosto attiva) per chi volesse contribuire anche solo al testing della distro si può attivare qui:

https://lists.centos.org/mailman/listinfo/arm-dev

 

 

Raspberry Pi3

E’ stato annunciato a fine febbraio. (ed anche messo in commercio) il nuovo Raspberry Pi3.

https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/

Nuovo processore a 64 bit, un ARM Cortex A53 dotato di 4 core con un clock di 1.2 GHz.

Anche la GPU è cambiata, ora si tratta di un VideoCore IV a 400MHz e sono state integrate a bordo della scheda le interfacce Wi-Fi e Bluetooth. Quello che non è cambiato sono le 4 porte USB, sempre standard 2, la porta Ethernet, sempre 10/100 nonché linkata al bus USB con cui continua a condividere la banda e la RAM, ancora 1 Gb. Di quest’ultima non ho notizie se sia stata aggiornata a DDR3 o sia rimasta la precedente DDR2.

E’ sicuramente più veloce del Raspberry Pi2, anche se per sapere esattamente di quanto bisognerà aspettare che venga resa disponibile almeno la Raspbian a 64 bit. Il prezzo proposto al pubblico è sempre di 35$ (che qui in Italia diventeranno non meno di 45 €) quindi tutto sommato un buon acquisto per chi decide di acquistare il primo RPi oppure “svecchiare” le prime versioni. Un po’ meno allettante per chi, come me, ha già un paio di RPI2 al lavoro.

Francamente avrei osato un po’ di più, cercando di fornire delle porte USB 3 nonché una Ethernet a 1Gb e ancora meglio una porta Sata decente, come già presente sui Banana Pi/Pro. Anche a scapito di andare a portare il costo della scheda sui 50$.

Il problema che rimane è infatti la velocità di accesso ad uno storage esterno, che se si intende usare il Raspberry come un piccolo server, diventa una grande comodità. I Banana Pi/Pro, con la loro porta Sata, anche se non riescono certamente a stare dietro allo standard Sata2  forniscono una velocità di accesso ad un disco SSD esterno di circa 120 MB/sec, che è pur sempre 4 volte più veloce di una buona microSD.

Evidentemente però non è questa la politica commerciale della Foundation che pur di contenere il prezzo della nuova scheda a quello della precedente ha deciso di far uscire quello che si può definire solo un upgrade piuttosto che una scheda decisamente più performante.