Comments: Sending Sensor Data Over WiFi
Looking for answers to technical questions?
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
If you've found an issue with this tutorial content, please send us your feedback!
Just as a "heads up", if you try to compare the pressure measured with that reported by, say, the National Weather Service, you'll probably see a lower reading on yours than on theirs. That's because they normally adjust their readings for altitude, and unless you happen to be within a hundred or so feet of mean sea level, the difference can be substantial.
For my sensors, I've implemented Babinet's Formula to correct for this -- see this for details. (It also requires the "mean temperature", but I just use the current temperature value.)
If you wish to have multiple "transmitters" and/or multiple "receivers", I would suggest investigating something called "MQTT" as a data protocol. At least, that's what I use, with the "broker" running on a Raspberry Pi.
I was unable to get this to work until I found a fix at
https://github.com/espressif/arduino-esp32/issues/6029
The "register peer" part of the transmitter code needs an addition line:
// Register peer esp_now_peer_info_t peerInfo;
memset(&peerInfo.peer_addr, 0, sizeof(peerInfo)); // <--- This line needs to be added
memcpy(peerInfo.peer_addr, broadcastAddress, 6);
peerInfo.channel = 0;
peerInfo.encrypt = false;
Not sure if I missed this somewhere, but the code to find the MAC address returns an error
class wificlass has no member named mode
It worked when I removed the #include <WiFi.h> and instead included the ESP8266WifFi library.
Perhaps there's something here telling us that and I just missed it, but I had to dig around a while to figure it out. Hope this helps.