Cronjob PHP: come automatizzare la verifica degli eventi nel mondo dell’IoT

Automatizzare la verifica degli eventi nel mondo dell'IoT è possibile? Tramite i cronjob PHP puoi programmare l'esecuzione degli stessi script e quindi verificare non solo se un evento accade, ma informarti per esempio tramite una mail. In questo articolo ti accompagnerò in questo percorso!

Ciao sono Lorenzo Neri: Chief Education Officer di Elettronica Open Source, mi occupo di realizzare contenuti educativi per aiutare persone come te a comprendere meglio questo mondo!

Devi sapere che nel corso della mia vita ho avuto modo di esplorare il mondo del PHP in diversi progetti web: è un linguaggio di programmazione che torna molto comodo per realizzare il back-end di tanti siti web. Per farti un esempio, il blog di Elettronica Open Source basa parte del suo funzionamento in PHP, tramite esso possiamo tenerti sempre aggiornato sulle nostre novità!

Ma c'è molto, molto di più: il PHP può essere utilizzato anche per la realizzazione di sistemi IoT. Per farti un esempio, avere una piattaforma web dove hai delle API realizzate in PHP permette ai nodi della tua stessa rete IoT di inviare le informazioni raccolte dai sensori e salvare su un database.

Questo, gli studenti di Making IoT lo sanno bene: spiego, infatti, come possa tornare comodo attraverso l'uso del PHP e il protocollo HTTP come dare vita a un sistema di raccolta dati.

Chiaramente non c'è raccolta dati senza database: e non per nulla, se fossi curioso ho scritto un articolo in merito che puoi trovare proprio qui.

Tornando a noi, cerchiamo di capire come sfruttare tutto questo per automatizzare la verifica degli eventi: ci serve chiarire un punto per prima cosa.

Cronjob PHP: una breve introduzione

Nel 99% dei servizi di hosting, incluso Altervista, ti è possibile realizzare dei cronjob PHP. Ma cosa sono?

Immagina di voler inviare una email a tutti i tuoi colleghi puntualmente ogni giorno alle 17:35, che li avvisi se sono rimasti degli ordini da spedire. All'interno del tuo sito web c'è un file PHP che si occupa di verificare lo stato degli ordini, prendere quelli non ancora spediti e farne una lista.

A questo punto, prende la lista dei tuoi colleghi e li invia una mail.

Però, qual è il problema da risolvere per automatizzare la verifica di questo evento?

Nel caso non lo sapessi, i file PHP vengono eseguiti solo se un utente invia una richiesta HTTP a quella pagina. 

Come si fa allora? Beh, come ti dicevo prima, nella sezione del tuo sito web c'è sicuramente una sezione come questa:

Un esempio di scheduler cronjob PHP

In estrema sintesi, posso decidere quale file eseguire ma, cosa più importante di tutte, quando!

Quindi, impostato l'orario, il giorno e il mese, il file PHP che hai indicato verrà eseguito in automatico in modo ciclico.

Nel caso volessi approfondire la sintassi dei cronjob ti invito a leggere quest'altro articolo, perché il nostro obiettivo è concentrarci sull'aspetto IoT.

Infatti, una volta capito che cos'è e cosa fa un cronjob PHP passiamo allo step successivo.

Come automatizzare la verifica degli eventi nel mondo dell'IoT

L'esempio che ti ho fatto prima della email, consiste proprio nell'automatizzare la verifica di un evento!

Ma è giusto fartene uno più "IoT" di esempio.

Immagina di avere la seguente architettura:

Il sistema che useremo come esempio

Si compone delle seguenti parti:

  • Arduino: una scheda Arduino a cui colleghiamo un sensore di temperatura che invia ogni minuto la temperatura al nostro server web
  • Il server web: che offre delle API tramite cui riceve la temperatura del nostro Arduino, salva nel database la temperatura stessa e risponde con un "ok" alla scheda per confermare l'operazione di avvenuto salvataggio
  • Il nostro file PHP che diventerà un cronjob: ogni minuto verifica l'ultima temperatura registrata nel database e se questa supera i 30°C ci invia una email

All'interno di questo sistema, i due processi che ti ho appena raccontato sono indipendenti: questo significa che l'invio delle temperature da Arduino al web server e l'esecuzione ciclica del cronjob avvengono a prescindere dall'altra operazione.

Per la parte legata al come effettuare le richieste HTTP con Arduino o schede ESP, non posso che invitarti a leggere questo articolo oppure scoprire cosa ti può offrire Making IoT, nel mentre, come impostiamo il cronjob per essere eseguito ogni minuto?

Seguendo ciò che è la sintassi del mio hosting, dovrei inserire questi valori:

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 1332 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend