Utilizzare l’estensione DOTNET di PHP

Il linguaggio PHP riserva sempre numerose sorprese tra cui estensioni poco note e/o con scarsa documentazione ed esempi. Una di queste si chiama COM and .Net e consente una incredibile interoperabilità ed espansione dei casi d’uso del linguaggio.

Questa estensione consente di utilizzare all’interno di uno script PHP le funzionalità messe a disposizione da un oggetto COM, che può essere una DLL scritta da noi stessi oppure da un’applicazione presente sul server, ad esempio Microsoft Word.
Continua la lettura di Utilizzare l’estensione DOTNET di PHP

Arduino, Android e Bluetooth: costruire un’auto telecomandata

Dopo mesi di inattività ho ripreso in mano il mio primo progetto con Arduino e ho deciso di evolverlo in qualcosa di più interattivo, così ho creato un auto telecomanda via Bluetooth da uno smartphone Android.

Questo progetto quindi mi ha richiesto lo studio (in realtà meno approfondito di quando mi aspettassi) della piattaforma mobile di Google.

Per rendere tutto più semplice ho deciso di utilizzare il toolkit Amarino, che permette la comunicazione tra Android e Arduino via Bluetooth, mettendo a disposizione due librerie, una per parte.

L’applicazione Android che funge da telecomando ha due modalità di controllo: tramite pulsanti oppure tramite i sensori di accelerazione dello smartphone (in base all’inclinazione viene inviato un segnale).
Continua la lettura di Arduino, Android e Bluetooth: costruire un’auto telecomandata

Allarme di bassa tensione – Low Voltage Alarm

Durante il testing del mio robot evita ostacoli ho inavvertitamente danneggiato irreparabilmente la batteria che utilizzavo come alimentazione.

Per evitare di commettere lo stesso costoso errore in futuro ho costruito (con qualche suggerimento esterno) un circuito di allarme che monitora il livello di tensione della batteria.
Continua la lettura di Allarme di bassa tensione – Low Voltage Alarm

Arduino + Lego = Robot evita ostacoli – Obstacle avoidance robot

Come primo progetto per scoprire la potenza e la semplicità di Arduino ho deciso di costruire un piccolo robot in grado di muoversi ed evitare gli ostacoli in completa autonomia.
Fin dalle scuole superiori sono stato affascinato dal mondo dell’elettronica ed inoltre la mia passione (e anche mestiere) è programmare, sono riuscito a combinare entrambe le cose in questo progetto.
Come prima cosa mi sembra giusto dire che per sviluppare questo robot sono necessari un minimo di conoscenze di elettronica, nonchè un pò di manualità ed ingegno per risolvere i vari problemi che si possano presentare.

Volendo descrivere brevemente il mio progetto sono presenti quattro componenti principali:

  1. Arduino, il cervello del sistema
  2. il motore che fa muovere il robot e il motor driver per controllare il motore (verso e velocità)
  3. lo sterzo e il servo comando per cambiare direzione
  4. sensore di prossimità, per rilevare gli ostacoli

Continua la lettura di Arduino + Lego = Robot evita ostacoli – Obstacle avoidance robot

jQuery plugin: Popup Checkbox List

Vi è mai capitato di avere, all’interno di un form, una lista interminabile di checkbox per la stessa scelta?
Graficamente l’aspetto della pagina ne risente notevolmente e anche l’utente finale può sentirsi scoraggiato dal compilare un modulo apparentemente molto lungo.
Per risolvere questo problema ho creato un plugin per jQuery che rende possibile mostrare in una finestra modale l’elenco di checkbox interessato, in maniera da compattare la lunghezza del form, nel quale vengono mostrare solo le scelte effettuate.
Continua la lettura di jQuery plugin: Popup Checkbox List

Form Builder: rilasciata la versione 1.4

Continua lo sviluppo di questa libreria, di cui ho fatto il mio cavallo di battaglia!
Per chi non l’ha mai vista in azione ecco qui il link alla guida iniziale della prima versione: Form Builder v1.0

Nuove funzionalità

Con il susseguirsi delle versioni sono state introdotti diversi miglioramenti tra cui:

  • plugin TinyMCE
  • prevenzione degli attacchi di tipo CSRF (Cross-site request forgery)
  • campo composto da un elenco di checkbox (con popolamento valori da DB e PHP)
  • possibilità di raggruppare le voci all’interno dei select box (tag <optgroup>)
  • formattazione automatica dei numeri decimali
  • possibilità di avere dei campi con una maschera di inserimento (ad es. date, orari)
  • il codice HTML generato è più facile da utilizzare con gli stili CSS

Continua la lettura di Form Builder: rilasciata la versione 1.4

Processing.js: creare una piantina per la prenotazione di posti in HTML5

Una delle potenzialità più interessanti di HTML5 è l’introduzione dell’elemento Canvas, il quale permette di effettuare un rendering dinamico di immagini tramite un linguaggio di scripting.
Per sfruttarlo al massimo, sono nate numerose librerie Javascript che ne semplificano l’utilizzo, tra cui Processing.js

Processing.js è un progetto imparentato con il più popolare linguaggio di programmazione visuale Processing.
Questa libreria permette di scrivere codice in linguaggio Processing e visualizzare il risultato su una pagina web: la magia avviene trasformando il sorgente in codice Javascript.

In seguito ad un progetto su cui ho lavorato recentemente, ho pensato di sviluppare una demo più vicina alla realtà rispetto agli esempi che si possono trovare sul sito ufficiale.

Utilizzando questa tecnologia, ho creato la piantina di un teatro, sulla quale è possibile selezionare i posti per effettuare la prenotazione di uno spettacolo.
Continua la lettura di Processing.js: creare una piantina per la prenotazione di posti in HTML5

Inserire codice Javascript in un file Pdf utilizzando Zend_Pdf

Tra le numerose librerie dello Zend Framework, è presente una molto interessante che permette di creare e manipolare file in formato PDF, chiamata Zend_Pdf.
Navigando tra la documentazione si possono trovare i metodi setJavascript e getJavascript, che in linea teoria permetterebbero di inserire codice Javascript all’interno del documento PDF.
Forse non tutti sanno che Adobe Acrobat a partire dalla versione 7, consente l’utilizzo di questo linguaggio di scripting per rendere dinamici e personalizzare i file PDF.
Continua la lettura di Inserire codice Javascript in un file Pdf utilizzando Zend_Pdf

JQuery Validation per Array di elementi Input

Utilizzo da anni il plugin Validation di JQuery e lo reputo molto funzionale; recentemente mi è capitato di dover validare un array di elementi input e ho scoperto che in questa situazione presenta dei limiti, nel senso che non è in grado di validare tutti gli elementi dell’array, ma solo il primo.
Per questo motivo ho fatto una ricerca in rete ed ho trovato una soluzione (non ufficiale) che risolve il problema senza intaccare il funzionamento generale. Per rendere ancora più semplice l’utilizzo ho scritto una estensione, in maniera da non dover modificare direttamente i file sorgenti del plugin.
I miei test sono stati utilizzando la versione 1.5.2 di jQuery Validation.
Continua la lettura di JQuery Validation per Array di elementi Input