Category Archives: PHP + Python +GPIO

การเปิด-ปิด LED ผ่าน WEB บน Raspberry Pi ด้วย Python GPIO,PHP,apache

การเปิด-ปิด LED ผ่าน WEB บน Raspberry Pi ด้วย Python GPIO,PHP,apache ในบทความ python GPIO ที่ผ่านมาได้สอนถึงการเปิด-ปิด LED ด้วย Python กันแล้ว บทความนี้จะสอนวิธีการรัน python script ด้วย PHP โดยทำให้ Raspi เป็น webserver ด้วยการติดตั้ง Apache + PHP

LED on-off ezenow.com

 

สิ่งที่ต้องมี

  1. ไฟล์ Led_On.py , Led_Off.py ซึ่งเป็นไฟล์ python ที่เขียนขึ้นเพื่อเปิด-ปิด LED

LED on-off ezenow.com LED on-off ezenow.com

Package ที่ต้องติดตั้งเพิ่ม

  1. Apache2
  2. PHP5

ขั้นตอน

  1. ติดตั้ง apache2 (sudo apt-get install apache2)
  2. ติดตั้ง PHP (sudo apt-get install libapache2-mod-php5 php5 php-pear php5-xcache)
  3. ตั้งค่า network (sudo nano /etc/network/interfaces) เพื่อ fix IP (เวลาเรียกใช้งาน ผ่านเว็บจะได้ไม่ต้องมาคอยหา)
  4. sudo nano led.php (สร้างไฟล์ php สำหรับเปิดปิด LED) แล้วพิมพ์ตามด้านล่าง
      1.  <?php
        $state = $_GET[‘s’];if ($state==”on”)
        {
        exec(‘python /home/pi/Led_On.py’);
        echo “LED on! <a href=” .$_SERVER[‘PHP_SELF’].  “?s=off>Click to off</a>”;
        }if ($state==”off”)
        {
        exec(‘python /home/pi/Led_Off.py’);
        echo “LED off! <a href=”.$_SERVER[‘PHP_SELF’]. “?s=on>Click to on</a>”;}?>
      2. อธิบายการทำงาน ไฟล์ led.php จะไปเรียก file python มารัน (ลองไล่ code PHP ดูครับ ) ใครที่ใช้ AJAX เป็นก็ลองประยุกต์ต่อด้วยการเอา AJAX มาครอบตัวครับ
  5. ทดสอบ ด้วยการเปิด browser (จากเครื่องไหนก็ได้ในวง LAN เดียวกัน) ขึ้นมาพิมพ์ URL ( ip ของเครื่อง raspi ) ตามด้วย /led.php?s=on (เปิด LED) เช่นถ้า ip ของ Raspi เป็น 192.168.1.6  ตอนพิมพ์บน url จะเป็น http://192.168.1.6/led.php?s=on
  6. ถ้าไม่ทำงานบน brower ให้   sudo nano /etc/sudoers  แล้วใส่  www-data ALL=(ALL) NOPASSWD: ALL  ตรงท้ายสุด


การประยุกต์ใช้งาน

  1. ลองเอาไปสั่งเปิดปิด relay ดูสิ
  2. ลอง ควบคุม GPIO หลายๆ ขา + relay หลายๆ ตัวดูสิ

 

** ถ้าไม่ทำงานบน brower  ให้   sudo nano /etc/sudoers  แล้วใส่  www-data ALL=(ALL) NOPASSWD: ALL  ตรงท้ายสุด

WordPress SEO fine-tune by Meta SEO Pack from Poradnik Webmastera