Tôi đã tự làm robot với Raspberry Pi và Arduino như thế nào ? - Phần 2: Điều Khiển đèn Led từ giao diện Web

Mô tả dự án: 

Bài trước chúng ta đã thiết lập những cơ bản cần thiết cho webserver Raspi. Hôm nay mình tiếp tục vận dụng để phát triển một phương thức điều khiển.laugh

Lập trình

1. Lập trình trang web

a. Tạo button bật tắt trong file index.html

<button type="button" id="on">Bật Đèn</button><br>
<button type="button" id="off">Tắt Đèn</button><br>

b. Cách để gọi file php thực thi của mình mà không phải load lại trang

  <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
  <script type="text/javascript">
   $(document).ready(function(){
    $('#on').mousedown(function(){     // Chỗ on là bạn thay cái id mà bạn đặt cho button 
     var a = new XMLHttpRequest();
     a.open("GET", "batden.php");   // thay cái batden.php thành file thực thi của bạn
     a.onreadystatechange=function(){
      if(a.readyState==4){
       if(a.status == 200){
       }
       else{
       alert("Error")
       }
      }
     }
     a.send();
    });
$(document).ready(function(){
    $('#off').mousedown(function(){     // Chỗ off là bạn thay cái id mà bạn đặt cho button 
     var a = new XMLHttpRequest();
     a.open("GET", "tatden.php");   // thay cái tatden.php thành file thực thi của bạn
     a.onreadystatechange=function(){
      if(a.readyState==4){
       if(a.status == 200){
       }
       else{
       alert("Error")
       }
      }
     }
     a.send();
    });
   });
  </script>

2. Tạo file PHP thực thi

cd /var/www/html/
sudo nano batden.php

Nội dụng file này là gọi một file python

<?php
        exec('sudo python /var/www/html/python/batden.py');
?>
Ctrl + x
y
sudo nano tatden.php
<?php
        exec('sudo python /var/www/html/python/tatden.py');
?>
Ctrl + x
y

3. Tạo file python

cd /var/www/html/
sudo mkdir python
cd python
sudo nano batden.py

Các bạn copy code này vào

import RPi.GPIO as GPIO 
GPIO.setmode(GPIO.BOARD) 
GPIO.setup(7, GPIO.OUT) 
GPIO.output(7,True) 
Ctrl + x
y
Tiếp theo là tạo file python tắt đèn:
sudo nano tatden.py
import RPi.GPIO as GPIO 
GPIO.setmode(GPIO.BOARD) 
GPIO.setup(7, GPIO.OUT) 
GPIO.output(7,False)
Ctrl + x
y

4. Cấp quyền cho nó đã nhé

sudo visudo
www-data ALL=(ALL) NOPASSWD: ALL
Ctrl + x
y
sudo chmod 777 /var/www/html/

xong các bạn vào từng thư mục nhập lệnh này thử:

ls

Nếu thấy tất cả màu xanh lá cây là oke cheeky

Nếu vẫn không được thì bạn chmod từng tập tin thôi !

6. Bây giờ gắn mạch và test cheeky

Kết luân

Yeah, bây giờ chúng ta đã điều khiển được một Led đơn giản qua trang web rồi laugh. Các bạn hãy thử tạo một giao diện thiệt đẹp nha!

Các bạn hãy like và share để mình có động lực chiến tiếp nha devilyesenlightened

Đây là video thành phẩm đơn giản . Chỉnh hd xem nhé yes

Youtube: 
lên
10 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Raspberry Pi Kết Hợp Arduino

Như các bạn đã biết Raspberry pi là một máy tính mini nên nó rất mạnh về có thể kết nối internet, lậpj trình nhúng trang web một cách dễ dàng, nhưng nó lại không an toàn cho các dự án phần cứng. Còn Arduino thì rất bền kết hợp tốt nhiều phần cứng nhưng về mảng IoT thì cũng hạn chế hơn raspberry pi. Mỗi cái riêng lẻ là một hạn chế, nhưng tại sao chúng ta không kết hợp chúng lại để dự án của mình tối ưu hóa hơn. Vâng, hôm nay mình xin hướng dẫn các bạn một cách để giao tiếp PI với Arduino.coolangelenlightenedheartyes

lên
10 thành viên đã đánh giá bài viết này hữu ích.

Điều khiển 8 LED với RASPBERRY PI theo "ARDUINO Style"

Hôm nay mình sẽ chia sẻ với các bạn một cách để mình điều khiển đèn nhiều LED (8 LED) trên máy tính Raspberry Pi. ĐIều đặc biệt mình và có lẽ các bạn cũng sẽ rất hứng thú đó là chúng ta có thể lập trình nó theo phong cách arduino :). Raspi theo phong cách arduino như thế nào? Chúng ta cùng bắt đầu nào :p

lên
7 thành viên đã đánh giá bài viết này hữu ích.