Contenuto principale

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l’originale in inglese.

Crea una vista canale ThingSpeak personalizzata

Questo esempio mostra come trasformare la vista del canale ThingSpeak in una console di dati live. L'esempio utilizza dati ambientali raccolti tramite The Things Network, ma è possibile adattare la procedura ai propri dati. ThingSpeak canale 876466 è un canale pubblico che mostra i dati di una sonda a tre sensori con sensori per l'umidità del suolo, la temperatura e la posizione GPS. L'esempio Raccogli dati agricoli tramite The Things Network spiega come creare un dispositivo che pubblica i dati dei sensori su questo canale. È possibile aggiungere una visualizzazione del valore del campo per mostrare un contatore e quindi aggiungere la mappa della posizione del canale. Utilizzare la lettura dipendente dal tempo per filtrare i dati dei sensori e semplificare la visualizzazione delle tendenze sottostanti. Infine, è possibile 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. La visualizzazione dell'ultimo valore del contatore nella vista del canale fornisce un rapido aggiornamento sull'attività del sensore. Puoi aggiungere un Widget di visualizzazione numerica per il tuo canale utilizzando il pulsante Aggiungi widget nella visualizzazione privata del tuo canale. Tieni presente che per visualizzare il valore del campo su un widget di visualizzazione numerica sono necessari dati nel tuo canale.

Aggiungi la mappa della posizione del canale

È possibile memorizzare informazioni sulla posizione di un canale e per singoli aggiornamenti dei 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 di Latitudine e Longitudine per la posizione del tuo canale.

Fare clic su Salva canale per aggiornare le impostazioni.

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

Aggiungi un grafico a due serie alla vista canale

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

Seleziona un modello di codice personalizzato. Inserisci il codice sottostante nella finestra del codice MATLAB. Poiché i dati di interesse provengono da un esperimento precedente, utilizzare il filtraggio temporale per leggere i dati più vecchi dal canale. Imposta l'ora di inizio e di fine con datetime. Quindi leggi 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 terza colonna presentano alcune misurazioni errate che devono essere filtrate prima di essere rappresentate graficamente. Eliminare 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. Per maggiore chiarezza, aggiungi ylabel su ciascun lato 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 terreno misura la conduttività nel terreno, quindi le misurazioni più umide e conduttive presentano valori più bassi sul terreno. Il grafico mostra che le temperature più fredde sono correlate a un terreno più umido.

Visualizza le misurazioni con i dati sulla posizione nella vista canale

Per questo canale, il prototipo invia dati sulla posizione insieme alle misurazioni del sensore. Un'applicazione è quella di esaminare un'area di grandi dimensioni 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 nella vista del tuo 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. Includi i dati sulla temperatura e sull'umidità nella mappa per migliorarne la visualizzazione. Quando il dispositivo di misurazione viene spostato da una posizione all'altra, può effettuare una misurazione dell'umidità imprecisa prima che la sonda venga riposizionata 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 renderli visibili. Aggiungere i dati sull'umidità alla funzione goescatter per determinare la dimensione dei cerchi e i dati sulla temperatura per determinarne il colore. Utilizzare 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');

Il sottile effetto delle posizioni più calde di fronte all'edificio porta alla formazione di alcuni cerchi più piccoli che indicano un terreno più asciutto, tranne sulla destra, dove gli irrigatori avevano appena terminato.

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

Seleziona la casella di controllo corrispondente al canale a cui desideri aggiungere la visualizzazione. Per aggiungere visualizzazioni private, seleziona Visualizzazione 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.