Results for
I have a fish feeder project running on an Arduino esp 32, it checks various parameter and feeds according to temperature. Unfortunately it has stopped, it no-longer talks to thingspeak and hence cannot upload data. I believe I have a free licence (according to thingspeak) I was only using 1 channel, hence 4 sufficient at this moment. How can I get it working again, ps feeding starts May!. I have googled and understand notice may have been given. Help please- relatively new to Arduino's and first project to us thingspeak. at the moment wireless communication appears more reliable.
Hola, mi proyecto es con NodeMcu ESP8266, en el puerto serial obtengo datos cada 2 minutos asi esta programado, en la grafica salta datos y algunas veces durante una hora o mas, Qoe podria hacer?
Several major updates have been introduced to Answers’ reputation system! The updates include a new User Levels system, a new Editor indicator, and updated badges series.
1. User Levels
User Levels have become a best practice for many community sites to adopt. They help build trust in the community and provide recognition to contributors. There are 10 levels in the system and the labels will display next to users’ names throughout MATLAB Answers and on your community profile. We hope to see more users climb the ladder and level up!
2. Editor Indicators
Becoming an Editor (upon earning 3,000 points) is a huge milestone in Answers. Therefore, we introduced the Editor indicator to show our appreciation. From the screenshot below, you will notice a user can have both a User Level and an Editor indicator.
3. Updated Badge Series
Based on our analysis of existing badges, we decided to introduce 2 new badges into existing series and retire an entire badge series.
- The Knowledgeable badge series and the Thankful badge series now have 5 levels.
- The Revival badge series has been archived and is no longer being awarded. If you earned one of these badges, it would still show up in your community profile.
You will find more information on Answers help page . If you have any questions, comments or feedback, free feel to leave a comment below.
Cody is a useful tool to practice MATLAB skills not only by solving the problems but also learn from each other’s solutions. Sometimes you see subpar solutions that are cheats and hacks. With the flagging feature we released recently, you can help us identify solutions that administrators, including Community Advisory Board members, can review and delete.
How to flag?
Flag Options - Only available on solutions
I'm monitoring a temp and humidity sensor outside of my house using a ESP32. I have it update every 15 minutes. On my channel I have a chart and numeric readout. The readout shows me that it is updating every 15 minutes but the chart's last update was 2 hours ago. This was working until I went into the properties of the chart and changed the time base from daily to 12 hours. I have tried refreshing the page, signing out and back in as well as reboot the computer, still 2 hours behind. Is there something else I have to do to reestablish the chart?
Thanks John
If you are a student or researcher looking for a project idea, have a look at the MathWorks Excellence in Innovation site. There is at least one IoT-based project for a Smart watering system, and a project with a Digital twin of a pneumatic system. If you ask me, most of the other projects could also be enhanced with an IoT based component shared on ThingSpeak!
#include <Keypad.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> #include <SoftwareSerial.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); SoftwareSerial ESP01(2, 3);
const byte ROWS = 4; // four rows
const byte COLS = 3; // three columns
char keys[ROWS][COLS] = { // keypad labels
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
byte rowPins[ROWS] = {12, 7, 8, 10}; //connect to keypad pins 12, 7, 8, 10
byte colPins[COLS] = {11, 13, 9}; // connect to keypad pins 11, 13, 9 column pinouts
Keypad customKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
#define Password_Length 5 #define DEBUG true #define IP "184.106.153.149"
// define pin numbers int buzzer = 5; // buzzer is connected to pin 5 int PIR = 6; // PIR is connected to pin 6
// intruder alarm password char Data[Password_Length]; char Master[Password_Length] = "1234"; byte data_count = 0, master_count = 0; bool Pass_is_good; char customKey; int val = 0;
// thingspeak & WiFi String apiKey = "xxxxxxxxxxxxxxxx"; // thingspeak API key
void setup() {
lcd.init();
lcd.backlight();
pinMode(buzzer, OUTPUT);
pinMode(PIR, INPUT);
Serial.begin(9600);
while (!Serial){
}
Serial.println("Starting...");
ESP01.begin(9600);
// Reset ESP8266, put it into mode 1 i.e. STA only, make it join hotspot / AP,
// establish single connection
ESP01.println();
sendData("AT+RST\r\n",2000,DEBUG);
sendData("AT+CWMODE=1\r\n",2000,DEBUG);
sendData("AT+CWJAP=\"AiPhone\",\"123889\"\r\n",20000,DEBUG);
sendData("AT+CIPMUX=0\r\n",4000,DEBUG);
// Make TCP connection String cmd = "AT+CIPSTART=\"TCP\",\""; cmd += "184.106.153.149"; // Thingspeak.com's IP address cmd += "\",80\r\n"; sendData(cmd,4000,DEBUG);
// Read PIR sensor value val = digitalRead(PIR); // check if there was a state transition
String val1 = String(val);
if (val == HIGH)
{
Serial.println("Motion detected!");
delay(10);
Serial.println(val1);
}
else
{
Serial.println("Asleep");
delay(10);
//String val1 = String(val);
Serial.println(val1);
}
//String val1 = String(val);
//Serial.println(val1);//Prepare GET string String getStr = "GET /update?api_key="; getStr += apiKey; getStr += "&field1="; getStr += val1; getStr +="\r\n";
// Send data length & GET string
ESP01.print("AT+CIPSEND=");
ESP01.println (getStr.length());
Serial.print("AT+CIPSEND=");
Serial.println(getStr.length());
delay(500);
if(ESP01.find (">"))
{
Serial.print(">");
sendData(getStr, 2000, DEBUG);
}
//Close connection, wait a while before repeating
sendData("AT+CIPCLOSE", 16000, DEBUG); // 15 seconds delay between updates
}
if true
% code
endvoid loop() {
if (digitalRead(PIR) == HIGH)
{
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Enter Password: ");
customKey = customKeypad.getKey();
if (customKey)
{
Data[data_count] = customKey;
lcd.setCursor(data_count, 1);
lcd.print(Data[data_count]);
data_count++;
} if (data_count == Password_Length - 1)
{
lcd.clear(); if (!strcmp(Data, Master))
{
lcd.print("OK");
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
}
else
{
lcd.print("Wrong Password");
digitalWrite(buzzer, HIGH);
delay(1000);
digitalWrite(buzzer, LOW);
} lcd.clear();
clearData();
}
}
else
{
lcd.noBacklight(); // turn backlight off
lcd.clear(); // clear display
delay(250);
}
}String sendData(String command, const int timeout, boolean debug)
{
String response = "";
ESP01.print(command);
long int time = millis();
while( (time+timeout) > millis())
{
while(ESP01.available())
{
// "Construct" response from ESP01 as follows
// - this is to be displayed on Serial Monitor.
char c = ESP01.read(); // read the next character.
response+=c;
}
} if(debug)
{
Serial.print(response);
}return (response); }
void clearData() {
while (data_count != 0)
{
Data[data_count--] = 0;
}
return;
}
I built a safe entry mechanism and i would like the matlab to send an email alert when arduino is not communicating or sending any data to thingspeak. How do i write the program to detect system down and to send email alert?
Hi, I want to send an alert to multiple email ids when a channel event occurs(for example:sensor temperature exceeds a threshold value).How can I do it?Help is highly appreciated. Thanks in Advance!
EL TERMÓMETRO QUEDO CLAVADO EN -127°, LO RESETEE PERO AUN NO FUNCIONA, POSRA SER LA ZONDA Y SI FUESE ASÍ COMO ADQUIRIRLA-
Hello, in the free usage of ThingSpeak, minimum data rate is 15 s. I have received a message that I will run messages in a month, and I would like to reduce the data rate, but I cannot find information of neither which is the current data rate that it's established in my channels, nor how might I modify it. I would like to reduce the rate at which I send data, as I actually do not need this rate to be high, but I cannot figure out how to do it. I am afraid I know little of how to "program" thingspeak, for creating my channels I followed the tutorials on "getting started with Thingspeak", and it worked quite well, but I have no idea which is the data rate that is being used or how to modify it. I will be really greatful if somebody may help me to learn how to do this.
Just getting started with Thingspeak, I'm reading temperature, humidity and pressure from a BME280 connected to a ESP32. I have both a chart and numeric display on my channels, works great.
Can I resize the visualizations to get more on the monitor at a time? Or can I add a numeric readout that will show the last value added to the chart? Both the chart and readout use the same field info. I do see that if I hover my mouse over a point on the chart I get the value but wanted to be displayed.
Thanks for any help John