วันอาทิตย์ที่ 7 ตุลาคม พ.ศ. 2555

วิธีการขยายสัญญาณไร้สาย Repeater Bridge

วิธีการขยายสัญญาณไร้สาย True Wi-Fi แบบ Repeater, Repeater Bridge บนอุปกรณ์ Linksys WRH54G DD-WRT V.24
บทความสำหรับ: ผู้ที่มีความรู้เกี่ยวกับระบบเครือข่ายในระดับเบื้องต้นถึงปานกลาง (v1.1)
โดย วิทวัส โฉมประเสริฐ, ศุภสิทธิ์ ศิริพานิชกร

คำถาม

1.ถ้าต้องการขยายสัญญาณในโหมด Repeater, Repeater Bridge เพื่อลดจุดอับสัญญาณให้ได้มากที่สุดต้องทำอย่างไรบ้าง?

คำตอบ

Linksys WRH54G Wireless-G 54 Mbps Broadband Router (Upgradable with DD-WRT) ถูกออกแบบมาให้สามารถใช้งานในหลากหลายฟังก์ชั้นเหมือนกับ Linksys WRT54GL เพียงแต่ว่า FLASH 2MB/SDRAM 8MB น้อยกว่าเท่านั้น และ เสาอากาศไม่สามารถเปลี่ยนได้


ในบทความนี้จะใช้ Linksys WRH54G ทำงานใน โหมด Repeater , Repeater Bridge โดยต้อง upgrade Firmware DD-WRT v24 SP1
Repeater : จะเซ็ตให้ Linksys WRH54G ไปเกาะกับ สัญญาณ TrueWiFi ที่ปล่อยอยู่ทั่วไปตามพื้นที่สาธารณะ
Repeater : จะเซ้็ตให้ Linksys WRH54G ไปเกาะกับ Linksys WAG54G2


รูปภาพ

ขั้นตอนการติดตั้งโหมด Repeater บน Linksys WRH54G 1

       
  1.       เข้าหน้าบริหารการใช้งานของ Linksys WRH54G ไปเมนู
          Setup -> Basic Setup
         
          รูปภาพ
         
         
          WAN Connection Type
          Connection Type : Automatic Configuration - DHCP -> ให้ขา WAN รับ IP Address จาก TrueWiFi อัตโนมัติ
         
          รูปภาพ
         
         
          Router IP (เป็นส่วนของวงภายในของ Linksys WRT54GL)
          Local IP Address : 192.168.1.1 -> ตั้งค่า IP ของวงภายใน และ ค่า Gateway ของ Router
          Subnet Mask : 255.255.255.0 -> ตั้งค่า Subnet ของวงภายใน
         
          รูปภาพ
         
         
          DHCP (เป็นส่วนที่ต้องการให้วงภายใน Linksys WRH54G เมื่อเวลามีคนเข้ามาใช้งาน ให้ Router ตัวนี้แจก IP อัตโนมัติหรือไม่)
          DHCP Type : DHCP Server
          DHCP Server : Enable -> ให้ระบบแจก IP Address อัตโนมัติ
          Start IP Address : 192.168.1.100 -> เริ่มการแจก IP Address ที่ 100
          Maximum DHCP User : 50 -> สิ้นสุดการแจกเมื่อครบ 50 IP แล้ว
         
          รูปภาพ
           
  2.    
  3.       ตั้งค่าโหมด Repeater ที่ต้องการ ไปที่เมนู
          Wireless -> Basic Settings
         
          รูปภาพ
         
         
          Wireless Physical Interface (เป็นเครือข่ายไร้สายตัวหลัก)
          Wireless Mode : Repeater -> สำคัญมากในเลือกรูปแบบของ Linksys WRH54G ที่ต้องการให้ตัวนี้เป็น
          Wireless Network Mode : Mixed -> มาตรฐานไร้สายที่ต้องการ B+G
          Wireless Network Name (SSID) : truewifi -> สำคัญมากที่จะให้เครือข่ายหลักไปเกาะกับสัญญาณที่การจายอยู่ชื่อว่าอะไร
         
          Virtual Interfaces (เป็นการสร้างเครือข่ายไร้สายเสมือนอีกชื่อขึ้นมา)
          Wireless Network Name (SSID) : SYS2U Repeater -> เป็นชื่อไร้สายที่จะปล่อยสัญญาณออกจาก Linksys WRH54G อีกที
         
          รูปภาพ
           
  4.    
  5.       ตั้งค่าความปลอดภัยของเครือข่ายไร้สาย ไปทีเมนู
          Wireless -> Wireless Security
         
          รูปภาพ
         
         
          Physical Interface (ตั้งค่าความปลอดภัยให้ตรงกับ ตัวสัญญาณที่ไปเกาะ)
          Security Mode : Disable -> รูปแบบความปลอดภัยให้เหมือนกับตัวหลัก ซึ่ง truewifi ไม่มีการใส่รหัส
         
         
          Virtual Interface -> ต้องการให้ สัญญาณที่สร้างขึ้นมา SYS2U Repeater มีรหัสหรือไม่
         
          รูปภาพ
           
  6.    
  7.       ตรวจสอบการเชื่อมต่อของ Linksys WRH54G กับสัญญาณ truehisp ไปที่เมนู
          Status -> WAN
         
          รูปภาพ
         
         
          จะเห็นสถานะของ WAN IP ที่ truewifi ส่งมาเข้าที่ขา WAN
          WAN IP : ของ true
          Subnet : ของ true
          Gateway : ของ true
          DNS1 : ของ true
          DNS2 : ของ true
         
          รูปภาพ
         
         
          และเมนู Status -> Wireless
          Wireless Node
          จะ แสดงแถป ไวเลส ของ truewifi ที่โชว์ค่าของ สัญญาณ ( signal Quality ) 33% ซึ่ง ณ ขณะเดียวกัน เครื่อง Notebook สามารถจับความแรงของ สัญญาณ Truwifi ~ 2-3 ขีด
         
          รูปภาพ
         
         
          ทดสอบโดยการใช้คำสั่งใน Command ไปยัง Gateway ของฝั่ง truewifi
          ping 10.42.128.1 -> จะพบว่าค่าระดับสัญญาณ ~ 33% จะได้ค่า Time จากการใช้คำสั่ง Command ที่มีค่าอยู่ประมาณ 15-20 ms โดยประมาณ
         
          รูปภาพ


เสร็จสิ้นขั้นตอนการเชื่อมต่อโดยใช้ Linksys WRH54G ทำโหมด Repeater กับ trueWiFi



ขั้นตอนการติดตั้งโหมด Repeater Bridge บน Linksys WRH54G 2

       
  1.       เข้าหน้าบริหารการใช้งานของ Linksys WRH54G ไปเมนู
          Setup -> Basic Setup
         
          รูปภาพ
         
         
          WAN Connection Type
          Connection Type : Disable -> ไม่ได้ใช้งาน
         
          รูปภาพ
         
         
          Router IP (เป็นส่วนของวงภายในของ Linksys WRH54G)
          Local IP Address : 192.168.200.10 -> ตั้งค่า IP ของวงภายใน ให้เป็นวงเดียวกับตัวหลัก
          Subnet Mask : 255.255.255.0 -> ตั้งค่า Subnet ของวงภายใน ให้เป็นวงเดียวกับตัวหลัก
          Gateway : 192.168.200.1 -> ตั้งค่า Gateway ของวงภายใน ให้ชี้ไปที่ Gateway ตัวหลัก
          Local DNS : 192.168.200.1 -> ตั้งค่า DNS ของวงภายใน ให้ชี้ไปที่ DNS หรือ Gateway ตัวหลัก
         
          รูปภาพ
         
         
          DHCP (เป็นส่วนที่ต้องการให้วงภายใน Linksys WRH54G เมื่อเวลามีคนเข้ามาใช้งาน ให้ Router ตัวนี้แจก IP อัตโนมัติหรือไม่)
          DHCP Type : DHCP Server
          DHCP Server : Disable -> ให้ระบบแจก IP Address มาจากตัวหลัก
         
          รูปภาพ
           
  2.    
  3.       ตั้งค่าโหมด Repeater Bridge ที่ต้องการ ไปที่เมนู
          Wireless -> Basic Settings
         
          รูปภาพ
         
         
          Wireless Physical Interface (เป็นเครือข่ายไร้สายตัวหลัก)
          Wireless Mode : Repeater Bridge -> สำคัญมากในเลือกรูปแบบของ Linksys WRH54G ที่ต้องการให้ตัวนี้เป็น
          Wireless Network Mode : Mixed -> มาตรฐานไร้สายที่ต้องการ B+G
          Wireless Network Name (SSID) : SYS2U -> สำคัญมากที่จะให้เครือข่ายหลักไปเกาะกับสัญญาณที่การจายอยู่ชื่อว่าอะไร
         
          รูปภาพ
           
  4.    
  5.       ตั้งค่าความปลอดภัยของเครือข่ายไร้สาย ไปทีเมนู
          Wireless -> Wireless Security
         
          รูปภาพ
         
         
          Physical Interface (ตั้งค่าความปลอดภัยให้ตรงกับ ตัวสัญญาณที่ไปเกาะ)
          Security Mode : WEP -> รูปแบบความปลอดภัยให้เหมือนกับตัวหลัก
          Default Transmit Key : 1 -> ใช้งานที่ KEY 1
          Encryption : 64bit 10 hex digit -> รูปแบบการเข้ารหัส
          KEY : 1234567890
         
          Virtual Interface -> ต้องการให้ สัญญาณที่สร้างขึ้นมา SYS2U Repeater Bridge มีรหัสหรือไม่
         
          รูปภาพ
           
  6.    
  7.       ตรวจสอบการเชื่อมต่อของ Linksys WRH54G กับสัญญาณต้นทาง ไปที่เมนู
          Status -> Wireless
         
          Wireless Node
          จะเห็นค่า MAC Address ของ Linksys WAG54G2 ตัวหลักที่โชว์ขึ้นมา และระดับสัญญาณ ( Signal Quality ) ขึ้นแถบระดับการเกาะของสัญญาณ
         
          รูปภาพ
         
         
          ทดสอบโดยการใช้คำสั่งใน Command ไปยัง Gateway ของฝั่งตัวหลัก
          ping 192.168.200.1 -> จะพบว่าค่าระดับสัญญาณ ~ 52% จะได้ค่า Time จากการใช้คำสั่ง Command ที่มีค่าอยู่ประมาณ 2-5 ms โดยประมาณ ซึ่ง Notebook จับสัญญาณตัว Linksys WAG54G2 4 ขีด เกือบเต็ม 5
         
          รูปภาพ


เสร็จสิ้นขั้นตอนการเชื่อมต่อโดยใช้ Linksys WRH54G ทำโหมด Repeater Bridge

วันอังคารที่ 2 ตุลาคม พ.ศ. 2555

โทรมาตร

http://www.oknation.net/blog/print.php?id=744453
http://ga.egat.co.th/index.php?option=com_content&task=view&id=505&Itemid=46
ระบบโทรมาตร กับการบริหารจัดการน้ำในอ่างเก็บน้ำ กฟผ.

ภาพข่าว ระบบโทรมาตร กับการบริหารจัดการน้ำในอ่างเก็บน้ำ กฟผ.การบริหารและจัดการน้ำในอ่างเก็บน้ำตามเขื่อนต่างๆ ของ กฟผ. โดยเฉพาะเขื่อนขนาดใหญ่ที่ตั้งอยู่บนลุ่มน้ำสำคัญ เช่น ลุ่มน้ำเจ้าพระยา ลุ่มน้ำแม่กลอง และลุ่มน้ำชี นั้น กฟผ. ได้ดำเนินกลยุทธ์และกำหนดแนวทางการบริหารจัดการน้ำในอ่างเก็บน้ำต่างๆ ให้เกิดประโยชน์สูงสุด โดยเน้นด้านการเก็บกักน้ำในช่วงฤดูน้ำหลาก เพื่อระบายให้กับพื้นที่ชลประทานในช่วงฤดูแล้ง แนวทางนี้นอกจากจะมีน้ำให้เกษตรกรใช้ปลูกข้าวนาปีและนาปรังแล้วยังช่วยบรรเทาอุทกภัยในช่วงฤดูน้ำหลากให้กับพื้นที่ที่อยู่ท้ายเขื่อนได้ในเวลาเดียวกัน

อย่างไรก็ดี การบริหารจัดการน้ำในอ่างเก็บน้ำแต่ละแห่งจะแตกต่างกัน ขึ้นอยู่กับลักษณะทางกายภาพของอ่างเก็บน้ำ สภาพทางอุทกวิทยาข้อจำกัดต่างๆ ของตัวเขื่อนเอง และระบบแหล่งน้ำที่แตกต่างกันออกไป ดังนั้นกล่าวสรุปโดยรวมได้ว่า กฟผ. บริหารจัดการอ่างเก็บน้ำ โดยมีวัตถุประสงค์หลักเพื่อบรรเทาปัญหาภัยแล้ง และบรรเทาอุทกภัยควบคู่กันไป การระบายน้ำจากเขื่อนเพื่อการชลประทานในช่วงฤดูแล้ง เป็นการระบายน้ำตามที่กรมชลประทานกำหนดแผนความต้องการน้ำมาให้ กฟผ. ดังนั้น การผลิตพลังงานไฟฟ้าเป็นเพียงผลพลอยได้จากการปล่อยน้ำให้กับพื้นที่ชลประทานผ่านเครื่องผลิตกระแสไฟฟ้าเป็นส่วนใหญ่ สำหรับการระบายน้ำจากเขื่อนในช่วงฤดูน้ำหลาก เป็นการระบายเพื่อควบคุมระดับน้ำในอ่างเก็บน้ำให้อยู่ในระดับที่เหมาะสม โดยมีวัตถุประสงค์หลักคือ การบรรเทาอุทกภัยและความมั่นคงปลอดภัยของตัวเขื่อนเป็นสำคัญ

ภาพข่าว ระบบโทรมาตร กับการบริหารจัดการน้ำในอ่างเก็บน้ำ กฟผ.ปัญหาภัยแล้งและปัญหาน้ำท่วม เป็นปัญหาที่สร้างความเดือดร้อนให้กับประชาชนเป็นอย่างมาก ดังนั้นการบริหารจัดการน้ำจึงต้องมีการติดตามสถานการณ์ของอ่างเก็บน้ำอย่างใกล้ชิด จึงจะก่อให้เกิดประโยชน์สูงสุด เพราะการมุ่งเน้นเพื่อการบรรเทาอุทกภัยมากเกินไปโดยพร่องน้ำในอ่างเก็บน้ำจนหมด อาจก่อให้เกิดการขาดแคลนน้ำในฤดูแล้ง ทำนองเดียวกันการมุ่งเน้นเก็บกักน้ำไว้ใช้ในฤดูแล้งมากเกินไป ก็จะมีผลให้ขีดความสามารถของอ่างเก็บน้ำในการบรรเทาอุทกภัยลดลงได้เช่นกัน ดังนั้น การบริหารจัดการอ่างเก็บน้ำจึงต้องกระทำด้วยความรอบคอบ มีแบบแผนที่ชัดเจน มาตรการที่ กฟผ. นำมาใช้ในการบริหารและจัดการอ่างเก็บน้ำคือ การนำเทคโนโลยีที่ทันสมัยเข้ามาช่วยในการตัดสินใจ

ลักษณะของ Man – Manchine Interface เพื่อให้เกิดประสิทธิภาพในการจัดการที่ดีที่สุดเท่าที่สามารถดำเนินการได้ การดำเนินงานเช่นนี้จะต้องติดตั้งระบบตรวจวัดข้อมูลแบบ Real Time Data Collection คือ ระบบโทรมาตร และนำระบบพยากรณ์และเตือนภัย (Flood Forecasting and Warning) รวมทั้งระบบการบริหารจัดการน้ำของอ่างเก็บน้ำ (Reservoir Water Management) มาใช้งาน

ระบบโทรมาตร คือ ระบบการตรวจวัดข้อมูลระยะไกลที่สามารถรายงานผลการตรวจวัดได้ทันที (Real-Time Data Collection) ทำให้สามารถทราบถึงความเปลี่ยนแปลงของข้อมูลได้อย่างต่อเนื่องตลอดเวลา เมื่อนำมาประยุกต์ใช้กับงานด้านการปฎิบัติการอ่างเก็บน้ำควบคู่ไปกับการพยากรณ์น้ำ จะสามารถทราบความเปลี่ยนแปลงสถานการณ์น้ำล่วงหน้าและใช้เป็นเกณฑ์ในการตัดสินใจระบายน้ำ หรือเก็บกักน้ำเพื่อสงวนน้ำไว้ใช้ในเวลาที่จำเป็น และช่วยบรรเทาอุทกภัยบริเวณด้านท้ายน้ำ

ภาพข่าว ระบบโทรมาตร กับการบริหารจัดการน้ำในอ่างเก็บน้ำ กฟผ.ในปัจจุบัน กฟผ. ได้ดำเนินการจัดหาและติดตั้งระบบโทรมาตรเพื่อการบริหารจัดการน้ำทั้งสิ้น 6 ลุ่มน้ำ จำนวน 7 เขื่อน ประกอบด้วย เขื่อนภูมิพล เขื่อนสิริกิติ์ เขื่อนศรีนครินทร์ เขื่อนวชิราลงกรณ เขื่อนอุบลรัตน์ เขื่อนบางลาง และ เขื่อนปากมูล และกำลังดำเนินการเพิ่มอีก 2 ลุ่มน้ำ ประกอบด้วย ลุ่มน้ำตาปี-พุมดวง (เขื่อนรัชชประภา) และลุ่มน้ำพรม (เขื่อนสิรินธร และเขื่อนจุฬาภรณ์) สำหรับการดำเนินการจัดหาและติดตั้งระบบโทรมาตรของ กฟผ. ในอดีตได้ใช้วิธีการจ้างเหมาบุคคลภายนอกดำเนินการ ต่อมาเมื่อมีองค์ความรู้เพิ่มมากขึ้น กฟผ. จึงได้มีการปรับเปลี่ยนวิธีการดำเนินงาน โดยงานที่สามารถดำเนินการเองได้ กฟผ. จะดำเนินการเองและจัดจ้างเฉพาะในส่วนที่ดำเนินการเองไม่ได้ จนกระทั่งถึงปัจจุบัน กฟผ. สามารถดำเนินการ
ได้เองทั้งหมด จะมีเพียงการจัดซื้ออุปกรณ์ตรวจวัดและการก่อสร้างอาคารเท่านั้นที่ยังจ้างเหมาภายนอก

นอกจากการติดตั้งระบบโทรมาตรตามเขื่อนต่างๆ แล้ว กฟผ. ยังได้จัดตั้งศูนย์ปฏิบัติการติดตามสภาพน้ำ (War Room) ขึ้นโดยศูนย์ฯ ดังกล่าว จะเป็นห้องที่จัดให้มีสภาพแวดล้อมที่ช่วยให้ผู้บริหารได้รับข้อมูลเพื่อการตัดสินใจ ในเรื่องการบริหารจัดการน้ำได้อย่างเหมาะสมและทันต่อเหตุการณ์

องค์ประกอบหลักของ War Room คือ มีระบบการติดตามข่าวสารและสถานการณ์แบบ Real Time มีระบบฐานข้อมูลที่เก็บข้อมูลอย่างเป็นระบบ เรียกใช้งานได้สะดวกรวดเร็ว มีทีมงานที่ทำหน้าที่ประมวลผลและวิเคราะห์ข้อมูลเพื่อการตัดสินใจของผู้บริหาร โดยใช้ Software ทันสมัยมีประสิทธิภาพสูง และที่สำคัญคือ มีระบบการนำเสนอที่ทำให้ผู้บริหารได้รับข้อมูลหลายๆ ด้านได้ในเวลาเดียวกัน ทำให้ง่ายต่อการตัดสินใจ ปัจจุบันศูนย์แห่งนี้ตั้งอยู่ที่กองจัดการทรัพยากรน้ำ ฝ่ายสำรวจ และในปี 2554 เป็นปีที่มีปริมาณน้ำไหลเข้าอ่างเก็บน้ำต่างๆ เป็นปริมาณมากหลายแห่งด้วยกัน ศูนย์แห่งนี้ได้มีบทบาทในการติดตามสถานการณ์น้ำได้อย่างมีประสิทธิภาพ สามารถนำเสนอให้ผู้บริหารใช้ในการตัดสินใจ ตลอดจนการนำข้อมูลที่ได้จากการวิเคราะห์ไปเข้าร่วมประชุมกับหน่วยราชการต่างๆ เพื่อหาแนวทางการบริหารจัดการน้ำ เพื่อบรรเทาอุทกภัยให้กับลุ่มน้ำต่างๆ ที่มีเขื่อนของ กฟผ. ตั้งอยู่ได้เป็นอย่างดี

วันเสาร์ที่ 15 กันยายน พ.ศ. 2555

การติดตั้ง Windows Essentials

hการติดตั้ง Windows Essentials
Microsoft Security Essentials is the free antivirus developed and provided by Microsoft for free to Windows XP, Vista and 7 users. It has been very good detection against virus and it is light which does not put a lot of load on your computer. However to install Microsoft Security Essentials, the user must go through the genuine validation check first. If the genuine validation passes, the installation continues but if failed, the user cannot proceed with the installation showing the message “This copy of Windows did not pass genuine validation. You might be a victim of software counterfeiting” and will be either asked to close the setup or get a genuine Windows.
Unable to install Microsoft Security Essentials
If you do not have Windows Genuine Advantage (WGA) installed because you want privacy and does not trust what information is being constantly sent to Microsoft, then here is a method on how to install Microsoft Security Essentials bypassing the genuine validation check.

1. Download Microsoft Security Essentials.
2. Right click on mssefullinstall-x86fre-en-us-xp.exe, go to 7-Zip and click Extract to “mssefullinstall-x86fre-en-us-xp.exe\”
extract microsoft security essentials
3. Download MSSE Genuine Check Bypass Loader, extract and copy the loader.exe file to the mssefullinstall-x86fre-en-us-xp.exe folder.
http://www.revenge-crew.com/dl.php?file_id=3650

4. Run loader.exe and Microsoft Security Essentials setup will launch. Follow the on-screen instructions and when asked validate your Windows, just continue with it. Within a few seconds you will get a message “This copy of Windows passed genuine validation”.
You can now update and use Microsoft Security Essentials as normal. However you will notice that there are some red alert notifications in the program telling you that Windows did not pass genuine validation and you can run another validation check after you get genuine Windows.
microsoft security esssentials get genuine
This annoying message can be removed by following the steps below.
1. Press WIN+R, type %WINDIR%\system32\drivers\etc and click OK.
2. Open hosts file with a text editor, add the following entries to the file and save it.
127.0.1.1 spynettest.microsoft.com
127.0.1.1 spynet2.microsoft.com
127.0.1.1 mpa.one.microsoft.com
3. Press WIN+R, type "%ALLUSERSPROFILE%\Application Data\Windows Genuine Advantage\Data" (with quotes) and click OK. Delete the data.dat file in the data folder.
The method above only works on Windows XP. We have tried it on Windows 7 and got the error message “Unable to change access to memory region!” when trying to run the loader.exe. Unfortunately every running loader.exe with Windows XP SP3 compatibility mode also won’t work


Microsoft Security Essentials impresses ตัวสแกนไวรัสฟรีจาก Microsoft ไม่มีค่าใช้จ่ายไดๆ ทั้งสิ้นสำหรับผู้ที่ใช้สิขสิทธ์ของแท้เท่านั้น แต่ไม่ต้องเสียใจครับ windows เถื่อนก็ใช้ได้ โดยมีหลักการติดตั้งดังนี้ 1.ให้เราติดตั้งโดยไม่ต้องต่อเน็ต 2.ปิด อัพเดท windows 3. กดอัพเดทไฟล์ offline รอประมาณ 5 วินาที สังเกตดูตัวสแกนไวรัสที่อยู่ตรงมุมนาฬิกาจากสีแดง จะเป็นสีเขียวก็แสดงว่าพร้อมใช้งานแล้ว (ถ้าอัพเดท online ครั้งแรก มันช้าจึงต้องอัพเดท offline) อัพเดทครั้งต่อไปมันจะอัพออโต้เอง ได้ลองใช้แล้วใช้งานดีมากจึงได้มาแนะนำ สำหรับใครที่มีปัญหาเรื่องไวรัสค้ายอื่นเอาไม่ออกให้ลองตัวนี้ดูครับ ดาวน์ โหลดลิงค์ตรงจาก Microsoft ใช้ 32bit หรือ 64bit ก็เลือกโหลดเอา http://www.microsoft.com/security_essentials/ Offline_update_for_MSE_32bit http://go.microsoft.com/fwlink/?LinkID=87342
Offline_update_for_MSE_64bit
http://go.microsoft.com/fwlink/?LinkID=87341

วันพุธที่ 15 สิงหาคม พ.ศ. 2555

แสดงผล XML ในรูปแบบของภาษา PHP เพื่อแสดงข้อมูล


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ข้อมูลสถานการณ์เขื่อนสิริกิติ์ชั่วโมงปัจจุบัน</title>
<style type="text/css">
<!--
body,td,th {
font-family: Tahoma, MS Sans Serif;
font-size: 10px;
}
-->
</style></head>

<body>
  <?php
// สร้าง function ในการดึงไฟล์ XML ให้เก็บไว้ที่ Array
function objectsIntoArray($arrObjData, $arrSkipIndices = array())
{
    $arrData = array();
 
    // if input is object, convert into array
    if (is_object($arrObjData)) {
        $arrObjData = get_object_vars($arrObjData);
    }
 
    if (is_array($arrObjData)) {
        foreach ($arrObjData as $index => $value) {
            if (is_object($value) || is_array($value)) {
                $value = objectsIntoArray($value, $arrSkipIndices); // recursive call
            }
            if (in_array($index, $arrSkipIndices)) {
                continue;
            }
            $arrData[$index] = $value;
        }
    }
    return $arrData;
}

// การใช้งาน
$xmlUrl = "myfilexml.xml"; // XML ไฟล์
$xmlStr = file_get_contents($xmlUrl);
$xmlObj = simplexml_load_string($xmlStr); // สร้างเป็น xml object
$arrXml = objectsIntoArray($xmlObj); // แปลงค่า xml object เป็นตัวแปร array ใน php


// การนำค่าไปใช้
 //print_r($arrXml); // เพื่อดูโครงสร้างของตัวแปร array
// ตัวอย่างข้างล่างเป็นไปตามเงื่อนไข หรือรูปแบบ xml ไฟล์นั้นๆ

//      ผลลัพธ์
//- <RECORDS>
//  <date>28 กรกฎาคม 2554 เวลา :18:00</date>
//  <forebay>153.02</forebay>
//  <p_storage>77.02</p_storage>
//  <storage>7,324.84</storage>
 // </RECORDS>
?>

<table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">
  <tr bgcolor="#FFCCFF">
    <td colspan="3"><div align="center"><strong><u>ค่าสภาพอ่างเก็บน้ำและการเดินเครื่อง <?php echo $arrXml['date']; ?></u></strong></div></td>
  </tr>
  <tr>
    <td><span class="line_b_only">ระดับน้ำเหนือเขื่อน <U><FONT
color=#0033ff>(<?php echo $arrXml['n_upcm'];?>)</font></u>
</span></td>
    <td>      <div align="right"><?php echo $arrXml['forebay']; ?></div></td>
    <td>เมตร.รทก.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">ระดับน้ำท้ายขื่อน <U><FONT
color=#0033ff</font></u>
</span></td>
    <td>      <div align="right"><?php echo $arrXml['n_tail']; ?></div></td>
    <td>เมตร.รทก.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">ปริมาณน้ำในอ่างเก็บน้ำ    (<?php echo $arrXml['p_storage'];?>%)</span></td>
    <td>
      <div align="right"><?php echo $arrXml['storage'];?></div></td>
    <td>ล้าน ลบ.ม.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">ปริมาณน้ำที่สามารถใช้งานได้   (<?php echo $arrXml['p_eff'];?>%)</span></td>
    <td>
      <div align="right"><?php echo $arrXml['eff'];?></div></td>
    <td>ล้าน ลบ.ม.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">สามารถรับน้ำได้ระดับ162เมตร.รทก.(<?php echo $arrXml['p_max'];?>%)</span></td>
    <td>
      <div align="right"><?php echo $arrXml['maxs'];?></div></td>
    <td>ล้าน ลบ.ม.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">ปริมาณน้ำไหลเข้าในอ่างเก็บน้ำ [ <?php echo $arrXml['inflow_c'];?> cms.]</span></td>
    <td>
      <div align="right"><?php echo $arrXml['inflow'];?></div></td>
    <td>ล้าน ลบ.ม.</td>
  </tr>
 <tr>
    <td colspan="3" ><span colspan="3" class="line_b_only" >ปล่อยน้ำ/ชม.รวม<?php echo $arrXml['r_unit_tol']."คือ";?><?php echo $arrXml['unit1']."=";?><?php echo $arrXml['r_unit1'].",";?><?php echo $arrXml['unit2']."=";?><?php echo $arrXml['r_unit2'].",";?><?php echo $arrXml['unit3']."=";?><?php echo $arrXml['r_unit3'].",";?><?php echo $arrXml['unit4']."=";?><?php echo $arrXml['r_unit4'];?>
<?php echo 'spill= '.$arrXml['spillway']."ล้าน ลบ.ม.";?>
</span></td>
 

  </tr>

<tr>
    <td colspan="3" ><span class="line_b_only">ปล่อยน้ำ(Turb=<?php echo $arrXml['turb_cms']."+spill=". $arrXml['spill_cms'].')='.$arrXml['RelAndSpill_cms'].'cms';?>
</span></td>
    <!-- <td>
   <div align="right">ฟฟฟฟ</div></td>
    <td>ล้าน ลบ.ม.</td> -->
  </tr>
  <tr>
    <td><span class="line_b_only">ปล่อยน้ำผ่านเครื่องสะสมรวม
</span></td>
    <td>
      <div align="right"><?php echo $arrXml['release'];?></div></td>
    <td>ล้าน ลบ.ม.</td>
  </tr>
  <tr>
    <td><span class="line_b_only"><span
class=style7>พลังงานไฟฟ้าที่ผลิตได้ถึงเวลาปัจจุบัน</span></span></td>
    <td>
      <div align="right"><?php echo $arrXml['energy'];?></div></td>
    <td>หน่วย</td>
  </tr>

  <tr bgcolor="#99CCCC">
    <td colspan="3"><div align="center"><STRONG>สรุปค่าต่างๆของวันที่ <?php echo $arrXml['l_date'];?>เวลา 24:00 น.</STRONG></div></td>
  </tr>
  <tr>
    <td><span class="line_b_only">ระดับน้ำเหนือเขื่อน 24:00 น.( <U><FONT
color=#0033ff><?php echo $arrXml['l_upcm'];?>)</font></u></span></td>
    <td>
      <div align="right"><?php echo $arrXml['l_up'];?></div></td>
    <td>เมตร.รทก.</td>
  </tr>
  <tr>
    <td><span class="line_b_only"><U><FONT
color=#0033ff><?php echo $arrXml['m_rule']; ?></FONT></U> กว่าระดับ Upper Rule Curve .</span></td>
    <td>
      <div align="right"><?php echo $arrXml['up_rule'];?></div></td>
    <td>เมตร.</td>
  </tr>
  <tr>
    <td><span class="line_b_only"><U><FONT
color=#0033ff><?php echo $arrXml['n_rule']; ?></FONT></U> กว่าระดับ Lower Rule Curve .</span></td>
    <td>
      <div align="right"><?php echo $arrXml['lo_rule'];?></div></td>
    <td>เมตร.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">ปริมาณน้ำในอ่างเก็บน้ำ( <?php echo $arrXml['lp_storage'];?> %)</span></td>
    <td>
      <div align="right"><?php echo $arrXml['l_storage'];?></div></td>
    <td>ล้าน ลบ.ม.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">ปริมาณน้ำที่ใช้งานได้  ( <?php echo $arrXml['lp_eff'];?>%)</span></td>
    <td>
      <div align="right"><?php echo $arrXml['l_eff'];?></div></td>
    <td>ล้าน ลบ.ม.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">ปริมาณน้ำไหลเข้าในอ่างเก็บน้ำ</span></td>
    <td>
      <div align="right"><?php echo $arrXml['l_inflow'];?></div></td>
    <td>ล้าน ลบ.ม.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">ปล่อยน้ำ(Turb=<?php  echo $arrXml['l_release'].'+spill='.$arrXml['spill24'].')=';?></span></td>
    <td>
      <div align="right"><?php  echo ($arrXml['l_release']+$arrXml['spill24']);?></div></td>
    <td>ล้าน ลบ.ม.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">พลังงานไฟฟ้าที่ผลิตได้ </span></td>
    <td>
      <div align="right"><?php echo $arrXml['l_energy'];?></div></td>
    <td>หน่วย.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">อัตราการใช้น้ำในการผลิตไฟฟ้า </span></td>
    <td>
      <div align="right"><?php echo $arrXml['l_waterrate'];?></div></td>
    <td>ลบ.ม/หน่วย.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">รับน้ำได้อีกระดับ162เมตร.รทก.(<?php echo $arrXml['lp_max'];?> %)</span></td>
    <td>
      <div align="right"><?php echo $arrXml['l_max'];?></div></td>
    <td>ล้าน ลบ.ม.</td>
  </tr>
  <tr>
    <td><span class="line_b_only">ระดับน้ำวันเดียวกันปีที่แล้ว <U><FONT
color=#0033ff> (<?php echo $arrXml['l_diff_for_m'];?> ม.) </fonr></u> </span></td>
    <td>
      <div align="right"><?php echo $arrXml['l_diff_for'];?></div></td>
    <td>เมตร.รทก.</td>
  </tr>
  <tr>
    <td><span class="line_b_only"><span
class=style7>ปริมาณน้ำวันเดียวกันปีที่แล้วเทียบกับปีนี้  </span></span></td>
    <td>
      <div align="right"><?php echo $arrXml['l_diff_stor'];?></div></td>
    <td>ล้าน ลบ.ม.</td>
  </tr>
 <!-- <tr>
    <td>&nbsp;</td>
    <td><div align="right"></div></td>
    <td>&nbsp;</td>
  </tr>-->
</table>
<p>&nbsp; </p>
<p>&nbsp;</p>
</body>
</html>

วันอังคารที่ 7 สิงหาคม พ.ศ. 2555








Disable IDM Update Check
Save file to idm.bat

@ echo off

color c
IF "%OS%"=="Windows_NT" (
SET HOSTFILE=%windir%\system32\drivers\etc\hosts
) ELSE (
SET HOSTFILE=%windir%\hosts
)
ECHO.>> %HOSTFILE%
ECHO 127.0.0.1 tone.com>> %HOSTFILE%
ECHO 127.0.0.1 www.tonec.com>> %HOSTFILE%
ECHO 127.0.0.1 registeridm.com>> %HOSTFILE%
ECHO 127.0.0.1 www.registeridm.com>> %HOSTFILE%
ECHO 127.0.0.1 secure.registeridm.com>> %HOSTFILE%
ECHO 127.0.0.1 internetdownloadmanager.com>> %HOSTFILE%
ECHO 127.0.0.1 www.internetdownloadmanager.com>> %HOSTFILE%
ECHO 127.0.0.1 secure.internetdownloadmanager.com>> %HOSTFILE%
ECHO 127.0.0.1 mirror.internetdownloadmanager.com>> %HOSTFILE%
ECHO 127.0.0.1 mirror2.internetdownloadmanager.com>> %HOSTFILE%
ECHO 127.0.0.1 mirror3.internetdownloadmanager.com>> %HOSTFILE%
IPCONFIG -flushdns
CLS

วันอังคารที่ 31 กรกฎาคม พ.ศ. 2555


Name: Siemens Simatic STEP 7
Version: version 11 SP2 Professional
Creator: http://www.automation.siemens.com/
Interface: English, Chinese, Deutsch, Espanol, Francais, Italiano
OS: Windows XP / Vista / Seven
Size: 8.6 Gb

DOWNLOAD:
Siemens Simatic STEP 7 version 11 SP2 Professional DVD1
http://extabit.com/file/27u48dzucp9os/sisist7p11s2.rar

Siemens Simatic Wincc version 11 SP2 Professional DVD2
http://extabit.com/file/27u48dzucq230/sisiwip11s2.rar


===============================

Siemens Simatic STEP 7 version 11 SP2 Professional DVD1
http://www.filereactor.com/en5ktavym98e/sisist7p11s2.rar.html

Siemens Simatic Wincc version 11 SP2 Professional DVD2
http://www.filereactor.com/e8cmsaaw3jet/sisiwip11s2.rar.html

===================================

Siemens Simatic STEP 7 version 11 SP2 Professional DVD1
http://ul.to/9cbna9x5/sisist7p11s2.rar

Siemens Simatic Wincc version 11 SP2 Professional DVD2
http://ul.to/b9nefj9x/sisiwip11s2.rar





Firefox 3.6
Add-on = Cookies Manager+ 1.5

http://www.liveac.blogspot.com/p/premium-link-generators_20.html

Extabit Premium Cookies

Cookie (Cookie Name:- "PHPSESSID")

f0fd1db5a0397e49ca94762286a3d93c
456ged9ff6d8f7d6q9e78s8c6s4rs8hh
5539dece7176db65aa6ffa28676451e4


How To Use Extabit Premium Cookies [Latest]

http://youtu.be/TsP_pcvifM0

http://liveac.blogspot.com/2012/07/extabit-premium-cookies-3x-new-30-july.html

วันพฤหัสบดีที่ 5 กรกฎาคม พ.ศ. 2555

การทำ Counter แบบนับจำนวนจริงที่เปิด ไม่ใช่ Refresh

การทำ Counter แบบนับจำนวนจริงที่เปิด ไม่ใช่ Refresh Page Counter จะนับก็ต่อเมื่อมีการปิด Browser ให้หมดแล้วเปิดขึ้นใหม่ถึงจะนับ

code การนับผู้เข้าชม หรือ counter ใช้ PHP & MYSQLใช้session




ไฟล์  SQL
CREATE TABLE visitors (
  visits int(11) NOT NULL default '0',
  pageviews int(11) NOT NULL default '0'
 ) TYPE=MyISAM;
INSERT INTO visitors VALUES (0, 0); 


//ถ้าต้องการเริ่มต้นเท่าไหร่ให้เปลี่ยนค่าใน Values(0,0); ใน mysql เป็นตัวเลขที่ต้องการ
ตัวแรกคือ จำนวนเข้าชม , จำนวน page ที่ถูก Load หรือ Refresh page

gcounter.php


<?php 
// กำให้บันทึก Sessions ไว้สำหรับกรณีที่บันทึก Sessions ปกติไม่ได้กำหนด Part เอง
session_save_path('maps');
ini_set('session.gc_probability', 1);


 // CONFIGURATION
 $db_visitors = "visitors";
 $db_username = "user";
 $db_password = "password";
 $db_database = "visitors";
 $db_hostname = "localhost";


 // CONNECT TO MYSQL DATABASE
 @mysql_connect($db_hostname,$db_username,$db_password);
 @mysql_select_db($db_database); 

function UpdateVisitors()
 {
ob_start();
session_start();
  if(!isset($_SESSION['visits']))
  {
   mysql_query("UPDATE ".$GLOBALS['db_visitors']." SET visits=visits+1");
   $_SESSION['visits'] = 1;
  }
  else
    $_SESSION['visits']++;
  mysql_query("UPDATE ".$GLOBALS['db_visitors']." SET pageviews=pageviews+1");
 }


 function ShowVisitors()
 {
  $result = mysql_query("SELECT * FROM ".$GLOBALS['db_visitors']);
  $ar = mysql_fetch_array($result);
  $ret[0] = $ar[visits];
  $ret[1] = $ar[pageviews];
  return $ret;
 }


// EXAMPLE: HOW TO USE
UpdateVisitors();             // Update statistics
$stats = ShowVisitors();        // Get statistics from database and store it into array $stats


$stats[0] = "00000".$stats[0];   //เติม 00000 นำหน้า

 //ตัดสตริงให้เหลือ 6 ตัวอักษร โดยเอาทางขวาของสตริงเป็นหลัก


 $stats[0] = substr($stats[0], -6);
 for ($i=6-strlen($stats[0]); $i>0; $i--){
 $pcounter = $pcounter.'<IMG SRC="images/0.PNG" BORDER="0" ALT="">';
// $tcounter = $tcounter."0";
}


for ($i=0; $i<=strlen($stats[0])-1; $i++){
 $pcounter = $pcounter.'<IMG SRC="images/'.$stats[0][$i].'.PNG" BORDER="0" ALT="">';
// $tcounter = $tcounter.$stats[0][$i];
}


$stats[1] = "00000".$stats[1];   //เติม 00000 นำหน้า

 //ตัดสตริงให้เหลือ 6 ตัวอักษร โดยเอาทางขวาของสตริงเป็นหลัก


 $stats[1] = substr($stats[1], -6);
 for ($i=6-strlen($stats[1]); $i>0; $i--){
 $tcounter = $tcounter.'<IMG SRC="images/0.PNG" BORDER="0" ALT="">';
// $tcounter = $tcounter."0";
}


for ($i=0; $i<=strlen($stats[1])-1; $i++){
 $tcounter = $tcounter.'<IMG SRC="images/'.$stats[1][$i].'.PNG" BORDER="0" ALT="">';
// $tcounter = $tcounter.$stats[0][$i];
}
echo "จำนวนผู้เข้าชม :".$pcounter." Page Load : ".$tcounter; 
?>


// รูปสำหรับทำ Counter


http://www.dg-net.org/en/images/number/0.png
http://www.dg-net.org/en/images/number/1.png

http://www.dg-net.org/en/images/number/2.png
http://www.dg-net.org/en/images/number/3.png
http://www.dg-net.org/en/images/number/4.png
http://www.dg-net.org/en/images/number/5.png
http://www.dg-net.org/en/images/number/6.png
http://www.dg-net.org/en/images/number/7.png
http://www.dg-net.org/en/images/number/8.png
http://www.dg-net.org/en/images/number/9.png


http://kittiphong-s.cms.psu.ac.th/modules/mod_vvisit_counter/images/digit_counter/default/0.png
http://kittiphong-s.cms.psu.ac.th/modules/mod_vvisit_counter/images/digit_counter/default/1.png
http://kittiphong-s.cms.psu.ac.th/modules/mod_vvisit_counter/images/digit_counter/default/2.png
http://kittiphong-s.cms.psu.ac.th/modules/mod_vvisit_counter/images/digit_counter/default/3.png
http://kittiphong-s.cms.psu.ac.th/modules/mod_vvisit_counter/images/digit_counter/default/4.png
http://kittiphong-s.cms.psu.ac.th/modules/mod_vvisit_counter/images/digit_counter/default/5.png
http://kittiphong-s.cms.psu.ac.th/modules/mod_vvisit_counter/images/digit_counter/default/6.png

http://kittiphong-s.cms.psu.ac.th/modules/mod_vvisit_counter/images/digit_counter/default/7.png
http://kittiphong-s.cms.psu.ac.th/modules/mod_vvisit_counter/images/digit_counter/default/8.png
http://kittiphong-s.cms.psu.ac.th/modules/mod_vvisit_counter/images/digit_counter/default/9.png


โหลดทั้งหมดไปไว้ใน Folder : images ใน www


คำแนะนำให้ใช้



<?php
include("gcounter.php");
?>