This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:iot-open:practical:hardware:sut:stm32:iot_3 [2024/04/27 07:57] – ktokarz | en:iot-open:practical:hardware:sut:stm32:iot_3 [2024/04/27 09:42] (current) – ktokarz | ||
---|---|---|---|
Line 66: | Line 66: | ||
Below we briefly describe the commands mentioning only the parameters important to us. Please refer to the Espressif documentation((https:// | Below we briefly describe the commands mentioning only the parameters important to us. Please refer to the Espressif documentation((https:// | ||
< | < | ||
- | If the parameter is taken within quotation marks it should be in such a form sent in a command. | + | If the parameter is taken within quotation marks it should be in such a form sent in a command.\\ |
+ | Please refer to the MQTT description chapter for the meaning of some protocol details. | ||
</ | </ | ||
- | **AT+MQTTUSERCFG**// | + | **AT+MQTTUSERCFG** |
This command accepts the list of parameters: | This command accepts the list of parameters: | ||
< | < | ||
Line 84: | Line 85: | ||
In our case, the command can look like this: | In our case, the command can look like this: | ||
< | < | ||
- | AT+MQTTUSERCFG=0, | + | AT+MQTTUSERCFG=0, |
</ | </ | ||
- | **AT+MQTTCONN**// | + | **AT+MQTTCONN** |
This command accepts the list of parameters: | This command accepts the list of parameters: | ||
< | < | ||
Line 99: | Line 100: | ||
The command can look like this: | The command can look like this: | ||
< | < | ||
- | AT+MQTTCONN=0, | + | AT+MQTTCONN=0, |
</ | </ | ||
Line 111: | Line 112: | ||
* " | * " | ||
* " | * " | ||
- | * qos - mode of the quality of service, 0, 1 or2, default 0. | + | * qos - mode of the quality of service, 0, 1 or 2, default 0. |
* retain - retain flag, 0 or 1. | * retain - retain flag, 0 or 1. | ||
- | |||
=== Step 3 === | === Step 3 === | ||
- | The command | + | Implement the MQTT configuration and connection to the broker. Use the template |
- | <code c> | + | |
- | +CIPSTA:ip:"192.168.1.117" | + | === Step 4 === |
- | +CIPSTA: | + | Implement publishing of the MQTT message. You can do it just once in the " |
- | +CIPSTA: | + | |
- | </ | + | |
- | While LCD use we have to filter out unwanted elements of the response. We can do it by displaying the answer containing " | ||
- | <code c> | ||
- | if (response.startsWith(" | ||
- | response.remove(0, | ||
- | lcd.setCursor(0, | ||
- | lcd.print(response); | ||
- | } | ||
- | </ | ||
==== Result validation ==== | ==== Result validation ==== | ||
- | You should be able to see the IP address of the ESP32-C3 module. | + | You should be able to connect to the WiFi and MQTT broker (verified by the status present on the selected display) and then publish a message (once or periodically). Depending on whether you're fully remote or able to access our networks with an additional device, you need to implement a subscriber (as present in the scenario [[[en:iot-open: |
- | < | + | < |
- | Using another node ar even the same node another time can change | + | Because LCD can't properly display some non-visible characters |
</ | </ | ||
===== FAQ ===== | ===== FAQ ===== | ||
- | **Can I change the IP address?**: Normally IP addresses are assigned by the server known as DHCP. In some situations, | + | **Can I publish messages on different topics?**: Certainly |
+ | **My MQTT client disconnects randomly**: The most common reason | ||
+ | **Do I need to authorise to publish and subscribe? | ||
<WRAP noprint> | <WRAP noprint> |