Main Content

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l'ultima versione in inglese.

Crea una visualizzazione canale ThingSpeak personalizzata

Questo esempio mostra come trasformare la visualizzazione del canale ThingSpeak in una console dati in tempo reale. L'esempio utilizza i dati ambientali raccolti tramite The Things Network, ma puoi adattare la procedura ai tuoi dati. ThingSpeak channel 876466 è un canale pubblico che mostra i dati di una sonda a tre sensori con sensori per umidità del suolo, temperatura e posizione GPS. L'esempio Collect Agricultural Data over The Things Network descrive in dettaglio come costruire un dispositivo che invii i dati del sensore a questo canale. È possibile aggiungere la visualizzazione del valore del campo per mostrare un contatore, quindi aggiungere la mappa della posizione del canale. Utilizza la lettura dipendente dal tempo per filtrare i dati dei sensori e semplificare la visualizzazione delle tendenze sottostanti. Infine, puoi tracciare una mappa dei dati sulla posizione nel canale con colori e aree di punti che rappresentano i dati del canale.

Aggiungi widget di visualizzazione numerica

Il campo 1 su questo canale è un valore del contatore che dimostra che il dispositivo è attivo e sta incrementando le misurazioni. Mostrare l'ultimo valore del contatore sulla visualizzazione del canale fornisce un rapido aggiornamento sull'attività del sensore. Puoi aggiungere un Numeric Display Widget per il tuo canale utilizzando il pulsante Aggiungi widget nella visualizzazione del tuo canale privato. Tieni presente che hai bisogno di dati nel tuo canale per vedere il valore del campo su un widget di visualizzazione numerica.

Aggiungi la mappa della posizione del canale

È possibile memorizzare le informazioni sulla posizione per un canale e per singoli aggiornamenti ai dati del canale. Per questo esempio, aggiungi prima una mappa della posizione del canale, che è diversa dalle informazioni sulla posizione dei dati del feed. Seleziona la scheda Impostazioni canale nella visualizzazione del tuo canale.

Seleziona Mostra posizione canale e inserisci le informazioni Latitudine e Longitudine per la posizione del tuo canale.

Fare clic su Salva canale per aggiornare le impostazioni.

Ora sia la visualizzazione del canale privato che quella pubblica includono la mappa dei canali.

Aggiungi un grafico a due serie alla visualizzazione canale

MATLAB Visualizations forniscono un maggiore controllo sull'analisi e sui grafici rispetto ai grafici ThingSpeak predefiniti mostrati nella visualizzazione del canale. Alcuni tipi di licenza consentono anche aggiornamenti automatici delle visualizzazioni. È possibile utilizzare sia il filtraggio temporale che quello della soglia per migliorare la visualizzazione dei dati. Per questo esempio, visualizza la relazione tra temperatura e umidità del suolo. Inizia facendo clic sul pulsante Visualizzazione MATLAB nella visualizzazione del tuo canale.

Seleziona un modello di codice personalizzato. Inserisci il codice qui sotto nella finestra del codice MATLAB . Poiché i dati di interesse provengono da un esperimento precedente, utilizzare il filtro temporale per leggere i dati più vecchi dal canale. Imposta l'ora di inizio e di fine con datetime. Quindi leggere i dati in un orario utilizzando thingSpeakRead.

startTime = datetime(2019,8,23,09,15,00);
endTime=  startTime+ days(2);
sensorData = thingSpeakRead(876466,'Location',1,'dateRange',[startTime endTime],...
    'location',1,'outputformat','timetable');

I dati sulla temperatura nella colonna tre presentano alcune misurazioni errate che devono essere filtrate prima di essere tracciate. Elimina tutte le righe in cui la lettura della temperatura è maggiore di 100.

sensorData(sensorData{:,3}>100,:)=[];

Ora completa il grafico. Utilizzare hold per assicurarsi che i grafici siano nella stessa figura e yyaxis per tracciare l'umidità del suolo sull'asse destro. Aggiungi un ylabel su ciascun lato per chiarezza e imposta la scala con ylim.

plot (sensorData.Timestamps,sensorData.TemperatureF)
ylabel('^0F');
hold;
Current plot held
yyaxis right
plot(sensorData.Timestamps,sensorData.SoilMoisture);
ylabel('Soil Conductivity');
ylim([700 900]);
hold off;

La sonda per l'umidità del suolo misura la conduttività del terreno, quindi misurazioni più umide e più conduttive hanno valori più bassi sul terreno. Il grafico mostra che le temperature più fresche sono correlate con il terreno più umido.

Visualizza le misurazioni con i dati sulla posizione nella visualizzazione canale

Per questo canale, il prototipo invia i dati di posizione insieme alle misurazioni del sensore. Un'applicazione consiste nel rilevare una vasta area con misurazioni di temperatura e umidità e visualizzare i dati con la posizione.

Come nell'esempio precedente, aggiungi una nuova visualizzazione MATLAB utilizzando il pulsante sulla visualizzazione del canale. Leggi i punti più recenti con thingSpeakRead e traccia i dati sulla posizione con goescatter. Utilizzare geobasemap per selezionare i dati della mappa satellitare.

mapData = thingSpeakRead(876466,'ReadKey','R14RSDIMCQHDW1A8','Location',...
    1,'numpoints',37,'location',1,'outputformat','timetable');
geoscatter(mapData.Latitude,mapData.Longitude,'r');
geobasemap('satellite');

La mappa fornisce una buona visualizzazione delle posizioni. Includere i dati di temperatura e umidità nella mappa per migliorare la visualizzazione. Quando il dispositivo di misurazione viene spostato da un luogo all'altro, può effettuare una misurazione dell'umidità imprecisa prima che la sonda venga ricollocata nel terreno. Rimuovere tutti i dati con valori inferiori a 500 nei dati sull'umidità del suolo nella colonna due. Quindi ridimensionare i dati per la visibilità. Aggiungere i dati di umidità alla funzione goescatter per determinare la dimensione dei cerchi e i dati di temperatura per determinare il colore. Utilizza l'opzione ‘filled’ per riempire i cerchi.

mapData(mapData{:,2}<500,:)=[];
mapData.SoilMoisture=mapData.SoilMoisture-min(mapData.SoilMoisture)+1;
geoscatter(mapData.Latitude,mapData.Longitude,mapData.SoilMoisture,mapData.TemperatureF,'filled');
geobasemap('satellite');

L'effetto sottile delle posizioni più calde davanti all'edificio porta ad alcuni cerchi più piccoli che indicano il terreno più asciutto, tranne a destra dove gli irrigatori avevano appena terminato.

Puoi aggiungere visualizzazioni salvate alle visualizzazioni pubbliche e private del tuo canale. In Impostazioni di visualizzazione, utilizza il segno più accanto a Aggiungi/modifica questa visualizzazione a un canale per espandere l'elenco dei canali.

Seleziona la casella di controllo che corrisponde al canale a cui desideri aggiungere la visualizzazione. Per aggiungere visualizzazioni private, seleziona Vista privata. Per condividere l'URL e aggiungere la visualizzazione alla Visualizzazione pubblica, fare clic su Crea un URL pubblico. Per aggiornare le selezioni, fare clic su Salva impostazioni di visualizzazione.