How can I set up an Arduino-based system that measures wireless signal strength (RSSI) from a transmitter, while also integrating a rain sensor and humidity sensor so that the system can log RSSI values alongside weather conditions (clear, humid, raining) with timestamps, and display the current condition and RSSI in dBm in real time?
Welcome to the forum
Where are you stuck ?
What is your experience of electronics and programming ?
What type of radio system will you be using and have you chosen an Arduino board to use ?
You need to choose a radio module that has a built in RSSI function.
You have asked many questions that are independent from one another and yes, you can do it all at the same time but the solution is of course different for each one. As far as RSSI is concerned you can get it anytime from WiFi instance:
int rssi = WiFi.RSSI ();
I am encountering difficulties in the hardware aspect. I require the hardware to collect RSSI data based on weather fluctuations with a 24-hour power supply. I am considering the Arduino WiFi module, which can capture signal attenuation using a rain sensor and a humidity sensor. My objective is for the module to collect data based on weather variations, enabling me to conduct regression analysis. However, I am experiencing challenges in setting up the hardware. Is there any recommended option available that addresses this issue?
I am seeking a solution to capture the signal attenuation RSSI for a 24-hour period. This would provide me with a continuous stream of readings over the course of a week, enabling me to monitor the signal strength at various distances as I progress with my experiments.
I propose utilizing an Arduino WiFi module, a rain sensor, and a humidity sensor to collect data over a 24-hour period. This combination of sensors will allow me to measure the RSSI based on weather conditions.
I would appreciate any suggestions from the forum regarding the most suitable method for measuring the RSSI.
I think you are referring to Arduino Wifi Module
As others have explained, you need a transceiver or receiver module that reports RSSI from some compatible signal source. When you get around to acquiring the transceiver/receiver module, post the details and describe the signal source. Include links to product pages.
Have you settled on a frequency for this project?
This is how you can continuously sample RSSI, for example with ESP32 that has a built-in WiFi module. This solves only one of your problems.
#include <WiFi.h>
#define SSID "YOUR SSID"
#define PASSWORD "YOUR PASSWORD"
void setup () { Serial.begin (115200);
WiFi.begin (SSID, PASSWORD);
}
void loop () {
static unsigned long lastTime = millis ();
unsigned long thisTime = millis ();
if (thisTime - lastTime >= 1000) { // every 1 second (= every 1000 millis)
Serial.printf ("RSSI: %i dBm\n", WiFi.RSSI ());
lastTime = thisTime;
}
}
WiFi signal strength varies between to fixed stations , with no weather change.
My phone signal varies between 2 and 4 bars while lying on a table.
My Laptop WiFi signal varies between 2 and full bars , both Wifi and Laptop
at fixed positions and no weather change.
I was not.
In your original post that I was commenting on, you gave no indications as to what radio module you were using.
the Tx should sent 2.4GHz
I am using a WiFi router as the transmitter and an Arduino Uno with an ESP8266 module as the receiver to measure RSSI values. My goal is to log RSSI continuously for 24 hours and correlate it with rain and humidity data.
My plan is to use WiFi as the signal source and measure RSSI on an Arduino-based setup. I’m still deciding on which WiFi module to use (ESP8266, ESP32, or similar). Once I acquire the module, I’ll share the exact details of the setup so I can get advice on logging RSSI data continuously and correlating it with rain and humidity measurements. Any suggestion on the hardware that I can get that best fits into my project?
Where do you intend to log the data? Memory? Flash disk? SD card? PSRAM? How much data do you expect to log anyway? What is your sampling frequency?
How will you ensure there will not be interference from neighboring WIFI sources?
Any that you've already mentioned will work.
SD card
The key information is still missing. What is the size of your data? How frequently are you going to sample? Once an hour? Perhaps the flash disk that is already built in ESP32 is quite enough. If not you will have to add a SD card module.