PHP: Salvare data nel formato GG/MM/AAAA in un campo DATETIME di MySQL

Questo appunto è un codice PHP utile per salvare in un database MySQL una data inserita in un form nel formato “classico” GG/MM/AAAA, quando il campo nel database è di tipo DATETIME ovvero “Y-m-d H:i:s”.

Nel form richiedo di inserire la data in questo formato GG/MM/AAAA:

<input type="text" name="data">

Inviato il form, da PHP  manipolo il campo ricevuto (nel mio caso chiamato “data“,  recuperato con $_POST[“data“]), con la funzione di PHP date():

$data = date('Y-m-d H:i:s', strtotime(str_replace('/','-',$_POST["data"])));

Ora posso salvare il contenuto di $data direttamente nell’opportuno campo del database.

Per fare l’operazione inversa ovvero formattare correttamente la data recuperata dal database con una query (nel mio esempio il campo si chiama proprio data e la tabella mia_tabella) uso la funzione di SQL DATE_FORMAT e salvo il risultato nel nuovo campo data_formattata:

mysql_query(SELECT DATE_FORMAT(data,'%d/%m/%Y') as data_formattata FROM mia_tabella)

 

 

ITIS Water Watch

Un dispositivo sperimentale per il monitoraggio dei corsi d’acqua per la sicurezza del territorio e
per salvare vite umane

Il prototipo ITISWW è un dispositivo realizzato nell’ambito di un progetto coordinato da un gruppo di alunni e docenti del Polo Tecnologico Imperiese per la partecipazione al “Premio Rotary Club del ponente ligure Fiorenzo Squarciafichi per il Ponente e la sua sicurezza (Water Watch)”, basato sul lavoro originario WaterWatch 1.1 reperibile all’indirizzo: http:// www.rotaryimperia.it/?page=waterwatch.

Documentazione

Particolare del dispositivo durante i primi test del prototipo

Prima Versione: 1.0 del 14-02-2017
– prototipo iniziale

Ultima Versione:  1.3 del 15-03-2017
– miglioramenti sezione GSM per riconnessione alla rete

Canali Social

La scheda Arduino montata sulla PCB realizzata in laboratorio.

Di seguito i link ai canali dimostrativi collegati all’unità “DEMO” realizzata dall’ITIS.

Gallery

Foto scattate durante i 3 mesi di realizzazione del prototipo.

Crediti

Realizzazione del prototipo:
Giacomo Galletti – Studente 5B ITIS ind. Informatica e TLC
Andrea Ruo – Studente 5B ITIS ind. Informatica e TLC
Referente:
Ing. Simone Zanella – Docente TPSIT
Contributi:
Giuseppe Murzio, ITP Itis, per la stampa 3D e il montaggio della scatola, Lino Addiego, ITP Itis, per la saldatura del pannello solare e la stampa della scheda PCB, Romano Calcagno, Tecnico di Laboratorio ITIS, per supporto nella realizzazione della scatola, FabLab Imperia, per supporto nella stampa 3D della scatola.

 

Problema comunicazione con Arduino: avrdude: stk500v2_ReceiveMessage(): timeout

Recentemente mi è capitato di non riuscire più a caricare sketch su un Arduino UNO da USB, ricevendo questa serie di errori:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

A nulla sono valsi tentativi di reset e varie guide trovate in rete, fino a quando sono riuscito a ripristinarlo seguendo la procedura basato sull’utilizzo di Arduino come ISP, ecco come:

innanzitutto bisogna disporre di 2 schede ARDUINO UNO, collegate come in figura:

Immagine originale: Arduino.cc

Dopodichè carichiamo l’IDE di Arduino (nel mio caso la versione per MacOS), selezioniamo dagli “ESEMPI” lo schema “ARDUINO ISP“:

Compiliamo e lo carichiamo sulla board.

Ora selezioniamo dal menu “STRUMENTI” -> “PROGRAMMATORE” -> “ARDUINO as ISP“:

Poi procediamo con “STRUMENTI” -> “SCRIVI IL BOOTLOADER

Se tutto è andato per il verso giusto, scollegate il tutto e provate a caricare uno sketch sulla vostra Arduino UNO (è sufficiente il semplice e classico “Blink”).

Per ulteriori approfondimenti fate riferimento a questo tutorial: https://www.arduino.cc/en/Tutorial/ArduinoISP