主要内容

读取ThingSpeak数据和预测电池放电时间和线性

这个例子展示了如何读取电池数据从ThingSpeak™通道和分析数据,以确定剩下的电池寿命。用一个线性适合预测电池将失败的日期,然后把剩余时间在天另一个ThingSpeak通道。你读数据12 V电池连接到一个微处理器报告其电压ThingSpeak每半个小时。然后用回归预测电池时的日期和时间将会失败。

从ThingSpeak读取数据通道

首先将通道和日期信息存储在变量,然后使用thingSpeakRead读取数据。频道592680年显示了比例测量的电压12 V电池。使用DateRange名称-值对使用特定选择的数据。

batteryChannelID = 592680;startDate可以= datetime (2018年10月20日的);endDate = datetime (2018年10月23日的);batteryData = thingSpeakRead (batteryChannelID,“DateRange”(startDate可以endDate),“Outputformat”,“时间表”);

转换的数据拟合和阴谋

通道存储原始数据从设备。将模拟-数字转换器(ADC)测量电压使用实验确定转换因子14.6324。然后使用散射生成一个阴谋。

myVoltage = 14.6324 * batteryData.Voltage;散射(batteryData.Timestamps myVoltage,“b”);ylabel (“电压(V)”);持有

合适的数据

时间表datetime格式是用于阅读和绘制。以适应数据,datetime数值格式的需要。使用datenum时间戳转换为天数,并减去起始数量保持低的值。使用polyfit对数据进行线性回归polyval评估现有的适合时间值。适合行添加到前面的情节。

battTimes = datenum (batteryData.Timestamps);battTimes = battTimes-battTimes (1);myFit = polyfit (battTimes myVoltage 1);fitLine = polyval (myFit battTimes);情节(batteryData.Timestamps fitLine,“r——”);

预测放电时间

电池不应该排放低于10.4 V。发现的天数,直到符合线相交电压。

10.4 -myfit endDays = ((2)) / myFit (1)
endDays = 13.1573

有超过13天,直到电池死了。

编写预测ThingSpeak

thingSpeakWrite函数将结果写入一个ThingSpeak通道。返回的输出thingSpeakWrite以确保一个成功的写操作。改变writeChannelIDwriteAPIKey写信给自己的频道。

writeChannelID = 17504;writeAPIKey =“23 zlgobbu9twhg2h”;结果= thingSpeakWrite (writeChannelID、圆(endDays, 4)、“WriteKey”writeAPIKey)
结果=结构体字段:Field1:‘13.1573’Field2: [] Field3: [] Field4: [] Field5: [] Field6: [] Field7: [] Field8:纬度:[][]经度:[]ChannelID: 17504年创建:03 - 2019年6月——15:24:43 LastEntryID: 50018高度:[]

结果表明成功的写操作和报告编写的数据。

另请参阅

(MATLAB)|(MATLAB)|(MATLAB)|(MATLAB)|(MATLAB)|(MATLAB)|(MATLAB)