Category Archives: สอนไพธอน

ไฟกระพริบง่ายนิดเดียว : บน Raspi ด้วย PWM ใน RPi.GPIO

ไฟกระพริบง่ายนิดเดียว : บน Raspi ด้วย PWM ใน RPi.GPIO

ทำไฟกระพริบบน Raspi ด้วย Python ง่ายนิดเดียวครับใน module RPi.GPIO มี PWM (Pulse Width Modulation) ให้ไช้แล้ว และเจ้าตัวนี้สามารถนำไปใช้เป็นตัวปล่อย signal ให้กับ servo ได้ด้วย

ไฟกระพริบ ด้วย Python PWM บน Raspi

มาดู code ไฟกระพริบกัน

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)

p = GPIO.PWM(7, 0.5)
p.start(1)
input('Press return to stop:')   # use raw_input for Python 2
p.stop()
GPIO.cleanup()

สร้างไฟล์ด้วย sudo nano blinkled.py แล้ว copy code ด้านบนใส่ แล้วลอง run ดูเลย
การต่อ LED ขาบวกต่อกับขา 7 ของบอร์ดราสพาย

ทดสอบรัน python script ด้วย sudo python blinkled.py

การเปิด-ปิด 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