Ray Berkelmans in MATLAB Answers
上次活动时间: 2025-5-12

I am trying to calculate the daily median across a range of channels and write the result to a new field for each channel. The code seems to run sometimes, but runs into rate limitation other times. I'm not sure why since I am only writing once and to different channels? Error using Median calcs (line 39) Requests are too frequent. For further information, see Limitations in the documentation. My code is: % Sensor/channel configuration sensors = [ struct('name', 'McKinley','channelID', 28xxxx, 'writeKey', 'G3WPJ586M55Gxxxx') struct('name', 'DPI', 'channelID', 80xxxx, 'writeKey', 'S0E0LB45GQLMxxxx') struct('name', 'Bryony','channelID', 29xxxx, 'writeKey', '2BPCI0IOAINPxxxx') ]; % Define date range (last 24 hours to midnight) endTime = dateshift(datetime('now'), 'start', 'day'); startTime = endTime - hours(24); % Preallocate a results array results = []; % Step 1: Read and calculate all medians for i = 1:length(sensors) s = sensors(i); % Read Field 1 for the past 24 hours [weight, ~] = thingSpeakRead(s.channelID, 'DateRange', [startTime, endTime], 'Fields', 1); % Compute median, ignoring NaNs medianWeight = round(median(weight, 'omitnan'),2); % Store in results results(i).name = s.name; results(i).channelID = s.channelID; results(i).writeKey = s.writeKey; results(i).value = medianWeight; end % Step 2: Display results for i = 1:length(results) r = results(i); fprintf('%s (Channel %d) → 24hr Median: %.2f\n', r.name, r.channelID, r.value); end % Step 3: Write results thingSpeakWrite(results(1).channelID, 'Fields', 6, 'Values', {results(1).value}, 'WriteKey', results(1).writeKey); thingSpeakWrite(results(2).channelID, 'Fields', 6, 'Values', {results(2).value}, 'WriteKey', results(2).writeKey); thingSpeakWrite(results(3).channelID, 'Fields', 6, 'Values', {results(3).value}, 'WriteKey', results(3).writeKey);

关于 ThingSpeak

The community for students, researchers, and engineers looking to use MATLAB, Simulink, and ThingSpeak for Internet of Things applications. You can find the latest ThingSpeak news, tutorials to jump-start your next IoT project, and a forum to engage in a discussion on your latest cloud-based project. You can see answers to problems other users have solved and share how you solved a problem.