主要内容

本页采用了机器翻译。点击此处可查看英文原文。

读取波士顿港船舶的实时网络数据

此示例演示如何从网站抓取最新的实时数据并显示它。在示例中,您修改了 MATLAB Analysis 和 MATLAB Visualization App 提供的代码模板之一。该示例使用来自 MarineTraffic 网站的数据,该网站提供有关波士顿港交通的信息。

从模板代码创建 MATLAB Analysis 脚本

要抓取波士顿港船只的网络数据,您可以使用代码模板编写 MATLAB® 脚本。

转至 ThingSpeak 中的 Apps 选项卡,然后选择 MATLAB Analysis。点击 New,选择 Read live web data for vessels at the Port of Boston,然后点击 Create

读取网络数据

MATLAB Code 字段已预先填充代码,用于读取实时网络数据并计算船只数量。

1) 指定访问波士顿港船舶信息的 URL。使用 urlFilter 读取目标字符串后面出现的前两个数字。该函数识别页面源代码中的目标字符串,并返回紧随其后出现的数字。

url = 'https://www.marinetraffic.com/en/ais/details/ports/131/USA_port:BOSTON';
filteredData = urlfilter(url,'Vessels in Port:',2);

2) 显示抓取网站数据的结果。在此示例中,记录并显示了两个元素。

display(filteredData(1),'Vessels in Port');
    89
display(filteredData(2),'Expected Arrivals');
     8

3) 点击 Save and Run 来执行您的代码。Output 字段显示您的结果。

将数据写入通道

1) 通过将结果写入私有通道来存储结果。要创建 ThingSpeak 通道,转至 Channels 选项卡并选择 My Channels。点击 New Channel。选中相应的复选框,并输入这些通道设置值:

  • Name - Vessels at the Port of Boston

  • Field 1 - Vessels in Port

  • Field 2 - Expected Arrivals

点击 Save Channel

2) 在 MATLAB Code 字段中,设置用于写入私有通道的变量。将 writeChannelIDwriteAPIKey 的给定值替换为您的值。您可以在页面右侧的 Channel Info 面板中找到通道 ID 和 API 密钥。

% Replace the [] with ID of the channel to write data to:
writeChannelID = 17504;
% Enter the write API key between the ''.
writeAPIKey = '23ZLGOBBU9TWHG2H';

3) 将船只数据写入您的通道。

thingSpeakWrite(writeChannelID,filteredData,'Writekey',writeAPIKey);

4) 点击 Save and Run 来执行您的代码。您的 ThingSpeak 通道中的每个图都填充了一个代表网站数据中字段的点。您可以通过点击页面右侧 Channel Info 面板中的通道链接来访问您的通道。

5) 几分钟后再次点击 Save and Run,以使用另一个数据点更新您的通道。

另请参阅

函数

主题