Contenuto principale

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

thingSpeakWrite

Scrivi i dati sul canale ThingSpeak

Descrizione

thingSpeakWrite(channelID,data,'WriteKey','channel write API key') scrive i dati sul canale specificato. La chiave API di scrittura è specificata come una coppia separata da virgole composta da 'WriteKey' e un vettore di caratteri o una stringa che rappresenta la chiave di scrittura del canale.

esempio

thingSpeakWrite(___,Name,Value) utilizza opzioni aggiuntive specificate da uno o più argomenti di coppia Name,Value.

esempio

response = thingSpeakWrite(___) restituisce la risposta fornita dal server ThingSpeak™ al completamento riuscito dell'operazione di scrittura.

Nota

Se stai scrivendo una tabella di dati utilizzando thingSpeakWrite e hai un React associato a questo canale, il tuo React viene attivato solo una volta quando Condition Type corrisponde a Condition, anche se Condition corrisponde più di una volta.

esempio

Esempi

comprimi tutto

Scrivere un singolo valore numerico nel Campo 1 di un canale.

thingSpeakWrite(17504,2.3,'WriteKey','23ZLGOBBU9TWHG2H')

Scrivere valori numerici nei primi quattro campi consecutivi [1,2,3,4] di un canale.

response = thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','23ZLGOBBU9TWHG2H')

Scrivere dati non numerici nei primi tre campi consecutivi [1,2,3] di un canale.

thingSpeakWrite(17504,{2.3,'on','good'},'WriteKey','23ZLGOBBU9TWHG2H')

Scrive valori misti nei campi non consecutivi [1,4,6] di un canale.

thingSpeakWrite(17504,'Fields',[1,4,6],'Values',{2.3,'on','good'},'WriteKey','23ZLGOBBU9TWHG2H')

Aggiorna tre campi e scrivi i dati di latitudine, longitudine e altitudine per la voce.

thingSpeakWrite(17504,[1.1,2.3,4],'Location',[-40,23,35],'WriteKey','23ZLGOBBU9TWHG2H')

Scrivere dati di latitudine, longitudine e altitudine su un canale senza aggiungere valori ai campi.

thingSpeakWrite(17504,'Location',[-40,23,3500],'WriteKey','23ZLGOBBU9TWHG2H')

Scrivere un timestamp per il valore che viene scritto su un canale. Il timestamp fornito viene interpretato come ora locale.

tStamp = datetime('now')
thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','23ZLGOBBU9TWHG2H','TimeStamp',tStamp)

Scrivere una matrice di dati nei primi tre campi di un canale. I timestamp forniti vengono interpretati come ora locale.

% Generate Random Data
data = randi(10,10,3);

% Generate timestamps for the data
tStamps = datetime('now')-minutes(9):minutes(1):datetime('now');

channelID = 17504; % Change to your Channel ID
writeKey = '23ZLGOBBU9TWHG2H'; % Change to your Write API Key

% Write 10 values to each field of your channel along with timestamps
thingSpeakWrite(channelID,data,'TimeStamp',tStamps,'WriteKey',writeKey)

Scrivere una tabella dei dati nei primi due campi di un canale. I timestamp forniti vengono interpretati come ora locale.

% Generate random data
dataField1 = randi(10,10,1);
dataField2 = randi(10,10,1);

% Generate timestamps for the data
tStamps = [datetime('now')-minutes(9):minutes(1):datetime('now')]';

% Create timetable
dataTable = timetable(tStamps,dataField1,dataField2);
channelID = 17504; % Change to your channel ID
writeKey  = '23ZLGOBBU9TWHG2H'; % Change to your Write API Key

% Write 10 values to each field of your channel along with timestamps
thingSpeakWrite(channelID,dataTable,'WriteKey',writeKey)

Argomenti di input

comprimi tutto

Numero identificativo del canale, specificato come numero intero positivo.

Dati da scrivere sul canale, specificati come uno scalare numerico o un vettore numerico, un array di celle, una stringa di array di celle, una tabella o un orario. Se si specificano dati scalari, il valore viene scritto nel primo campo del canale (Campo 1). Per un vettore o un array di celle 1-D, i dati vengono scritti in campi consecutivi a partire dal Campo 1.

Esempio thingSpeakWrite(17504,{2,3,'on','good'},'WriteKey','channel write api key');

Chiave API di scrittura del canale, specificata come coppia separata da virgole composta da 'WriteKey' e un vettore di caratteri che rappresenta la chiave API di scrittura del canale. La chiave API di scrittura è necessaria per scrivere dati in un canale. Puoi trovare la chiave API di scrittura per un canale nella scheda Chiavi API della vista del canale ThingSpeak. Salva il tuo canale. Scrivi la chiave API in una variabile per comodità.

Esempio thingSpeakRead(12397,'WriteKey','XXXXXXXXXXXXXXXX');

Argomenti nome-valore

comprimi tutto

Specificare coppie facoltative di argomenti come Name1=Value1,...,NameN=ValueN, dove Name è il nome dell'argomento e Value è il valore corrispondente. Gli argomenti nome-valore devono comparire dopo gli altri argomenti, ma l'ordine delle coppie non ha importanza.

Prima di R2021a, utilizzare le virgole per separare ogni nome e valore e racchiudere Name tra virgolette.

Esempio thingSpeakWrite(17504,[1.1,2.2],'Fields',[1,2,3],'WriteKey','channel write api key');

ID dei campi canale, specificati come coppia separata da virgole composta da 'Fields' e un valore intero positivo 1 per n.

Esempio thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'Fields',[1,2,3,4],'WriteKey','channel write api key');

Valori dei dati, specificati come una coppia separata da virgole composta da 'Values' e valori numerici scalari, vettori numerici, una matrice di celle, una stringa di matrici di celle, valori di tabella o di orario. Specificare i dati da scrivere nei campi del canale specificati dal parametro 'Fields'.

Esempio thingSpeakWrite(17504,'Fields',[1,3,4],'Values',[1,2,3],'WriteKey','channel write api key');

Informazioni sulla posizione dei dati nel canale, specificate come coppia separata da virgole composta da 'Location' e array numerico. Le informazioni sulla posizione includono latitudine, longitudine e altitudine. In questo esempio vengono scritte le stesse informazioni sulla posizione per ciascuno dei tre punti forniti nel campo 1.

Esempio thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'Location',[-40,23,200],'WriteKey',' write api key');

Periodo di timeout della connessione al server, specificato come coppia di caratteri separati da virgole composta da 'TimeOut' e un valore numerico. Il periodo di timeout è il numero di secondi consentiti a thingSpeakRead per connettersi al server prima che la richiesta venga terminata.

Esempio thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','write API key','Timeout',15);

Timestamp dei valori dei dati scritti nei campi nel canale di scrittura, specificato come coppia separata da virgole composta da 'Timestamp' e un valore. Il valore deve essere un valore MATLAB® datetime. Tutti i timestamp devono essere univoci. Se invii timestamp duplicati, tutti gli aggiornamenti verranno rifiutati, altrimenti verranno rifiutati solo gli aggiornamenti con timestamp già presenti nel canale.

Nota

Non specificare 'Timestamp' se hai specificato 'Values' come orario.

Esempio thingSpeakWrite(17504,[2.3,1.2,3.2,0.1],'WriteKey','channel write api key','Timestamp',[datetime('2/6/2018 9:27:12','format','MM/dd/uuuu HH:mm:ss')]);

Tipi di dati: datetime

Argomenti di output

comprimi tutto

Risposta del canale all'operazione di scrittura, restituita come una struttura con campi nell'ordine mostrato nella tabella. I campi della struttura indicano i valori scritti nei campi del canale:

CampoDescrizione
FieldX

Dati FieldX per l'inserimento, fino a otto campi

Latitude

Latitudine per l'operazione di scrittura

Longitude

Longitudine per l'operazione di scrittura

Channel ID

Numero di identificazione del canale

Created

Datetime dell'operazione di scrittura e dell'immissione del feed

Last EntryID

ID di ingresso per l'aggiornamento del canale più recente

Created

Datetime della data di creazione del canale

Updated

Datetime dell'ultima modifica delle impostazioni dei canali

Last EntryID

ID di ingresso per l'aggiornamento del canale più recente

Altitude

Elevazione per l'operazione di scrittura

Limitazioni

  • Tutti i timestamp devono essere univoci. Non è possibile scrivere nuovi dati con timestamp che corrispondono ai dati esistenti nel canale.

  • La frequenza di aggiornamento consentita per un canale è limitata in base al tipo di licenza. Per informazioni specifiche, consultare le Domande frequenti e Come acquistare. Gli aggiornamenti con più voci, ad esempio in una tabella o in un orario, sono limitati alla frequenza di aggiornamento più lenta. Per gli utenti di account gratuiti, il numero di messaggi in una singola chiamata a thingSpeakWrite è limitato a 960 messaggi. Per gli utenti con account a pagamento, il limite è di 14.400 messaggi. I tentativi di pubblicazione a una velocità superiore al limite consentito restituiranno il seguente errore: Le richieste sono troppo frequenti. Per ulteriori informazioni, vedere Limitazioni nella documentazione.

Ulteriori informazioni

comprimi tutto

Cronologia versioni

Introdotto in R2019a

Vedi anche

Funzioni