主要内容

搜索

Hi, I am currently doing a parking system that able to show red colour when the parking space is filled and change to green colour when the parking space is empty. I am using Matlab visualizations because I need the same indicator to show both two colours.
I am currently facing a problem to let the visualization change colour according to my input. Figure below show the visualization and the chart. I want the visualization able to change between green and red colour with 1 and 0 value from the chart. May I know how could I done this? Thank you.
The code for the visualization are shown below:
radius = 6;
centerX = 30;
centerY = 40;
myColor=[1 0 0];
rectangle('Position',[centerX - radius, centerY - radius, radius*2, radius*2],...
'Curvature',[1,1],'FaceColor',myColor);
axis square;
axis off;
Join us for three lightening talks about awesome MATLAB projects built by our community. Each talk will be 5-10 minutes and allow everyone a chance to ask questions.
  1. antonio - Using "uihtml" to create custom app components
  2. Balrog - Creating generative art with Matlab
  3. xxtankmasterx - Using Matlab on the Steam Deck for mobile processing and data collection
Where: MATLAB Discord Server (Online)
Contact me if you have a talk for our next event!
Hello,
i want to implement a Energy Storage System with a Battery and a Supercapacitor, where the Supercapacitor comes in when the Battery has a short circuit for an emergency system. How can i implement something like this ? I think the right way is to implement a function where a switch is controlled by the SOC of the two storage systems or ?
Currently the lamp indicator in my channel can only respond to one condition. How to let the lamp indicator respond to multiple conditions for example the lamp shows red colour when condition is 1 and the same lamp shows green colour when condition is 0?
Hi, I am currently studying the effects of varying switching frequency towards the inverter and motor system efficiency. I am using the three-phase converter which the gate signal is sent by a PWM generator. Inside the PWM generator block, there is switching frequency parameter. Therefore, is it possible if I can tune the value of switching frequency by making it as input and receving the signal in Matlab Simulink similar with Vabc and Vdc instead of tuning from Matlab code?
Hope to receive any comment or suggestion. Thank you.
Hello,
I want to fetch Data from the openweather API.
I want to fetch the value "day" from the API for every hour (Time Control)
But there is a Problem with indexing. I tried also "{ }" but there is also the same Error:
Dot indexing is not supported for variables of this type. Error in Wettervorhersage von openweather (line 10) temperature_Morgen = temperature.temp.day;
Does anyone have a good solution for indexing?
Code
api_url = 'https://api.openweathermap.org/data/2.5/onecall?lat=XXXX&lon=XXXXX&exclude=alerts&appid=XXXXXXXXXXXXXXX&lang=de&units=metric';
options = weboptions('ContentType','json');
%% Daten von der API abrufen
weather_data = webread(api_url,options);
% Werte für die Felder des ThingSpeak-Channels auswählen
temperature = weather_data.daily(1);
temperature_Morgen = temperature.temp.day;
humidity = weather_data.daily(1);
humidity_Morgen = humidity.humidity;
uvindex = weather_data.daily(1);
uvindex_Morgen = uvindex.uvi;
%Dieser Code berechnet die Summe von drei möglicherweise vorhandenen Regenwerten, die im Abschnitt daily{1}, daily{2} und daily{3} eines Wetterdaten-Structs enthalten sein können.
%Jeder Regenwert wird durch Überprüfung der Existenz des Felds 'rain' im jeweiligen Abschnitt geprüft. Wenn das Feld existiert, wird der Regenwert gespeichert. Andernfalls wird ein Nullwert verwendet.
%Die gespeicherten Regenwerte werden schließlich addiert und in der Variable "rain" gespeichert.
rain = 0;
for i = 1:3
if isfield(weather_data.daily(i),'rain')
rain_Next = weather_data.daily(i);
rain_Next = rain_Next.rain;
rain = rain + rain_Next;
end
end
% Daten an ThingSpeak senden
writeChannelID = XXXXXXXX; % ID des ThingSpeak-Channels
writeAPIKey = 'XXXXXXXXXXX'; % API-Schlüssel des ThingSpeak-Channels
thingSpeakWrite(writeChannelID, [temperature_Morgen, humidity_Morgen, rain, uvindex_Morgen], 'WriteKey', writeAPIKey);
Openweather json
{
{current}
{today}
{daily[{temp{day}}
{temp{day}}
{temp{day}}
{temp{day}}
{temp{day}}
]
}}
Error:
Dot indexing is not supported for variables of this type. Error in Wettervorhersage von openweather (line 10) temperature_Morgen = temperature.temp.day;
forest
forest
上次活动时间: 2024-3-22

i dont send values tu my channel. my log is this
thanks all
Gretings
juan
log.
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:MQTT Publish Case: 1
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:MQTT Publish Parameters
Fri Mar 3 22:37:20 2023 user.notice iot_keep_alive: Internet Access OK: via wlan0-2
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:server[-h]: mqtt3.thingspeak.com
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:port[-p]: 1883
Fri Mar 3 22:37:20 2023 user.notice iot_keep_alive: use WAN or WiFi for internet access now
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:user[-u]: mwa0000029370786
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:pass[-P]: CCHFW9ZV7F0LDW7C
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:pub_qos[-q]: 0
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:cafile[--cafile]:
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:cert[--cert]: /etc/iot/cert/
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:key[--key]: /etc/iot/cert/
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:clientID[-i]: dragino-1fb960
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:remote_id: 2052257
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:pub_topic[-t]: channels/2052257/publish/X7B8RVY2VP7XERPJ
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:decoder: Not Set
Fri Mar 3 22:37:20 2023 user.notice root: [IoT.MQTT]:mqtt_data[-m]: field1=87&status=MQTTPUBLISH
Definitely not
29%
Probably not
15%
Neutral
11%
Yes, somewhat
18%
Yes, definitely
20%
Not sure
6%
4598 个投票
Hello, I am trying to display my Charts in a React Native App but I can't figure out what is the URL that I should use to display it. Any ideas?
Salve, ho appena realizzato la stazione meteo con l'esp8266 ma non riesco a capire come impostare l'ora di roma (it) sul display. Qualcuno può aiutarmi? Grazie.
I want to fit a circle just like the black line drawn in the figure and trying to find its radius. below is the code i am writing but not getting anything significant. kindly help me how to approch this kind of problems
%%---------------------------- matlab code -----------------------------------%%
clear all
clc
% read the image
img = imread('gra.png');
% convert the image to grayscale
img_gray = rgb2gray(img);
% perform edge detection using the Canny algorithm
edge_img = edge(img_gray, 'sobel');
% perform hough transform to detect circles
[centers, radii] = imfindcircles(edge_img, [10 50000],'ObjectPolarity','bright','Sensitivity', 0.95);
% find the largest circle
[max_r, max_i] = max(radii);
max_center = centers(max_i, :);
% plot the results
figure;
imshow(img);
hold on;
viscircles(max_center, max_r, 'EdgeColor', 'b');
Need some guidance on how to model the mutual inductance model from Simscape. The secondary side does not receive the voltage.
Hi,
I'm trying to communicate with my channel ohowever it looks like I'm missing something as my data doesn't appear in the feeds. Below is my code:
#define SW_VERSION " ThinkSpeak.com" // SW version will appears at innitial LCD Display
#define TINY_GSM_MODEM_SIM900
#include <TinyGsmClient.h>
#define SerialAT Serial
TinyGsm modem(SerialAT);
TinyGsmClient client(modem);
/* ESP12-E & Thinkspeak*/
const char apn[] = "xxxxx";
const char user[] = "";
const char pass[] = "";
const char server[] = "api.thingspeak.com";
const int port = 80;
const char* TS_SERVER = "api.thingspeak.com";
String TS_API_KEY ="xxxxx";
int sent = 0;
/* TIMER */
#include <SimpleTimer.h>
SimpleTimer timer;
/* OLED */
#include <ACROBOTIC_SSD1306.h> // library for OLED: SCL ==> D1; SDA ==> D2
#include <SPI.h>
#include <Wire.h>
/* DHT22*/
#include "DHT.h"
#define DHTPIN D3
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
float hum = 0;
float temp = 0;
/* Soil Moister */
#define soilMoisterPin A0
#define soilMoisterVcc D4 //not used. LM393 VCC connect to 3.3V
int soilMoister = 0;
/* DS18B20 Temperature Sensor */
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 14 // DS18B20 on NodeMCU pin D5 corresponds to GPIO 014 on Arduino
float soilTemp;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
void setup()
{
Serial.begin(115200);
delay(10);
Serial.println(".... Starting Setup");
SerialAT.begin(115200);
delay(3000);
// Restart takes quite some time
// To skip it, call init() instead of restart()
Serial.println("Initializing modem...");
modem.init();
pinMode(soilMoisterVcc, OUTPUT);
Serial.begin(115200);
delay(10);
oledStart();
dht.begin();
DS18B20.begin();
timer.setInterval(2000L, getDhtData);
timer.setInterval(7000L, getSoilMoisterData);
timer.setInterval(9000L, getSoilTempData);
timer.setInterval(19000L, sendDataTS);
digitalWrite (soilMoisterVcc, LOW);
}
void loop()
{
displayData();
timer.run(); // Initiates SimpleTimer
}
/***************************************************
* Start OLED
**************************************************/
void oledStart(void)
{
Wire.begin();
oled.init(); // Initialze SSD1306 OLED display
clearOledDisplay();
oled.clearDisplay(); // Clear screen
oled.setTextXY(0,0);
oled.putString(" ");
}
/***************************************************
* Get DHT data
**************************************************/
void getDhtData(void)
{
float tempIni = temp;
float humIni = hum;
temp = dht.readTemperature();
hum = dht.readHumidity();
if (isnan(hum) || isnan(temp)) // Check if any reads failed and exit early (to try again).
{
Serial.println("Failed to read from DHT sensor!");
temp = tempIni;
hum = humIni;
return;
}
}
/***************************************************
* Get Soil Moister Sensor data
**************************************************/
void getSoilMoisterData(void)
{
soilMoister = 0;
digitalWrite (soilMoisterVcc, HIGH);
delay (500);
int N = 3;
for(int i = 0; i < N; i++) // read sensor "N" times and get the average
{
soilMoister += analogRead(soilMoisterPin);
delay(150);
}
digitalWrite (soilMoisterVcc, LOW);
soilMoister = soilMoister/N;
Serial.println(soilMoister);
soilMoister = map(soilMoister, 689, 274, 0, 100);
}
/***************************************************
* Get SoilTemp sensor data
**************************************************/
void getSoilTempData()
{
DS18B20.requestTemperatures();
soilTemp = DS18B20.getTempCByIndex(0);
int newData = ((soilTemp + 0.05) * 10); //fix soilTemp value to 1 decimal place.
soilTemp = (newData / 10.0);
}
/***************************************************
* Display data at Serial Monitora & OLED Display
**************************************************/
void displayData(void)
{
Serial.print(" Temperature: ");
Serial.print(temp);
Serial.print("oC Humidity: ");
Serial.print(hum);
Serial.println("%");
Serial.print("SoilTemp: ");
Serial.print(soilTemp);
Serial.print("oC");
oled.setTextXY(1,0); // Set cursor position, start of line 2
oled.putString("TEMP: " + String(temp) + " oC");
oled.setTextXY(3,0); // Set cursor position, start of line 2
oled.putString("HUM : " + String(hum) + " %");
oled.setTextXY(5,0); // Set cursor position, start of line 2
oled.putString("Tsoil:" + String(soilTemp) + " oC");
oled.setTextXY(7,0); // Set cursor position, start of line 2
oled.putString("Hsoil: " + String(soilMoister) + " %");
}
/***************************************************
* Clear OLED Display
**************************************************/
void clearOledDisplay()
{
oled.setFont(font8x8);
oled.setTextXY(0,0); oled.putString(" ");
oled.setTextXY(1,0); oled.putString(" ");
oled.setTextXY(2,0); oled.putString(" ");
oled.setTextXY(3,0); oled.putString(" ");
oled.setTextXY(4,0); oled.putString(" ");
oled.setTextXY(5,0); oled.putString(" ");
oled.setTextXY(6,0); oled.putString(" ");
oled.setTextXY(7,0); oled.putString(" ");
oled.setTextXY(0,0); oled.putString(" ");
}
/***************************************************
* Sending Data to Thinkspeak Channel
**************************************************/
void sendDataTS(void)
{
if (client.connect(TS_SERVER, 80))
{
String postStr = TS_API_KEY;
postStr += "&field1=";
postStr += String(temp);
postStr += "&field2=";
postStr += String(hum);
postStr += "&field3=";
postStr += String(soilMoister);
postStr += "&field4=";
postStr += String(soilTemp);
postStr += "\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: " + TS_API_KEY + "\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
delay(1000);
}
sent++;
client.stop();
}
First I get this on my serial monitor:
After some time:
And after some more time:
With my limited knowledge on the subject I can't figure it out.
Any help would be appreciated.
Thanks.
Not able to display password by copying to clipboard or by clicking the unhide icon - have tried multiple computers.
Anyone else had this problem with mqtt?
I am sending my sensor readings to thingspeak channel using raspberrry pi board but i dont know how can we send some instruction back to the raspberry pi board to control an LED or Motor or some other things. Can anyone provide some information about this?
Congratulations, @Daniel Vieira for winning the Editor's Pick badge awarded for MATLAB Answers, in recognition of your awesome solution in Why are the results of forward and predict very different in deep learning?
Thank you for providing considered advice about reinforcement learning.
This is a new badge we just introduced to recognize awesome answers people contribute and yours was picked for discovering a creative way to solve the problem, and made the solution clear, and reproducible. Thank you so much for setting a high standard for MATLAB Answers and for your ongoing contribution to the community.
MATLAB Central Team
can't connect using the following setting in MQTT explorer
should i modify thiem or it's a must to use MQTTX
please advice
I note that there is a limit of 12 TimeControls per user. Is that only for free and Home users, or for Commercial users too? If the latter, that will put a dent in my plans. I basically want to calculate daily averages and send customers an SMS once per day with their summary data.
I have this message "You have a React with similar Test Frequency, Action, and Option settings. Delete that React to save this one."
But that's not true. It's another channel, another field that must trigger another matlab analysis...........
Any idea on how to unblock this issue?
Thank you
hi, my tracker using A9G always giving incorrect coordinates 999.00.please help