6.9 KiB
ನಿಮ್ಮ ನೈಟ್ಲೈಟ್ ಅನ್ನು ಇಂಟರ್ನೆಟ್ ಮೂಲಕ ನಿಯಂತ್ರಿಸಿ - ವಿಯೋ ಟರ್ಮಿನಲ್
ಈ ಪಾಠದ ಭಾಗದಲ್ಲಿ, ನೀವು MQTT ಬ್ರೋಕರ್ನಿಂದ ನಿಮ್ಮ ವಿಯೋ ಟರ್ಮಿನಲ್ಗೆ ಕಳುಹಿಸಿರುವ ಆದೇಶಗಳಿಗೆ ಚಂದಾ ಹೊಂದಿಸುತ್ತೀರಿ.
ಆದೇಶಗಳಿಗೆ ಚಂದಾ ಹೊಂದಿಸಿ
ಮುಂದಿನ ಹಂತವೆಂದರೆ MQTT ಬ್ರೋಕರ್ನಿಂದ ಕಳುಹಿಸಿರುವ ಆದೇಶಗಳಿಗೆ ಚಂದಾ ಹೊಂದಿಸಿ, ಅವುಗಳಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸು.
ಕಾರ್ಯ
ಆದೇಶಗಳಿಗೆ ಚಂದಾ ಹೊಂದಿಸಿ.
-
ನಿಮ್ಮ ನೈಟ್ಲೈಟ್ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು VS ಕೋಡ್ನಲ್ಲಿ ತೆರೆಯಿರಿ.
-
config.hಫೈಲ್ನ ಕೆಳಭಾಗಕ್ಕೆ ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಿ, ಆದೇಶಗಳಿಗೆ ವಿಷಯದ ಹೆಸರನ್ನು ನಿರ್ದಿಷ್ಟಗೊಳಿಸಲು:const string SERVER_COMMAND_TOPIC = ID + "/commands";SERVER_COMMAND_TOPICಎನ್ನುವುದು ಉಪಕರಣವು ಆರೈಕೆ ಮಾಡಲು ಚಂದಾ ಹೊಂದಿಸುವ ವಿಷಯ. -
MQTT ಕ್ಲೈಂಟ್ ಮರು ಸಂಪರ್ಕಗೊಂಡಾಗ ಆದೇಶ ವಿಷಯಕ್ಕೆ ಚಂದಾ ಹೊಂದಿಸುವಂತೆ
reconnectMQTTClientಕಾರ್ಯದ ಅಂತ್ಯದಲ್ಲಿ ಕೆಳಗಿನ ಸಾಲು ಸೇರಿಸಿ:client.subscribe(SERVER_COMMAND_TOPIC.c_str()); -
reconnectMQTTClientಕಾರ್ಯದ ಕೆಳಗೆ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ.void clientCallback(char *topic, uint8_t *payload, unsigned int length) { char buff[length + 1]; for (int i = 0; i < length; i++) { buff[i] = (char)payload[i]; } buff[length] = '\0'; Serial.print("Message received:"); Serial.println(buff); DynamicJsonDocument doc(1024); deserializeJson(doc, buff); JsonObject obj = doc.as<JsonObject>(); bool led_on = obj["led_on"]; if (led_on) digitalWrite(D0, HIGH); else digitalWrite(D0, LOW); }ಈ ಕಾರ್ಯವು MQTT ಕ್ಲೈಂಟ್ ಸರ್ವರ್ನಿಂದ ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸಿದಾಗ ಕರೆಮಾಡುವ ಕಾಲ್ಬ್ಯಾಕ್ ಆಗಿದ್ದು.
ಸಂದೇಶವು ಅಸಹಾಯಕ 8-ಬಿಟ್ ಪೂರ್ಣಾಂಕಗಳ ಆರೆ ಆಗಿ ಬರುತ್ತದೆ, ಅದನ್ನು ಪಾಠವಾಗಿ ಪರಿಗಣಿಸಲು ಅಕ್ಷರ ಆರೆಗೆ ಪರಿವರ್ತನೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ.
ಸಂದೇಶದಲ್ಲಿ JSON ದಾಖಲೆ ಹೊಂದಿದ್ದು, ArduinoJson ಗ್ರಂಥಾಲಯ ಬಳಸಿ ಡೀಕೋಡ್ ಮಾಡಲ್ಪಡುತ್ತದೆ. JSON ದಾಖಲೆ中的
led_onಗುಣಲಕ್ಷಣವನ್ನು ಓದಿ, ಅದರಿಂದ LED ಆನ್ ಅಥವಾ ಆಫ್ ಆಗುತ್ತದೆ. -
createMQTTClientಕಾರ್ಯಕ್ಕೆ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ:client.setCallback(clientCallback);ಈ ಕೋಡ್ನ
clientCallbackಅನ್ನು MQTT ಬ್ರೋಕರ್ನಿಂದ ಸಂದೇಶ ಬಂದಾಗ ಕರೆಮಾಡುವ ಕಾಲ್ಬ್ಯಾಕ್ ಆಗಿ ಹೊಂದಿಸುತ್ತದೆ.💁
clientCallbackಹ್ಯಾಂಡ್ಲರ್ ಎಲ್ಲಾ ಚಂದಾ ಹೊಂದಿಸಿದ ವಿಷಯಗಳಿಗೆ ಕರೆಮಾಡಲಾಗುತ್ತದೆ. ನಂತರ ನೀವು ಅನೇಕ ವಿಷಯಗಳನ್ನು ಕೇಳುವ ಕೋಡ್ ಬರೆಯುವಾಗ, ಸಂದೇಶ ಕಳುಹಿಸಿದ ವಿಷಯವನ್ನುtopicಪ್ಯಾರಾಮೀಟರ್ನಿಂದ ಪಡೆಯಬಹುದು. -
ನಿಮ್ಮ ವಿಯೋ ಟರ್ಮಿನಲ್ಗೆ ಕೋಡ್ ಅಪ್ಲೋಡ್ ಮಾಡಿ, ಮತ್ತು ಸೀರಿಯಲ್ ಮಾನಿಟರ್ ಬಳಸಿ MQTT ಬ್ರೋಕರ್ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತಿರುವ ಬೆಳಕು ಮಟ್ಟಗಳನ್ನು ನೋಡಿ.
-
ನಿಮ್ಮ ಭೌತಿಕ ಅಥವಾ ಕಾಂಪ್ಯೂಟರ್ ಉಪಕರಣದ ಬೆಳಕು ಮಟ್ಟಗಳನ್ನು ಸರಿಹೊಂದಿಸಿ. ಸಂದೇಶಗಳು ಸ್ವೀಕರಿಸಲಾಗುತ್ತಿರುವುದು ಮತ್ತು ಆದೇಶಗಳು ಟರ್ಮಿನಲ್ನಲ್ಲಿ ಕಳುಹಿಸಲಾಗುತ್ತಿರುವುದು ಮತ್ತು ಬೆಳಕು ಮಟ್ಟದ ಆಧಾರದಲ್ಲಿ LED ಆನ್/ಆಫ್ ಆಗುತ್ತಿರುವುದನ್ನು ಕಾಣಬಹುದು.
💁 ಈ ಕೋಡ್ ಅನ್ನು ನೀವು code-commands/wio-terminal ಫೋಲ್ಡರ್ನಲ್ಲಿ ಕಂಡುಹಿಡಿಯಬಹುದು.
😀 ನೀವು ಯಶಸ್ವಿಯಾಗಿ ನಿಮ್ಮ ಉಪಕರಣವನ್ನು MQTT ಬ್ರೋಕರ್ನಿಂದ ಆದೇಶಗಳಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸಲು ಕೋಡ್ ಮಾಡಿದ್ದೀರಿ.
ಅಸ್ವೀಕಾರಿಕೆ:
ಈದಾಖಲೆಯನ್ನು AI ಅನುವಾದ ಸೇವೆ Co-op Translator ಬಳಸಿ ಅನುವದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ದತೆಗೆ ಪ್ರಯತ್ನಿಸುವುದಾಗಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳಿರಬಹದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿ ಇರುವ ಮೂಲ ದಾಖಲೆ ಅತ್ಯಂತ đáng ವೀಕ್ಷಣೀಯ ಮೂಲವಾಗಿದೆ. ಪ್ರಮುಖ ಮಾಹಿತಿ ಗಳಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಸಲಹೆ ನೀಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದವನ್ನು ಬಳಸುವುದರಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪುಸಮಜಿಕೆಗಳು ಅಥವಾ ತಪ್ಪುಮಾನಗಳಿಂದ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.