5/15/2025

Arduino Code ส่งค่าจาก ESP8266 ไปใช้งานด้วย PHP

 Code สำเร็จ
- ต่อ Wifi
- Web Server
- อ่านค่า PM2.5 จาก Sensor PMS7003
PMS.h ก่อนจะใช้งานได้ต้องติดตั้ง PMS Library โดย เข้าไปที่
Sketch --> Include Library --> Manage Libraries --> ค้นหา PMS และติดตั้ง PMS Library

  1.  
  2. //############# Connect WIFI ####################//
  3. #include <ESP8266WiFi.h>
  4. #include <ESP8266WebServer.h>
  5.  
  6. const char* ssid     = "XXX";
  7. const char* password = "XXX";
  8.  
  9. //############# PMS ####################//
  10. #include "PMS.h"
  11. PMS pms(Serial);
  12. PMS::DATA data;
  13. String pm25Str = "-";
  14.  
  15. //############### Web Server ######################//
  16. ESP8266WebServer server(80);
  17.  
  18. void handleRoot() {
  19.   server.send(200, "text/plain", pm25Str);  // Send updated PM2.5 value
  20. }
  21.  
  22. void setup() {
  23.   Serial.begin(9600);
  24.  
  25.   // Connect to WiFi
  26.   WiFi.begin(ssid, password);
  27.   while (WiFi.status() != WL_CONNECTED) {
  28.     delay(1000);
  29.     Serial.println("Connecting...");
  30.   }
  31.   Serial.println("Connected!");
  32.  
  33.   // Start Web Server
  34.   server.on("/", handleRoot);
  35.   server.begin();
  36.   Serial.println("HTTP server started");  
  37. }
  38.  
  39. void loop() {
  40. /*
  41.   // Read data from PMS sensor
  42.   if (pms.read(data)) {
  43.     Serial.print("PM 1.0 (ug/m3): ");
  44.     Serial.println(data.PM_AE_UG_1_0);
  45.     Serial.print("PM 2.5 (ug/m3): ");
  46.     Serial.println(data.PM_AE_UG_2_5);
  47.     Serial.print("PM 10.0 (ug/m3): ");
  48.     Serial.println(data.PM_AE_UG_10_0);
  49.     Serial.println();
  50.  
  51.     pm25Str = String(data.PM_AE_UG_2_5);
  52.   }
  53. */
  54.   if (pms.read(data)) {
  55.     pm25Str = String(data.PM_AE_UG_2_5);
  56.     Serial.print("Updated PM2.5: ");
  57.     Serial.println(pm25Str);
  58.   }
  59.  
  60.   server.handleClient(); // Process web requests
  61.   //delay(1000);
  62. }

11/13/2024

Axpata X++ Not Like in SQL.

 Axpata X++ Not Like in SQL.

  1. SELECT * FROM purchTable
  2. WHERE !(purchTable.purchId LIKE 'PO24*');

10/11/2024

สาย Lan ที่ใช้จริงและ Spare สามารถสลับเส้นกันได้

 สาย Lan ที่ใช้จริงและ Spare สามารถสลับเส้นกันได้
- แลนไม่ติด / เครื่องไม่ได้ ip
ใช้เครื่อง testสายเช็คที่ต้นทางและปลายทางถ้าเช็คแล้วไฟวิ่งครบ 8 เส้นก็ถือว่าสายแลนเราปกติ

แต่ถ้าไฟวิ่งไม่ครบ 8 เส้นก็ไม่ต้องตกใจ (อาจจะเป็นเพราะหนูกัดสายหรืออะไรสักอย่าง)
- สายแลนเรามีทั้งหมด 8 เส้น แต่สายที่เราใช้งานจริงมีแค่ 4 เส้นครับ (ส่วนอีก 4 เส้น คือ Spare)

วิธีดูเครื่อง test สาย
1 คือ ขาว-ส้ม ( ใช้ )
2 คือ ส้ม ( ใช้ )
3 คือ ขาว-เขียว ( ใช้ )
4 คือ น้ำเงิน (Spare)
5 คือ ขาว-น้ำเงิน (Spare)
6 คือ เขียว ( ใช้ )
7 คือ ขาว-น้ำตาล (Spare)
8 คือ น้ำตาล (Spare)

Ex.เช่น เช็คแล้วไฟสายเส้นที่ 1 กับ 6 ไม่ติด ทำไงดี..???
ง่ายๆๆเลยครับ เราก็เอาสาย Spare ที่เหลือมาสลับใช้งานแทน (ต้องเปลี่ยนตามคู่สีน่ะครับเพราะง่ายต่อการดูและแก้ไขในครั้งต่อไป)
เข้าหัวใหม่ให้ทั้ง 2 ด้านเหมือนกันครับ
1 คือ ขาว-น้ำตาล ( ใช้ )
2 คือ น้ำตาล ( ใช้ )
3 คือ ขาว-น้ำเงิน ( ใช้ )
4 คือ เขียว (Spare)
5 คือ ขาว-เขียว (Spare)
6 คือ น้ำเงิน ( ใช้ )
7 คือ ขาว-ส้ม (Spare)
8 คือ ส้ม (Spare)

หลักการเข้าหัว /สลับสาย แบบนี้ก็สามารถใช้ได้กับ RJ45 ตัวเมียและ Part Panel ก็สามารถใช้งานได้เช่นกัน

10/03/2024

Function Checkbox checked by scrip.

 Function Checkbox checked by scrip.

  1. <!DOCTYPE html>
  2. <html>
  3.     <title>Test</title>
  4.     <meta charset="UTF-8">
  5.  
  6.     <body>
  7.         <div align='center'>
  8.             <form id="myForm" align='center'>
  9.                 <label><input type="checkbox" name="OD" id="OD" value="1" onchange="CheckedBox(this.value)"> ฝพอ.</label><br>
  10.                 <label><input type="checkbox" name="IF" id="IF" value="2" onchange="CheckedBox(this.value)"> ฝบง.</label><br>
  11.                 <label><input type="checkbox" name="DS" id="DS" value="3" onchange="CheckedBox(this.value)"> ฝอบ.</label><br>
  12.                 <br><hr>
  13.             </form>
  14.             <br>
  15.             <form id="myForm2" align='center'>
  16.                 <label><input type="checkbox" name="checkbox3" id="checkbox3" value=""> หน.งทส.</label><br>
  17.                 <label><input type="checkbox" name="checkbox4" id="checkbox4" value=""> หน.งพม.</label><br>
  18.                 <label><input type="checkbox" name="checkbox5" id="checkbox5" value=""> หน.งสป.</label><br>
  19.                 <label><input type="checkbox" name="checkbox6" id="checkbox6" value=""> หน.งบง.</label><br>
  20.                 <label><input type="checkbox" name="checkbox7" id="checkbox7" value=""> หน.งอบ 1.</label><br>
  21.                 <label><input type="checkbox" name="checkbox8" id="checkbox8" value=""> หน.งอบ 2.</label><br>
  22.             </form>
  23.         </div> 
  24.         <script></script>
  25.     </body>
  26. </html>

  1.  
  2.     function CheckedBox(value) {
  3.             if(value == 1){
  4.                 if(document.getElementById("OD").checked){
  5.                     document.getElementById("checkbox3").checked = true;
  6.                     document.getElementById("checkbox4").checked = true;
  7.                     document.getElementById("checkbox5").checked = true;
  8.                 } else {
  9.                     document.getElementById("checkbox3").checked = false;
  10.                     document.getElementById("checkbox4").checked = false;
  11.                     document.getElementById("checkbox5").checked = false;
  12.                 }
  13.             } else if (value == 2){
  14.                 if(document.getElementById("IF").checked){
  15.                     document.getElementById("checkbox6").checked = true;   
  16.                 } else {
  17.                     document.getElementById("checkbox6").checked = false;
  18.                 }
  19.  
  20.             } else if (value == 3){
  21.                 if(document.getElementById("DS").checked){
  22.                     document.getElementById("checkbox7").checked = true;
  23.                     document.getElementById("checkbox8").checked = true;   
  24.                 } else {
  25.                     document.getElementById("checkbox7").checked = false;
  26.                     document.getElementById("checkbox8").checked = false;                      
  27.                 }
  28.             } else {
  29.                 document.getElementById("OD").checked = false;
  30.                 document.getElementById("IF").checked = false;
  31.                 document.getElementById("DS").checked = false;
  32.                 document.getElementById("checkbox3").checked = false;
  33.                 document.getElementById("checkbox4").checked = false;
  34.                 document.getElementById("checkbox5").checked = false;
  35.                 document.getElementById("checkbox6").checked = false;
  36.                 document.getElementById("checkbox7").checked = false;
  37.                 document.getElementById("checkbox8").checked = false;
  38.             }   
  39.         }  

Code function validate Input number in textbox only.

 

Code function validate Input number in textbox only.
html
  1. <input type="text" id="test_id" name="test" value="" oninput="validateInput(event)">

js function

  1. function validateInput(event) {
  2.    var input = event.target.value;
  3.    if (!/^[0123456789 ]*$/.test(input)) {
  4.       event.target.value = input.replace(/[^0123456789 ]/g, '');
  5.    }
  6. }