主要内容

创建热图覆盖图像

此示例演示如何使用ESP32开发板上的无线网络信号强度测量值创建热图™ 通过将测量值投影到图像或地图上,帮助您可视化数据。您不需要特殊硬件,但需要区域和位置测量值的图像。有关详细信息,请参阅Arduino中使用ESP32的无线网络信号强度.

创建MATLAB®可视化

选择应用程序>MATLAB可视化。然后选择刚出现的然后选择select自定义(无起始代码)点击创造.

收集数据

将X和Y坐标以及信号强度保存在单独的向量中。您可以从ThingSpeak频道读取信号强度数据。代替通道ID,读取API密钥字段号从您的通道适当的值。你可以在你的频道主页的顶部找到你的频道ID。您可以在API密钥频道视图的选项卡。

%如果ThingSpeak频道的数据不可用,则手动输入数据。力量=[-90-90-90-40-20-22.4-45-35-41-44-55-40-75-26];%从ThingSpeak频道读取数据。%取消注释要从ThingSpeak读取的下一行。%强度=thingSpeakRead(通道ID,'ReadKey',READ_API_KEY,'numPoints',15,'fields',FIELD_NUMBER');X=[10505050102343939329237328448225344457477];Y=[1010410410410 293210213213014214127268274200];

将无线信号测量值转换为百分比。

强度百分比=2*(强度+100)/100;

读入图像

存储图像的尺寸。您的图像必须位于web上。

图片=imread('//www.tatmou.com/help/examples/thingspeak/win64/CreateHeatmapOverlayImageTSExample_02.png');[高度、宽度、深度]=尺寸(图片);

创建模型

对现有点进行插值,并用插值结果填充覆盖图像。然后设置覆盖的透明度。

覆盖图像=[];F=散射干扰(Y,X,强度百分比,“线性”);对于i=1:高度-1对于j=1:width-1叠加图像(i,j)=F(i,j);终止终止α=(~isnan(叠加图像))*0.6;

显示图像和颜色栏

最后,使用颜色栏显示图像。将颜色限制设置为相对于数据值。将AlphaData设置为先前创建的透明度矩阵。

等一下在…上叠加图像=imshow(叠加图像);caxis汽车彩色贴图(叠加图像父级、jet);颜色条(覆盖图像父级);设置(覆盖图像,“字母数据”,α);

最终结果分别以红色和蓝色指示信号强度最高和最低的区域。

另见

||||