Crea immagine di sovrapposizione della mappa termica
Questo esempio mostra come creare una mappa termica utilizzando le misurazioni della potenza del segnale della rete wireless da una scheda di sviluppo ESP32.
ThingSpeak ™ ti aiuta a visualizzare i tuoi dati proiettando le misurazioni su un'immagine o una mappa. Non è necessario un hardware speciale, ma è necessaria un'immagine dell'area e delle misurazioni della posizione. Per ulteriori informazioni, vedere Potenza del segnale di rete wireless con ESP32 in Arduino.
Crea una visualizzazione MATLAB ®
Seleziona App > MATLAB Visualizzazioni. Quindi seleziona Nuovo e seleziona Personalizzato (nessun codice iniziale) e fai clic su Crea.

Raccogli dati
Salvare le coordinate X e Y e l'intensità del segnale in vettori separati. È possibile leggere i dati relativi alla potenza del segnale da un canale ThingSpeak. Sostituisci CHANNEL_ID, READ_API_KEY e FIELD_NUMBER con i valori appropriati del tuo canale. Puoi trovare l'ID del tuo canale nella parte superiore della pagina principale del tuo canale. Puoi trovare la chiave API nella scheda Chiavi API della visualizzazione del tuo canale.
% Enter data by hand if data from a ThingSpeak channel is not available. strength = [-90 -90 -90 -90 -40 -20 -22.4 -45 -35 -41 -44 -55 -40 -75 -26]'; % Read data from a ThingSpeak channel. % Uncomment the next line to read from ThingSpeak. % strength = thingSpeakRead(CHANNEL_ID, ReadKey',READ_API_KEY,'numPoints',15,'fields',FIELD_NUMBER'); X = [10 550 550 10 50 234 393 129 237 328 448 225 344 457 477]'; Y = [10 10 410 410 293 210 202 132 130 142 141 272 268 274 200]';
Convertire le misurazioni del segnale wireless in percentuali.
strengthPercent = 2*(strength+100)/100;
Leggi nell'immagine
Memorizza le dimensioni dell'immagine. La tua immagine deve essere ospitata sul web.
[I,m] = imread('https://www.mathworks.com/help/examples/thingspeak/win64/CreateHeatmapOverlayImageTSExample_02.png','png'); picture=ind2rgb(I,m); [height,width,depth] = size(picture);

Crea un modello
Interpolare i punti esistenti e riempire l'immagine sovrapposta con i risultati interpolati. Quindi imposta la trasparenza per la sovrapposizione.
OverlayImage=[]; F = scatteredInterpolant(Y, X, strengthPercent,'linear'); for i = 1:height-1 for j = 1:width-1 OverlayImage(i,j) = F(i,j); end end alpha = (~isnan(OverlayImage))*0.4;
Mostra l'immagine e la barra dei colori
Infine, mostra l'immagine con la barra colorata. Impostare i limiti dei colori in modo che siano relativi ai valori dei dati. Imposta AlphaData come matrice di trasparenza creata in precedenza.
imshow(picture,m); hold on h = imshow(OverlayImage); colormap(h.Parent, jet); colorbar(h.Parent); set(h,'AlphaData',alpha);

Il risultato finale indica le aree in cui la potenza del segnale è più alta e più bassa, rispettivamente in rosso e blu.
Vedi anche
Applicazione di analisi MATLAB | MATLAB App di visualizzazione | Intensità del segnale di rete wireless con ESP32 con Arduino IDE | Write Data | thingSpeakRead