Results for
Hi, I'm losing comms with thingspeak after exactly one hour. I'm on the free plan while I evaluate TS.
I am sending data once a minute. It works fine for one hour, and I get 200-OK responses. After exactly 1 hour, the response from TS is a 404-not found. I do a new DNS lookup, and get a new IP address for TS. Still no response. I do more DNS lookups, and get another different IP address. It cycles through 3 different IP addresses, but noe of them work one hour after bootup on my device.
I'm running an Arduino Nano with an Ethercard and the JNH library. I can still ping the arduino, serve webpages and ping a monitored device, and get NTP time, all in a 1 minute loop, so I doubt the TCP/IP stack has crashed.
after I restart the device, it works again for exactly one hour, and the I lose comms with Thingspeak again.
Any help would be appreciated!
Thanks,
Adrian
In my struggle to get my SIM7600 connected to thingspeak using MQTT, i went to the basics: simple testing of my connection:
I use this site : https://testclient-cloud.mqtt.cool
Protocol :tcp
Host : mqtt3.thingspeak.com
Port : 1883
Username : got it from my device (double checked !)
Password : got it from my device (double checked !)
When i try to connect I get the message Connection refused : bad user name or password.
I am completely lost. What basic stupi mistake am i missing. I thoroughly read the MQTT help pages.
Any help is appreciated.
Update :
When i select Dedicated connection and i also fill in the will message and will topic, i am able to update my channel. At least some progress.
Would it be a good thing to have implicit expansion enabled for cat(), horzcat(), vertcat()? There are often situations where I would like to be able to do things like this:
x=[10;20;30;40];
y=[11;12;13;14];
z=cat(3, 0,1,2);
C=[x,y,z]
with the result,
C(:,:,1) =
10 11 0
20 12 0
30 13 0
40 14 0
C(:,:,2) =
10 11 1
20 12 1
30 13 1
40 14 1
C(:,:,3) =
10 11 2
20 12 2
30 13 2
40 14 2
my Channel ID 2305210 and Channel ID 2300906 are not working properly. Pl.Guide me
Hi there,
I hope someone can help me on this.
I have written a code to connect my SIM7600 to Thingspeak using MQTT. It is basically an aruidino code. All instructions are echo's with an OK message so assume those instrictions are correct. However, the final step, publishing the message to the MQTT server return an error : CMQTTCONNLOST : 0,1.
Any idea which instructions might be wron?
I included the commands send.
10:09:09.031 -> AT+CMQTTPUB=0,0,60,0,0
10:09:09.031 -> +CMQTTPUB: 0,0
10:09:09.031 ->
10:09:09.031 -> OK
10:09:09.031 ->
10:09:09.031 -> +CMQTTCONNLOST: 0,1
The program :
SerialAT.begin(115200, SERIAL_8N1, RXD2, TXD2);
delay(1000);
SerialAT.println("AT+CRESET"); // Reset the SIM7600 module
Read_Response(30000);
SerialAT.println("AT+IPR=115200"); // Set Baudrate of the SIM7600 module
Read_Response(30000);
SerialAT.println("AT+CSQ"); // Check signal level
Read_Response(10000);
SerialAT.println("AT+COPS?"); // Query network information
Read_Response(10000);
SerialAT.println("AT+CMQTTSTOP"); //Stop MQTT service
Read_Response(10000);
SerialAT.println("AT+CMQTTSTART"); //Start MQTT service
Read_Response(10000);
SerialAT.println("AT+CSSLCFG=\"sslversion\",0,3"); //Configure SSL contect ssl_ctxindex,sslversion <0,TLS1.2>
Read_Response(10000);
SerialAT.println("AT+CSSLCFG=\"authmode\",0,0"); //Establishing MQTT Connection <ssl_ctx_index,authmode<0,no autentification>
Read_Response(10000);
SerialAT.println("AT+CMQTTACCQ=0,\"Username\",0,4"); // Acquire a client <client_index,client_ID>
Read_Response(10000);
SerialAT.println("AT+CMQTTSSLCFG=0,0"); // Set the SSL context <session_id,ssl_ctx_index> ssl_ctx_index check AT+CSSLCFG command
Read_Response(10000);
SerialAT.println("AT+CMQTTCONNECT=0,\"tcp://mqtt3.thingspeak.com:1883\",90,1,\"Username\",\"password\""); //Connect to MQTT server <client_index,server_addr,keep_alive time,clean_session,username,password>
Read_Response_Ignore_OK(3000);
String payload="\"channels/"+ String(ChannelId)+"/publish\"";
int Payload_Length;
Payload_Length=payload.length();
SerialAT.println("AT+CMQTTTOPIC=0,"+String(Payload_Length)); // Input the publish message topic <client_index,req_length>
SerialAT.println(payload);
Read_Response_Ignore_OK(3000);
payload="field1=12&field2=13&status=MQTTPUBLISH";
Payload_Length=payload.length();
SerialAT.println("AT+CMQTTPAYLOAD=0,"+String(Payload_Length)); // input the publish message body <client_index,req_length>
SerialAT.println(payload);
Read_Response_Ignore_OK(1000);
SerialAT.println("AT+CMQTTPUB=0,0,60,0,0"); // Publish a message to the server <client_id,qos,pub_timeout,retained>
Read_Response_Ignore_OK(1000);
Serial.print(Receive_buffer);
Serial.println("And we are done");
In the past year, we've witnessed an exponential growth of ChatGPT and other Generative AI tools. AI has quickly become a transformative force across industries, from tech giants to small startups, and even community sites like ours. For instance, Stack Overflow announced its plan to leverage AI tools to draft a question or tag content; Quora built a ChatGPT bot to answer questions; and GitHub is piloting the AI tool for personalized content.

This trend in the community landscape makes me wonder what MATLAB Central community, especially in MATLAB Answers, can do to integrate AI and enhance the community.
Share with us your ideas in the comment session. Ideally one comment per idea, so that others can vote on a secific idea or have deeper discussions about it.
We launched the Discussions area with 6 channels, based on the existing types of content we see today in the MATLAB Central community.
I'm curious which channels you are most interested in participating, or which channels are missing.
Tell us your thoughts here!
Calling all students! New to MATLAB or need helpful resources? Check out our MATLAB GitHub for Students repository! Find MATLAB examples, videos, cheat sheets, and more!

Visit the repository here: MATLAB GitHub for Students
Imagine x is a large vector and you want the smallest 10 elements. How might you do it?

I wanted to write to my public channel 2278931 with 8 different values to 8 different gauge widgets.
Here is my link.
https://api.thingspeak.com/update.json?api_key=xxxxxxxxxxxxxxxx&field1=1&field2=2&field3=3&field4=4&field5=5&field6=6&field7=7&field8=8
You can change values and in the link to change gauge values. On edit I edited my write key to make it not work for others but it will work with your own key.
Up until a few weeks ago, there was a "channels shared with me" option in Thingspeak. I was able to access the channel created by a different user, only once. The next time me and my groupmate tried to open the channel, there wasn't a "channels shared with me" option anymore. Why is that and how can this be resolved?
Thats the task:
Given a square cell array:
x = {'01', '56'; '234', '789'};
return a single character array:
y = '0123456789'
I wrote a code that passes Test 1 and 2 and one that passes Test 3 but I'm searching a condition so that the code for Test 3 runs when the cell array only contains letters and the one for Test 1 and 2 in every other case. Can somebody help me?
This is my code:
y = []
[a,b]=size(x)
%%TEST 3
delimiter=zeros(1,a)
delimiter(end)=1
delimiter=repmat(delimiter,1,b)
delimiter(end)=''
delimiter=string(delimiter)
y=[]
for i=1:a*b
y = string([y x(i)])
end
y=join(y,delimiter)
y=erase(y,'0')
y=regexprep(y,'1',' ')
%%TEST 1+2
for i=1:a*b
y = string([y x(i)])
y=join(y)
end
y=erase(y,' ' )
Is there any problem from thingspeak side, from last month my data is not uploading
That's the question: Given four different positive numbers, a, b, c and d, provided in increasing order: a < b < c < d, find if any three of them comprise sides of a right-angled triangle. Return true if they do, otherwise return false .
I wrote this code but it doesn't pass test 7. I don't really understand why it isn't working. Can somebody help me?
function flag = isTherePythagoreanTriple(a, b, c, d)
a2=a^2
b2=b^2
c2=c^2
d2=d^2
format shortG
if a2+b2==c2
flag=true
else if a2+b2==d2
flag=true
else if a2+c2==d2
flag=true
else if c2+b2==d2
flag=true
else flag=false
end
end
end
end
end
Currently, I am trying to setup MATLAB and Simulink to connect with Unity. But I have some questions about the installation of ROS on my computer and ROS Toolbox. I found that there are several ROS installations, so, could you please kindly help and support? Hoping that your support will help a lot to my master's thesis.
i want make web site for pre registation to the vachile in thish project i can not thinke how to register in port and how to make .....????
i want make uniqe project
That's the question:
The file cars.mat contains a table named cars with variables Model, MPG, Horsepower, Weight, and Acceleration for several classic cars.
Load the MAT-file. Given an integer N, calculate the output variable mpg.
Output mpg should contain the MPG of the top N lightest cars (by Weight) in a column vector.
I wrote this code and the resulting column vector has the right values but it doesn't pass the tests. What's wrong?
function mpg = sort_cars(N)
load cars.mat
sorted=sortrows(cars,4)
mpg = sorted(1:N,2)
end
Hi! Actually I'm trying to store data from 5 sensors on the ThingSpeak cloud. I was able to do it 2-3 days back, but right now I'm trying to do the same for last 2-3 hours and it's just not happening. There's nothing wrong with the code because it's getting compiled properly. I'm using
ThingSpeak.writeFields(2261556,"xxxxxxxxxxxxxxxx");
I tried printing its value after storing in a temporary variable........The value comes out to be -301. Is there any fix for this? I need it urgently for a project.
I hope to receive some help soon. Thanks!
% Sample data from channels
channel1Data = 2226948; % Your data for channel 1
% Threshold values for each alert level
threshold1 = 100;
threshold2 = 200;
threshold3 = 300;
% Initialize alert level to 0 (no alert)
alertLevel = 0;
% Check thresholds and determine alert level
if channel1Data >= threshold1 && channel1Data <= threshold2
alertLevel = 1; % Yellow Alert
elseif channel1Data >= threshold2 && channel1Data <= threshold3
alertLevel = 2; % Orange Alert
elseif channel1Data >= threshold3
alertLevel = 3; % Red Alert
end
% Define alert message based on alert level
if alertLevel == 1
alertMessage = 'Threshold exceeded for channel 1!';
elseif alertLevel == 2
alertMessage = 'Threshold exceeded for channel 2!';
elseif alertLevel == 3
alertMessage = 'Threshold exceeded for channel 3!';
else
alertMessage = 'No alert for channel 1.';
end
% Call SMS integration function with the alert message
sendMessage('+639319217695', alertMessage);
function sendMessage(number, message)
% Replace with your SMS service API endpoint and API key
apiUrl = 'https://api.semaphore.co/api/v4/messages';
apiKey = '-----';
% Compose the message payload
payload = struct('apikey', apiKey, 'number', number, 'message', message);
try
% Send the SMS using the SMS service API
response = webwrite(apiUrl, payload);
% Process the response as needed
disp('SMS sent successfully');
catch
disp('Error sending SMS');
end
end