<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Komsan Nurak</title>
    <description>The latest articles on DEV Community by Komsan Nurak (@komnoxtion).</description>
    <link>https://dev.to/komnoxtion</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1069388%2F78d535c1-15f6-4f38-909d-ab9ab932fa9b.jpeg</url>
      <title>DEV Community: Komsan Nurak</title>
      <link>https://dev.to/komnoxtion</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/komnoxtion"/>
    <language>en</language>
    <item>
      <title>ESP32 WiFiManager MQTT Spiffs config ArduinoJson 7</title>
      <dc:creator>Komsan Nurak</dc:creator>
      <pubDate>Thu, 09 May 2024 08:45:33 +0000</pubDate>
      <link>https://dev.to/komnoxtion/esp32-wifimanager-mqtt-spiffs-config-arduinojson-7-224n</link>
      <guid>https://dev.to/komnoxtion/esp32-wifimanager-mqtt-spiffs-config-arduinojson-7-224n</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include &amp;lt;WiFi.h&amp;gt;
#include &amp;lt;WiFiManager.h&amp;gt;
#include &amp;lt;ArduinoJson.h&amp;gt;
#include &amp;lt;PubSubClient.h&amp;gt;
#include &amp;lt;SPIFFS.h&amp;gt;

// ตั้งค่า WiFiManager
WiFiManager wm;

// ตั้งค่า MQTT
WiFiClient espClient;
PubSubClient client(espClient);

// ตั้งค่า JSON document
StaticJsonDocument&amp;lt;200&amp;gt; doc;

void setup() {
  Serial.begin(115200);

  // เริ่มต้น SPIFFS
  if (!SPIFFS.begin(true)) {
    Serial.println("An Error has occurred while mounting SPIFFS");
    return;
  }

  // รีเซ็ตการตั้งค่า WiFi เมื่อกดปุ่มรีเซ็ตนาน 3 วินาที
  wm.resetSettings();

  // กำหนดค่าเริ่มต้นสำหรับการกำหนดค่าผ่าน WiFiManager
  WiFiManagerParameter custom_mqtt_server("server", "MQTT Server", "mqtt.example.com", 40);
  WiFiManagerParameter custom_mqtt_port("port", "MQTT Port", "1883", 6);
  wm.addParameter(&amp;amp;custom_mqtt_server);
  wm.addParameter(&amp;amp;custom_mqtt_port);

  bool res = wm.autoConnect("ESP32-AP");

  if (!res) {
    Serial.println("Failed to connect");
    // ไม่สามารถเชื่อมต่อ WiFi ให้เข้าสู่โหมด Deep Sleep
  } else {
    Serial.println("Connected to WiFi");

    // เก็บค่า MQTT Server และ Port ลงใน JSON document
    doc["mqtt_server"] = custom_mqtt_server.getValue();
    doc["mqtt_port"] = custom_mqtt_port.getValue();

    // เขียนข้อมูล JSON ลงไฟล์ /data.json ใน SPIFFS
    File file = SPIFFS.open("/data.json", "w");
    if (file) {
      serializeJson(doc, file);
      file.close();
    } else {
      Serial.println("Failed to open /data.json for writing");
    }

    // เชื่อมต่อ MQTT
    client.setServer(doc["mqtt_server"], doc["mqtt_port"].as&amp;lt;int&amp;gt;());
    client.connect("ESP32-Client");
  }
}

void loop() {
  // คงการเชื่อมต่อ MQTT
  client.loop();
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>esp32</category>
      <category>cpp</category>
    </item>
    <item>
      <title>ESP32 WiFiManager MQTT ArduinoJson 7</title>
      <dc:creator>Komsan Nurak</dc:creator>
      <pubDate>Thu, 09 May 2024 08:40:26 +0000</pubDate>
      <link>https://dev.to/komnoxtion/esp32-wifimanager-mqtt-arduinojson-7-3gge</link>
      <guid>https://dev.to/komnoxtion/esp32-wifimanager-mqtt-arduinojson-7-3gge</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include &amp;lt;WiFi.h&amp;gt;
#include &amp;lt;WiFiManager.h&amp;gt;
#include &amp;lt;ArduinoJson.h&amp;gt;
#include &amp;lt;PubSubClient.h&amp;gt;

// ตั้งค่า WiFiManager
WiFiManager wm;

// ตั้งค่า MQTT
WiFiClient espClient;
PubSubClient client(espClient);
char mqtt_server[40];
char mqtt_port[6];

// ตั้งค่า JSON document
StaticJsonDocument&amp;lt;200&amp;gt; doc;

void setup() {
  Serial.begin(115200);

  // รีเซ็ตการตั้งค่า WiFi เมื่อกดปุ่มรีเซ็ตนาน 3 วินาที
  wm.resetSettings();

  // กำหนดค่าเริ่มต้นสำหรับการกำหนดค่าผ่าน WiFiManager
  WiFiManagerParameter custom_mqtt_server("server", "MQTT Server", "mqtt.example.com", 40);
  WiFiManagerParameter custom_mqtt_port("port", "MQTT Port", "1883", 6);
  wm.addParameter(&amp;amp;custom_mqtt_server);
  wm.addParameter(&amp;amp;custom_mqtt_port);

  bool res = wm.autoConnect("ESP32-AP");

  if (!res) {
    Serial.println("Failed to connect");
    // ไม่สามารถเชื่อมต่อ WiFi ให้เข้าสู่โหมด Deep Sleep
  } else {
    Serial.println("Connected to WiFi");

    // เก็บค่า MQTT Server และ Port จากการกำหนดค่าผ่าน WiFiManager
    strcpy(mqtt_server, custom_mqtt_server.getValue());
    strcpy(mqtt_port, custom_mqtt_port.getValue());

    // เชื่อมต่อ MQTT
    client.setServer(mqtt_server, atoi(mqtt_port));
    client.connect("ESP32-Client");
  }

  // เพิ่มข้อมูลลงใน JSON document
  doc["sensor"] = "BME280";
  doc["data"][0] = 24.5;
  doc["data"][1] = 65.2;

  // สร้าง JSON string จาก JSON document
  String output;
  serializeJson(doc, output);
  Serial.println(output);

  // ส่งข้อมูล JSON ไปยัง MQTT topic
  client.publish("sensors/data", output.c_str());
}

void loop() {
  // คงการเชื่อมต่อ MQTT
  client.loop();
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>esp32</category>
      <category>cpp</category>
    </item>
    <item>
      <title>ESP32 WiFiManager and ArduinoJson 7</title>
      <dc:creator>Komsan Nurak</dc:creator>
      <pubDate>Thu, 09 May 2024 07:40:22 +0000</pubDate>
      <link>https://dev.to/komnoxtion/tawyaangokhdsamhrab-esp32-thiiaich-wifimanager-aela-arduinojson-ewrchan-7-242c</link>
      <guid>https://dev.to/komnoxtion/tawyaangokhdsamhrab-esp32-thiiaich-wifimanager-aela-arduinojson-ewrchan-7-242c</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include &amp;lt;WiFi.h&amp;gt;
#include &amp;lt;WiFiManager.h&amp;gt;
#include &amp;lt;ArduinoJson.h&amp;gt;

// ตั้งค่า WiFiManager
WiFiManager wm;

// ตั้งค่า JSON document
StaticJsonDocument&amp;lt;200&amp;gt; doc;

void setup() {
  Serial.begin(115200);

  // รีเซ็ตการตั้งค่า WiFi เมื่อกดปุ่มรีเซ็ตนาน 3 วินาที
  wm.resetSettings();

  bool res = wm.autoConnect("ESP32-AP");

  if (!res) {
    Serial.println("Failed to connect");
    // ไม่สามารถเชื่อมต่อ WiFi ให้เข้าสู่โหมด Deep Sleep
  } else {
    Serial.println("Connected to WiFi");
  }

  // เพิ่มข้อมูลลงใน JSON document
  doc["sensor"] = "BME280";
  doc["data"][0] = 24.5;
  doc["data"][1] = 65.2;

  // สร้าง JSON string จาก JSON document
  String output;
  serializeJson(doc, output);
  Serial.println(output);
}

void loop() {
  // ไม่มีการทำงานอื่นในลูป
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>esp32</category>
      <category>cpp</category>
    </item>
  </channel>
</rss>
