Have E220-Remote_Switch project working; posted to Espressif, ESP32.com, link to project code on Github and a Demo video of E220-Remote-Switch project.
Confused with simple Fixed Transmission, Sender example reults.
Modules configuration was done using Ebyte software application.
First, used the “Normal connections” to program E220 module, then used “Fully connected” to execute sketch. Sending of message from either Sender or Receiver only produces word “Success”; on module sending message. Message does not appear as the sent word “test”; does not appear on either serial monitor.
Both Sender and Receiver crash when trying to exeute sketch with “Normal connections”.
Please explain diffence between the pin connections listed as comments at top of sketch and the pins used in esp32 constructor.
Both Send and Receiver reported wrong configuration values from what was programmed with Ebyte programming software.
Best Regards,
William
This reply was modified 5 months, 1 week ago by William. Reason: Clarifcation of early morning post
// Send message
ResponseStatus rs = e220ttl.sendFixedMessage(0, DESTINATION_ADDL, CHANNEL, &message, sizeof(Message));
// Check If there is some problem of succesfully send
Serial.println(rs.getResponseDescription());
}
Additionally WOR message is transmitted successfully; Receiver does not respond. Checked pullup resistors; all 3.3V opposite of the 3.3V rail, referenced to ground.
M0 = 21, M1 = 19, TXD = 17, RXD = 16, AUX = 15 Vcc = 3.3V, and GND = Ground. Pin connections verifed by continuity tests. Modules programmed by Ebyte, RF software. Receiver ADDL 2, Channel 66, Tran Fixed, WOR period 2000ms, Power 30dbm. Sender same except ADDL 3.
String linkAddress = “xxx.xxx.xxx.xxx:80” is left over and for future addition; once I have WOR working. LinkAddress was for port forwarding and a placeholder on an HTML page. When coding I work just on the local area network; no need for port forwarding.
I have resolved the crashing that I linked to earlier. Issue is being unable to wake ESP32 from deep Sleep.
@Renzo Mischianti
“In fixed transmission you must use as destination address the address set in the config of the device that just receive the message.”
Made multiple changes; crash issue has been resolved.
Have question; is the Receiver destination address the same as the configuration address, or is it the destination addresses of the sender module of the configuration address?
Issue persists where Receiver does not wake up. Have set AUX_PIN as interrupt and enabled ext 0 wakeup and level to 0.
Powering both Sender and Receiver by 5V, 5 Amp switching power supply.
When using WOR does TX of E220 to to TXD2 of the ESP32?
5/29/2024 Update: Have been working on the “complex code.” Now have an issue with deep Sleep interrupt; where starting with a press of the reset button on the Receiver response is corect in the Serial Monitor. First url request on Receiver is correct. Interrupt works correctly. “After interrupt:” does print to the Serial Monitor after the first url request. Going on with more url requests; interrupt does not work correctly. Have spent much time trying to get this code to work correctly.
Putting together a short 2-3 minute video of the Arduino IDE, Serial Monitor of this code showing url request being made and the Receiver code responses. Will upload video in the morning.
Github repository has been updated. Receiver is now able to go to deep sleep; however have not been able to wake up deep sleeping receiver, unable to further test RTC_DATA_ATTR_failure.
Thank you for having a look at the code. Yes, the code is complex.
Took another look at my Gist file; found I missed making these corrections: lines: 150 redefination Lora E220, 299, 301, 303 e32ttl should be e220ttl. Testing now…
Ticker library is used to get a one minute timer to take from the start code unit the INA226 alerts for a low battery.
Could be an interrupt conflick; there are (if memory serves me correctly, three interrupts).
William
This reply was modified 7 months, 1 week ago by William.
This reply was modified 7 months, 1 week ago by William. Reason: Additional. Corrections
New project is a remote battery monitor with NTP timestamp transmitter to E220 receiver. Have nearly all of the project compeled; except for a “Timeout!!” message on Serial Monitor I did not code, sketch continues to run. Is this a warning from the E220 library? Message occurs between a httpClient function and logBattery function. Have removed all delays; no change.
Project logs timestamp, adc reading, and voltage to LittleFS. Going to try and find out how long battery lasts compared to the number of requests made using an automated method of generating GET requests.. conditonal statement determine how often request are made to AsycWebServer. Server switches on live video camera for a predetermined period using a once Ticker timer method.
Plan to use a voltage divider of 1 meg ohm and 2 meg ohm; need to aquire the parts. Getting together a shopping list for your shields too. Thanks for creating the shields and your community support!
Regards,
William
This reply was modified 8 months, 2 weeks ago by William.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.