Devantech ESP32LR42 WiFI 4 x 16A Relays Module User Manual
- June 4, 2024
- Devantech
Table of Contents
Devantech ESP32LR42 WiFI 4 x 16A Relays Module
ESP32LR42
Changes from v1.5 to v1.6
Setup commands MU and MW were added to provide an MQTT username and password.
Overview
The ESP32LR42 is a WIFI connected relay module using the popular ESP32.
It provides 4 relays capable switching up to 16Amps and 2 digital inputs with
pull-ups than can interface directly with volt free contacts. The normally
open relay contacts have snubbers fitted across them, and can drive inductive
loads such as contactors and solenoids.
Power for the board is 12v dc, which can be provided by a standard universal
wall power supply. A 1A or greater supply should be selected.
Control Protocols
- Simple plain text commands sent to the module.
- HTML commands
- MQTT
- A built in webpage
WIFI
The ESP32LR42 connects via 2.4GHz WIFI to your network. Therefore it must be
located in a position where it gets a good WIFI signal. The module should not
be enclosed in a metal box/cabinet as this will shield the WIFI signal.
You can check the signal level by looking at the RSSI figure which is reported
by the ST (Status) command.
Configuration
The ESP32LR42 is configured by connecting a USB cable to your PC and running a
terminal program. PuTTY is a good option if you don’t have any other
preferences.
The serial port should be set to 115200 baud, 8 bit, 1 stop, no parity, no
flow control.
USB Configuration Commands
ST Status. Return the system status
Status:
Firmware Version: 1.2
IP: 0.0.0.0 (192.168.0.30)
Subnet: 0.0.0.0
Gateway: 0.0.0.0
Primary DNS: 0.0.0.0
Secondary DNS: 0.0.0.0
SSID: ****
Password: ****
ASCII TCP Port: 17123
RSSI: -66
MQTT Server: 192.168.0.115
MQTT Port: 1883
MQTT ID: ESP32LR42
MQTT User: myUsername
MQTT Password: ****
Relay1 Topic: R1Topic
Relay2 Topic: R2Topic
Relay3 Topic: R3Topic
Relay4 Topic: R4Topic
Input1 Topic: Input1Topic
Input2 Topic: Input2Topic
When the IP address is set to 0.0.0.0 this means that the IP address is being
provided by your networks DHCP server. In that case the assigned IP address is
also provided, as above.
When the SSID and Password are setup, they will be displayed until the next
reset, After that they will only show as ****.
RB ReBoot
This will restart the module. It may produce a lot of random characters as the ESP32’s boot logging runs at a different baud rate. If it succeeds in connecting to your network it will report the IP address.
Re-Booting.. .
崳⸮⸮⸮⸮⸮⸮⸮⸮#XL###C⸮⸮⸮⸮⸮5)5)⸮⸮⸮ia⸮b⸮⸮⸮⸮⸮⸮⸮⸮奅#⸮⸮⸮⸮U͕ Y⸮o⸮⸮⸮⸮⸮ ##i#U⸮5 ⸮Q⸮⸮⸮⸮⸮
WiFi connected.
IP address:
192.168.0.6
IP Sets the modules IP address
Enter IP followed by the required IP address. Entering address 0.0.0.0
means the IP will be obtained from your networks DHCP server. The new IP
address will take effect after the next re-boot.
IP “192.168.0.123”
OK. Saved IP Address: 192.168.0.123
SB Sets the SuBnet mask
SB “255.255.255.0”
OK. Saved Subnet Mask: 255.255.255.0
GW Sets the GateWay address
This is normally the IP address of your router.
GW “192.168.0.1”
OK. Saved Gateway Address: 192.168.0.1
PD Sets the Primary DNS
The can be the IP address of your router which will then use your ISP
provided DNS. You can also specify the DNS such as 8.8.8.8 for Googles DNS
server.
PD “192.168.0.1”
OK. Saved Primary DNS: 192.168.0.1
SD Sets the Secondary DNS
The can be the IP address of your router which will then use your ISP
provided DNS. You can also specify the DNS such as 8.8.4.4 for Googles DNS
server.
SD “8.8.4.4”
OK. Saved Secondary DNS: 8.8.4.4
SS This sets the SSID
The SSID is the public name of your WIFI network Enter your WIFI’s SSID
here.
SS “Devantech”
OK. Saved SSID: Devantech
PW Sets your networks WIFI password
PW “K]~kCZUVUGA6SG~”
OK. Saved Password: K]~kCZUVUGA6SG~
PA Sets the TCP/IP port number for the ASCII commands
PA 17126
OK. Saved ASCII port number: 17126
AP Sets the ASCII password
AP “My Secret Password”
OK. Saved Ascii Password: My Secret Password
MS Sets the MQTT broker address
MS “192.168.0.121”
OK. Saved MQTT Server: 192.168.0.121
MD Sets the MQTT ID for this module
MS “Unique Module Name”
OK. Saved MQTT ID: Unique Module Name
MP Sets the MQTT broker’s port
Normally, this should be set to 1883.
mp 1883
OK. Saved MQTT port number: 1883
If you are not using MQTT, set the port to 0. This will turn off MQTT, otherwise it will continuously try to connect if there is no MQTT broker.
MU Sets the MQTT user name (V1.6+)
This is for MQTT brokers that are setup to require a username and password.
For open MQTT brokers that do not require a user name/password, these may be
ignored.
MU “my Username”
OK. Saved MQTT User: my Username
MW Sets the MQTT password (V1.6+)
This is for MQTT brokers that are setup to require a username and password.
MW “my Super Secret Password”
OK. Saved MQTT Password: my Super Secret Password
R1-R4 Sets the MQTT topic this relay is subscribed to
R3 “Workshop/Heater”
OK. Saved Relay 3 Topic: Workshop/Heater
In use, the payload for relay topics should be a string with the first character set to ‘0’ or ‘1’ (ASCII characters 0x31/0x30).
N1-N2 Sets the MQTT topic this Input will publish to
N2 “Workshop/Heater”
OK. Saved Input 2 Topic: Workshop/Heater
The payload generated for input topics is a string with the first character set to ‘1’ if the input is open or unconnected, and ‘0’ if the input pins are shorted. (ASCII characters 0x31/0x30).
TCP/IP Commands
The ESP32LR42 has a built in TCP/IP command set which allows you to control
the module remotely.
All commands are sent using plain ASCII text. PuTTY is a good cross platform
terminal program to use for testing. The TCP/IP port is the one you set-up
with the PA command during USB configuration. Do not use port 80 as that is
reserved for the HTML commands and Webpage.
SR Set Relay
This is used to turn a relay on or off
To turn Relay 1 on:
SR 1 1
The first number is the relay number from 1 to 8. The second number is 1 or 0,
on or off.
So turn turn relay 1 off again:
SR 1 0
The command will respond with ok or fail.
SR 1 1
ok
SR 1 6
fail < 6 is not valid, only 1 or 0 for on/off
SR 9 1
fail < relay 9 does not exist.
GR Get Relay
Will return the state of the relay.
To get the status of relay 3:
GR 3
1
GR 3
0
GR 9
fail < relay 9 does not exist.
GI Get Input
Will return the status of an input.
GI 2
0 Input 2 is low (Green Led is on)
GI 2 Input 2 is high (Green Led is off)
1
GI 9
fail Only 2 inputs available
AL Get All 2 inputs
AL
10 Here, Input 2 is low, all others are high.
Inputs are numbered from left to right, 1 to 2.
Password
From version 1.5 we have added a password to the ASCII commands, this can be
set with the AP command over the USB connection. The password is passed as a
prefix to any command.
For example if a password is set and relay 1 is required to be turned on,
start with the password (example password of 1234), then the command, so it
becomes:
1234 SR 1 1
HTML Commands
There are a set of HTML commands that can be used to control the module.
?Rly3=1 This will turn on relay 3
?Rly3=0 This will turn off relay 3
?Rly3=2 This will toggle relay 3 to the opposite state.
You can enter the commands into a browser immediately after the IP address.
http://192.168.0.3/?Rly3=1
This will turn on relay 3.
In response the module will return an XML file, which your browser will
display.
The XML file is generated after the command has executed, therefore will reflect the new status of the relays.
Webpage
The built in webpage can be used as a remote app to monitor and control the relays. Your can access the page as a default with just the IP address or by specifying index.htm.
The webpage contains the Javascript to send an HTML toggle command, as described in the previous section. It will send the toggle command each time a button is clicked. It then uses the responding XML file to color the buttons and set the Input buttons to indicate input status.
Schematics
CPU
Note.
The CPU schematic is the same for the ESP32LR20, ESP32LR42 and ESP32LR88.
Relays 5-8 and Inputs 3-8 are not available on the ESP32LR42.
Power Supply
Relay Outputs
1 of 4 identical circuits shown
The relays are capable of switching up to 16 Amps at 24vdc or 230vac. A data sheet of the relay can be found here. Only the normally open (N/O) contact has the snubber circuitry.
Digital Input
1 of 2 identical circuits shown
Digital Inputs have a pull-up resistor to 3.3v and will operate with a simple
contact closure to ground.
Alternatively, they may be connected to 3.3v logic. The clamping diodes
prevent operation at voltages higher than 3.3v, so don’t connect to 5v logic.
PCB dimensions
Appendix 1
Programming the ESP32LR42 with Arduino studio
Customizing the ESP32LR42 can easily be achieved by using the Arduino studio
and importing the required libraries.
Step 1 – Arduino IDE installation
Obtain and install the latest Arduino IDE from
https://[www.arduino.cc/en/Main](http://www.arduino.cc/en/Main)/Software it
should be the latest to ensure compatibility.
Step 2 – Add the ESP32 library URL to the Arduino IDE
Go to File>Preferences
Now in the Preferences screen below we need to enter
https://dl.espressif.com/dl/package_esp32_index.json
into the “Additional
Board Manager URLs” option. If you already have libraries added you may need
to add a comma between the URLs
You can now click the OK button to finish with this screen.
Step 3 – Install the ESP32 library
Go to Tools>Board:>Boards Manager…
Now filter by “esp32” and install the Es press if Systems library
Step 4 – Board selection
Go to Tools>Board:> and select ESP32 Dev Module
Step 5 – Add MQTT library
Go to Tools>Manage Libraries…
Filter by Pub Sub Client and select Pub Sub Client by Nick O’Leary, then press
the install button That’s it! Your Arduino IDE should now be able to program
the ESP32LR42 module. The factory shipped code is available Here:
https://github.com/devantech
Copyright © 2021, Devantech Ltd. All rights reserved.
www.robot-electronics.co.uk
References
- Robot Electronics
- Robot Electronics
- dl.espressif.com/dl/package_esp32_index.json
- devantech · GitHub
- Software | Arduino
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>