Đầu ra hệ điều hành python

Module os là module có sẵn trong Python, chúng ta có thể gọi ra sử dụng bất cứ lúc nào mà không cần cài đặt gì cả. Xem xét ví dụ sau

import os
os.system['ls -l /usr']

Đoạn mã sẽ gọi lệnh. “ls -l /usr ” sẽ liệt kê danh sách tệp và thư mục tại thư mục “/usr” của hệ điều hành

Trường hợp chúng ta muốn chạy lệnh trên Linux và lưu nó vào 1 biến trong Python

We used os function. popen[], other with function os. hệ thống[]. Nó sẽ ngăn không xuất ra thiết bị xuất chuẩn mà lưu nó vào 1 biến trong Python

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]

2. Use module sub process

Quy trình con mô-đun cũng là mô-đun tích hợp sẵn trong Python, nó được sử dụng phổ biến hơn và mềm dẻo hơn với nhiều đối số bắt đầu vào

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
  • thiết bị xuất chuẩn sẽ lưu kết quả của lệnh
  • stderr will save the error of command in the TRƯỜNG HỢP PHÁT SINH LỖI

Trường hợp chúng ta muốn đọc từng dòng trong kết quả đầu ra

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']

3. Use module paramiko

Module paramiko thực sự là module mạnh để thực thi lệnh trên Linux. Nó không chạy lệnh trên cục bộ mà còn có thể chạy lệnh trên Máy chủ từ xa thông qua SSH

Để cài đặt và sử dụng paramiko các bạn vui lòng tham khảo bài viết mà mình viết dành riêng cho paramiko. Kết nối SSH và chạy lệnh trên Remote Linux Server

Raspberry Pi là một trong những bo mạch điện toán vật lý hàng đầu trên thị trường. Từ những người có sở thích xây dựng các dự án DIY cho đến những sinh viên lần đầu tiên học lập trình, mọi người sử dụng Raspberry Pi hàng ngày để tương tác với thế giới xung quanh họ. Python được tích hợp sẵn trên Raspberry Pi, vì vậy bạn có thể sử dụng các kỹ năng của mình và bắt đầu xây dựng các dự án Raspberry Pi của riêng mình ngay hôm nay

Trong hướng dẫn này, bạn sẽ học cách

  • Thiết lập Raspberry Pi mới
  • Chạy Python trên Raspberry Pi bằng trình chỉnh sửa Mu hoặc từ xa qua SSH
  • Đọc đầu vào từ các cảm biến vật lý được kết nối với Raspberry Pi
  • Gửi đầu ra cho các thành phần bên ngoài bằng Python
  • Tạo các dự án độc đáo với Python trên Raspberry Pi

Bắt đầu nào

Tải xuống miễn phí. Nhận một chương mẫu từ Thủ thuật Python. Cuốn sách chỉ cho bạn các phương pháp hay nhất về Python với các ví dụ đơn giản mà bạn có thể áp dụng ngay lập tức để viết mã Pythonic + đẹp hơn

Làm quen với Raspberry Pi

Raspberry Pi là một máy tính bảng đơn được phát triển bởi Raspberry Pi Foundation, một tổ chức từ thiện có trụ sở tại Vương quốc Anh. Ban đầu được thiết kế để cung cấp cho những người trẻ tuổi một tùy chọn điện toán hợp lý để học cách lập trình, nó đã phát triển một lượng lớn người theo dõi trong cộng đồng nhà sản xuất và DIY nhờ kích thước nhỏ gọn, môi trường Linux hoàn chỉnh và các chân cắm đầu vào-đầu ra đa năng [GPIO]

Với tất cả các tính năng và khả năng được tích hợp trong bo mạch nhỏ này, không thiếu các dự án và trường hợp sử dụng cho Raspberry Pi

Một số dự án ví dụ bao gồm những điều sau đây

  • Robot xếp hàng
  • Trạm thời tiết tại nhà
  • máy chơi game cổ điển
  • Camera phát hiện đối tượng thời gian thực
  • máy chủ Minecraft
  • Hộp nhạc điều khiển bằng nút bấm
  • Trung tâm Truyền thông
  • Thí nghiệm từ xa trên Trạm vũ trụ quốc tế

Nếu bạn có thể nghĩ ra một dự án sẽ được hưởng lợi từ việc gắn một máy tính cỡ thẻ tín dụng vào đó, thì có lẽ ai đó đã sử dụng Raspberry Pi để thực hiện dự án đó. Raspberry Pi là một cách tuyệt vời để biến các ý tưởng dự án Python của bạn thành hiện thực

Loại bỏ các quảng cáo

Tổng quan về bảng Raspberry Pi

Raspberry Pi có nhiều yếu tố hình thức cho các trường hợp sử dụng khác nhau. Trong hướng dẫn này, bạn sẽ xem xét phiên bản mới nhất, Raspberry Pi 4

Dưới đây là cách bố trí bo mạch của Raspberry Pi 4. Mặc dù cách bố trí này hơi khác so với các mẫu Raspberry Pi trước đây, nhưng hầu hết các kết nối đều giống nhau. Thiết lập được mô tả trong phần tiếp theo phải giống nhau cho cả Raspberry Pi 3 và Raspberry Pi 4

Bảng Raspberry Pi 4 chứa các thành phần sau

  • Chân đầu vào-đầu ra đa năng. Các chân này được sử dụng để kết nối Raspberry Pi với các linh kiện điện tử

  • Cổng mạng. Cổng này kết nối Raspberry Pi với mạng có dây. Raspberry Pi cũng được tích hợp Wi-Fi và Bluetooth cho các kết nối không dây

  • Hai USB 3. 0 và hai USB 2. 0 cổng. Các cổng USB này được sử dụng để kết nối các thiết bị ngoại vi như bàn phím hoặc chuột. Hai cổng màu đen là USB 2. 0 và hai cổng màu xanh là USB 3. 0

  • giắc cắm AV. Giắc cắm AV này cho phép bạn kết nối loa hoặc tai nghe với Raspberry Pi

  • Cổng mô-đun máy ảnh. Cổng này được sử dụng để kết nối Mô-đun máy ảnh Raspberry Pi chính thức, cho phép Raspberry Pi chụp ảnh

  • cổng HDMI. Các cổng HDMI này kết nối Raspberry Pi với màn hình bên ngoài. Raspberry Pi 4 có hai cổng micro HDMI, cho phép nó điều khiển hai màn hình riêng biệt cùng một lúc

  • cổng nguồn USB. Cổng USB này cấp nguồn cho Raspberry Pi. Raspberry Pi 4 có cổng USB Type-C, trong khi các phiên bản Pi cũ hơn có cổng micro-USB

  • Cổng hiển thị bên ngoài. Cổng này được sử dụng để kết nối màn hình cảm ứng Raspberry Pi bảy inch chính thức cho đầu vào dựa trên cảm ứng trên Raspberry Pi

  • Khe cắm thẻ nhớ microSD [mặt dưới bo mạch]. Khe cắm thẻ này dành cho thẻ nhớ microSD chứa hệ điều hành Raspberry Pi và các tệp

Một lát sau trong hướng dẫn này, bạn sẽ sử dụng các thành phần ở trên để thiết lập Raspberry Pi của mình

Raspberry Pi so với Arduino

Mọi người thường tự hỏi sự khác biệt giữa Raspberry Pi và Arduino là gì. Arduino là một thiết bị khác được sử dụng rộng rãi trong điện toán vật lý. Mặc dù có một số điểm trùng lặp về khả năng của Arduino và Raspberry Pi, nhưng vẫn có một số khác biệt rõ rệt

Nền tảng Arduino cung cấp giao diện phần cứng và phần mềm để lập trình vi điều khiển. Bộ vi điều khiển là một mạch tích hợp cho phép bạn đọc đầu vào từ và gửi đầu ra đến các linh kiện điện tử. Các bo mạch Arduino thường có bộ nhớ hạn chế, vì vậy chúng thường được sử dụng để chạy lặp đi lặp lại một chương trình duy nhất tương tác với thiết bị điện tử

Raspberry Pi là một máy tính đa năng, dựa trên Linux. Nó có một hệ điều hành đầy đủ với giao diện GUI có khả năng chạy nhiều chương trình khác nhau cùng một lúc

Raspberry Pi đi kèm với nhiều phần mềm được cài đặt sẵn, bao gồm trình duyệt web, bộ ứng dụng văn phòng, thiết bị đầu cuối và thậm chí cả Minecraft. Raspberry Pi cũng được tích hợp Wi-Fi và Bluetooth để kết nối Internet và các thiết bị ngoại vi bên ngoài

Để chạy Python, Raspberry Pi thường là lựa chọn tốt hơn, vì bạn có được bản cài đặt Python chính thức mà không cần bất kỳ cấu hình nào

Thiết lập Raspberry Pi

Không giống như Arduino, chỉ yêu cầu cáp USB và máy tính để thiết lập, Raspberry Pi có nhiều yêu cầu phần cứng hơn để thiết lập và chạy. Tuy nhiên, sau khi thiết lập ban đầu, một số thiết bị ngoại vi này sẽ không còn cần thiết nữa

Phần cứng cần thiết

Cần có phần cứng sau đây để thiết lập ban đầu cho Raspberry Pi của bạn. Nếu bạn kết nối với Raspberry Pi qua SSH, bạn sẽ xem xét sau trong hướng dẫn này, thì một số phần cứng bên dưới sẽ không cần thiết sau khi thiết lập ban đầu

Màn hình

Bạn sẽ cần một màn hình trong quá trình thiết lập và cấu hình ban đầu của hệ điều hành. Nếu bạn sẽ sử dụng SSH để kết nối với Raspberry Pi, thì bạn sẽ không cần màn hình sau khi thiết lập. Đảm bảo màn hình của bạn có đầu vào HDMI

thẻ micro SD

Raspberry Pi sử dụng thẻ nhớ microSD để lưu trữ hệ điều hành và tệp. Nếu bạn mua bộ Raspberry Pi, thì nó sẽ chứa thẻ nhớ microSD được định dạng sẵn để bạn sử dụng. Nếu bạn mua riêng thẻ nhớ microSD, thì bạn sẽ cần phải tự định dạng thẻ đó. Tìm thẻ nhớ microSD có dung lượng tối thiểu 16GB

Bàn phím và chuột

Cần có bàn phím và chuột USB trong quá trình thiết lập ban đầu của Raspberry Pi. Sau khi thiết lập hoàn tất, bạn có thể chuyển sang sử dụng các phiên bản Bluetooth của các thiết bị ngoại vi này nếu muốn. Ở phần sau của hướng dẫn này, bạn sẽ thấy cách kết nối với Raspberry Pi qua SSH. Nếu bạn chọn kết nối theo cách này, thì không cần bàn phím và chuột vật lý sau khi thiết lập ban đầu

Cáp HDMI

Bạn sẽ cần cáp HDMI để kết nối Raspberry Pi với màn hình. Các mẫu Raspberry Pi khác nhau có các yêu cầu về cáp HDMI khác nhau

Raspberry Pi 4Raspberry Pi 3/2/1Raspberry Pi Zeromicro HDMIHDMImini HDMImicro HDMI to HDMIHDMI to HDMImini HDMI to HDMI

Tùy thuộc vào kiểu máy của bạn, bạn có thể cần mua cáp HDMI hoặc bộ chuyển đổi đặc biệt

Nguồn cấp

Raspberry Pi sử dụng kết nối USB để cấp nguồn cho bo mạch. Một lần nữa, các mẫu Raspberry Pi khác nhau có các yêu cầu về nguồn điện và kết nối USB khác nhau

Dưới đây là các yêu cầu về kết nối và nguồn điện cho các kiểu máy khác nhau

Raspberry Pi 4Raspberry Pi 3/2/1/ZeroUSB-CMicro-USBÍt nhất 3. 0 ampsÍt nhất 2. 5 ampe

Để tránh nhầm lẫn khi chọn nguồn điện, bạn nên sử dụng nguồn điện chính thức cho Raspberry Pi 4 hoặc kiểu máy khác

Loại bỏ các quảng cáo

Phần cứng tùy chọn

Bạn có thể sử dụng toàn bộ phạm vi phần cứng bổ sung với Raspberry Pi để mở rộng khả năng của nó. Các mục phần cứng được liệt kê bên dưới không bắt buộc phải sử dụng Raspberry Pi của bạn nhưng sẽ hữu ích nếu bạn có sẵn

Trường hợp

Thật tuyệt khi có một chiếc vỏ cho Raspberry Pi của bạn để giữ cho các thành phần của nó không bị hư hỏng trong quá trình sử dụng bình thường. Khi chọn vỏ, hãy đảm bảo rằng bạn mua đúng loại cho mẫu Raspberry Pi của mình

Diễn giả

Nếu bạn muốn phát nhạc hoặc âm thanh từ Raspberry Pi, thì bạn sẽ cần có loa. Đây có thể là bất kỳ loa tiêu chuẩn nào có 3. giắc cắm 5 mm. Bạn có thể kết nối loa với Raspberry Pi bằng giắc cắm AV ở bên cạnh bo mạch

Tản nhiệt [Được khuyến nghị]

Raspberry Pi có thể thực hiện rất nhiều tính toán cho một bo mạch nhỏ. Đây là một trong những lý do nó rất tuyệt vời. Nhưng điều này không có nghĩa là đôi khi nó có thể hơi nóng. Bạn nên mua một bộ tản nhiệt để ngăn Raspberry Pi điều tiết CPU khi quá nóng

Phần mềm

Hệ điều hành cho Raspberry Pi được lưu trữ trên thẻ nhớ microSD. Nếu thẻ của bạn không đến từ bộ Raspberry Pi chính thức, thì bạn sẽ cần cài đặt hệ điều hành trên đó

Có nhiều cách để thiết lập hệ điều hành trên Raspberry Pi của bạn. Bạn có thể tìm hiểu thêm về các tùy chọn cài đặt khác nhau trên trang web Raspberry Pi

Trong phần này, bạn sẽ xem xét hai cách để cài đặt Raspbian, hệ điều hành Raspberry Pi được hỗ trợ chính thức, dựa trên Debian Linux

lựa chọn 1. Raspberry Pi Imager [Được khuyến nghị]

Nền tảng Raspberry Pi khuyên bạn nên sử dụng Raspberry Pi Imager để thiết lập ban đầu cho thẻ SD của bạn. Bạn có thể tải xuống trình chụp ảnh từ trang Tải xuống Raspberry Pi. Khi ở trên trang này, hãy tải xuống phiên bản phù hợp cho hệ điều hành của bạn

Sau khi bạn đã tải xuống Raspberry Pi Imager, hãy khởi động ứng dụng. Bạn sẽ thấy một màn hình cho phép bạn chọn hệ điều hành mà bạn muốn cài đặt cùng với thẻ SD mà bạn muốn định dạng

Bạn sẽ có hai tùy chọn khi tải ứng dụng lần đầu tiên. Chọn hệ điều hành và chọn thẻ SD. Chọn Chọn hệ điều hành trước

Ghi chú. Có khả năng Windows có thể ngăn Raspberry Pi Imager khởi động vì đây là một ứng dụng không được nhận dạng. Nếu bạn nhận được cửa sổ bật lên cho biết Windows đã bảo vệ PC của bạn thì bạn vẫn có thể chạy ứng dụng bằng cách nhấp vào Thông tin khác và chọn Vẫn chạy

Với ứng dụng đang chạy, nhấp vào nút Chọn hệ điều hành và chọn tùy chọn Raspbian đầu tiên

Sau khi chọn hệ điều hành Raspbian, bạn cần chọn thẻ SD mà bạn sẽ sử dụng. Đảm bảo rằng thẻ nhớ microSD của bạn đã được lắp vào máy tính và nhấp vào Chọn thẻ SD, sau đó chọn thẻ SD từ menu

Với hệ điều hành và thẻ SD được chọn, bây giờ bạn có thể nhấp vào nút Ghi để bắt đầu định dạng thẻ SD và cài đặt hệ điều hành vào thẻ. Quá trình này có thể mất vài phút để hoàn thành

Sau khi định dạng và cài đặt hoàn tất, bạn sẽ thấy một thông báo cho biết hệ điều hành đã được ghi vào thẻ SD

Bạn có thể tháo thẻ SD ra khỏi máy tính của mình. Raspbian hiện đã được cài đặt trên thẻ SD của bạn và bạn đã sẵn sàng bắt đầu kết nối phần cứng với Raspberry Pi

Lựa chọn 2. Cài đặt Raspbian từ NOOBS

Nếu vì lý do nào đó mà bạn không thể sử dụng Raspberry Pi Imager, thì bạn có thể tải xuống NOOBS [Phần mềm mới ra mắt] và sử dụng nó để cài đặt Raspbian trên thẻ nhớ microSD. Trước tiên, hãy truy cập trang tải xuống NOOBS để tải xuống phiên bản mới nhất. Nhấp vào Tải xuống ZIP bên dưới tùy chọn NOOBS đầu tiên

NOOBS sẽ bắt đầu tải xuống trên hệ thống của bạn

Ghi chú. Đảm bảo tải xuống NOOBS chứ không phải NOOBS Lite

Khi tệp ZIP đã được tải xuống, hãy giải nén nội dung vào một vị trí trên máy tính của bạn. Bạn sẽ sớm sao chép các tệp này vào thẻ SD, nhưng trước tiên, bạn cần định dạng đúng thẻ SD

Bạn sẽ sử dụng Bộ định dạng thẻ nhớ SD chính thức từ Hiệp hội SD. Truy cập trang web của Hiệp hội SD để tải xuống trình định dạng. Cuộn xuống dưới cùng và tải xuống trình định dạng SD cho Windows hoặc macOS

Khi Trình định dạng thẻ nhớ SD được tải xuống, bạn đã sẵn sàng định dạng thẻ SD của mình để sử dụng trên Raspberry Pi

Ghi chú. Người dùng Linux có thể sử dụng

$ ssh pi@[IP ADDRESS]
7 để phân vùng và định dạng thẻ nhớ microSD thành định dạng đĩa FAT32 được yêu cầu

Sau khi tải xuống trình định dạng SD, hãy mở ứng dụng. Để định dạng thẻ SD, bạn cần làm như sau

  1. Lắp thẻ SD vào máy tính của bạn
  2. Chọn thẻ SD từ menu thả xuống Chọn thẻ
  3. Nhấp vào tùy chọn Định dạng nhanh trong Tùy chọn định dạng
  4. Nhập NOOBS vào trường văn bản nhãn Khối lượng

Khi các mục trên đã hoàn tất, hãy nhấp vào Định dạng

Trước khi định dạng thẻ, bạn sẽ được yêu cầu xác nhận thao tác vì thao tác này sẽ xóa tất cả dữ liệu khỏi thẻ. Nhấp vào Tiếp tục để bắt đầu định dạng thẻ SD. Có thể mất vài phút để hoàn tất định dạng

Khi quá trình định dạng hoàn tất, bạn cần sao chép các tệp NOOBS mà bạn đã giải nén trước đó vào thẻ SD. Chọn tất cả các tệp mà bạn đã giải nén trước đó

Kéo chúng vào thẻ SD

Bây giờ bạn đã cài đặt NOOBS trên thẻ SD của mình, hãy rút thẻ ra khỏi máy tính của bạn. Bạn đã gần tới. Trong phần tiếp theo, bạn sẽ thực hiện thiết lập cuối cùng cho Raspberry Pi của mình

Loại bỏ các quảng cáo

Thiết lập cuối cùng

Bây giờ bạn đã có sẵn thẻ nhớ microSD và phần cứng cần thiết, bước cuối cùng là kết nối mọi thứ lại với nhau và định cấu hình hệ điều hành. Hãy bắt đầu bằng cách kết nối tất cả các thiết bị ngoại vi

  1. Lắp thẻ nhớ microSD vào khe cắm thẻ ở dưới cùng của Raspberry Pi
  2. Kết nối bàn phím và chuột với bất kỳ cổng nào trong bốn cổng USB
  3. Kết nối màn hình với một trong các cổng HDMI bằng cáp HDMI dành riêng cho mẫu Raspberry Pi của bạn
  4. Kết nối nguồn điện với cổng nguồn USB

Với các thiết bị ngoại vi được kết nối, hãy tiếp tục và bật Raspberry Pi của bạn để định cấu hình hệ điều hành. Nếu bạn đã cài đặt Raspbian với Raspberry Pi Imager, thì bạn không thể làm gì khác. Bạn có thể chuyển xuống phần tiếp theo để hoàn tất thiết lập

Nếu bạn đã cài đặt NOOBS trên thẻ SD thì bạn sẽ cần hoàn thành một vài bước nữa để cài đặt Raspbian trên thẻ SD

  1. Đầu tiên, bật nguồn Raspberry Pi để tải giao diện NOOBS
  2. Sau đó, đánh dấu vào hộp kiểm bên cạnh tùy chọn Raspbian trong danh sách phần mềm cần cài đặt
  3. Cuối cùng, nhấn nút Install ở góc trên cùng bên trái giao diện để bắt đầu cài đặt Raspbian trên thẻ SD

Khi quá trình cài đặt hoàn tất, Raspberry Pi sẽ khởi động lại và bạn sẽ được khởi động vào Raspbian để hoàn tất trình hướng dẫn thiết lập

Trình hướng dẫn cài đặt

Trong lần khởi động đầu tiên, Raspbian cung cấp trình hướng dẫn thiết lập để giúp bạn định cấu hình mật khẩu, đặt ngôn ngữ, chọn mạng Wi-Fi và cập nhật hệ điều hành. Hãy tiếp tục và hoàn thành các bước này theo hướng dẫn

Khi bạn đã hoàn thành các bước, hãy khởi động lại hệ điều hành và bạn sẽ sẵn sàng bắt đầu lập trình Python trên Raspberry Pi

Chạy Python trên Raspberry Pi

Một trong những điều tuyệt vời nhất khi làm việc với Python trên Raspberry Pi là Python là công dân hạng nhất trên nền tảng này. Raspberry Pi Foundation đã chọn Python làm ngôn ngữ chính vì sức mạnh, tính linh hoạt và dễ sử dụng của nó. Python được cài đặt sẵn trên Raspbian, vì vậy bạn sẽ sẵn sàng bắt đầu ngay từ đầu

Bạn có nhiều tùy chọn khác nhau để viết Python trên Raspberry Pi. Trong hướng dẫn này, bạn sẽ xem xét hai lựa chọn phổ biến

  • Sử dụng trình chỉnh sửa Mu
  • Chỉnh sửa từ xa qua SSH

Hãy bắt đầu bằng cách xem cách sử dụng trình soạn thảo Mu để viết Python trên Raspberry Pi

Sử dụng Trình chỉnh sửa Mu

Hệ điều hành Raspbian đi kèm với một số IDE Python được cài đặt sẵn mà bạn có thể sử dụng để viết chương trình của mình. Một trong những IDE này là Mu. Nó có thể được tìm thấy trong menu chính

Biểu tượng Raspberry Pi → Lập trình → Mu

Khi bạn mở Mu lần đầu tiên, bạn sẽ được cung cấp tùy chọn để chọn chế độ Python cho trình chỉnh sửa. Đối với mã trong hướng dẫn này, bạn có thể chọn Python 3

Có khả năng Mu không được cài đặt sẵn trên phiên bản Raspbian của bạn. Nếu Mu chưa được cài đặt, thì bạn luôn có thể cài đặt nó bằng cách đi tới vị trí tệp sau

Biểu tượng Raspberry Pi → Tùy chọn → Phần mềm được đề xuất

Thao tác này sẽ mở ra một hộp thoại chứa phần mềm được đề xuất cho Raspberry Pi của bạn. Chọn hộp bên cạnh Mu và nhấp vào OK để cài đặt nó

Mặc dù Mu cung cấp một trình chỉnh sửa tuyệt vời để bắt đầu với Python trên Raspberry Pi, nhưng bạn có thể muốn một thứ gì đó mạnh mẽ hơn. Trong phần tiếp theo, bạn sẽ kết nối với Raspberry Pi của mình qua SSH

Loại bỏ các quảng cáo

Chỉnh sửa từ xa qua SSH

Thường thì bạn sẽ không muốn dành thời gian kết nối màn hình, bàn phím và chuột để viết Python trên Raspberry Pi. May mắn thay, Raspbian cho phép bạn kết nối với Raspberry Pi từ xa qua SSH. Trong phần này, bạn sẽ tìm hiểu cách bật và sử dụng SSH để lập trình Python trên Raspberry Pi

Kích hoạt SSH

Trước khi có thể kết nối với Raspberry Pi qua SSH, bạn cần bật quyền truy cập SSH bên trong khu vực Tùy chọn Raspberry Pi. Kích hoạt SSH bằng cách đi tới đường dẫn tệp sau

Biểu tượng Raspberry Pi → Tùy chọn → Cấu hình Raspberry Pi

Khi cấu hình xuất hiện, hãy chọn tab Giao diện rồi bật tùy chọn SSH

Bạn đã kích hoạt SSH trên Raspberry Pi. Bây giờ bạn cần lấy địa chỉ IP cho Raspberry Pi để có thể kết nối với nó từ một máy tính khác

Xác định địa chỉ IP Raspberry Pi

Để truy cập Raspberry Pi từ xa, bạn cần xác định địa chỉ IP của Raspberry Pi trên mạng cục bộ của mình. Để xác định địa chỉ IP, bạn cần truy cập vào ứng dụng Terminal. Bạn có thể truy cập Terminal tại đây

Biểu tượng Raspberry Pi → Phụ kiện → Thiết bị đầu cuối

Khi Terminal được mở, hãy nhập thông tin sau vào dấu nhắc lệnh

pi@raspberrypi:~ $ hostname -I

Điều này sẽ hiển thị địa chỉ IP hiện tại cho Raspberry Pi của bạn. Với địa chỉ IP này, giờ đây bạn có thể kết nối với Raspberry Pi của mình từ xa

Kết nối với Raspberry Pi

Sử dụng địa chỉ IP cho Raspberry Pi, giờ đây bạn có thể SSH vào nó từ một máy tính khác

$ ssh pi@[IP ADDRESS]

Bạn sẽ được nhắc nhập mật khẩu mà bạn đã tạo khi chạy trình hướng dẫn thiết lập trong quá trình cài đặt Raspbian. Nếu bạn không đặt mật khẩu thì mật khẩu mặc định là

$ ssh pi@[IP ADDRESS]
8. Nhập mật khẩu và sau khi kết nối, bạn sẽ thấy dấu nhắc lệnh Raspberry Pi

________số 8

Bây giờ bạn đã biết cách kết nối, bạn đã sẵn sàng bắt đầu lập trình Python trên Raspberry Pi. Bạn có thể bắt đầu ngay bằng Python REPL

pi@raspberrypi:~ $ python3

Nhập một số Python để chạy nó trên Raspberry Pi

>>>

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
0

Tuyệt vời, bạn đang chạy Python trên Raspberry Pi

Loại bỏ các quảng cáo

Tạo thư mục
$ ssh pi@[IP ADDRESS]
9

Trước khi bạn bắt đầu xây dựng các dự án bằng Python trên Raspberry Pi, bạn nên thiết lập một thư mục dành riêng cho mã của mình. Raspberry Pi có một hệ thống tệp đầy đủ với nhiều thư mục khác nhau. Có một vị trí dành riêng cho mã Python của bạn sẽ giúp giữ mọi thứ ngăn nắp và dễ tìm

Hãy tạo một thư mục có tên là

$ ssh pi@[IP ADDRESS]
9 nơi bạn có thể lưu trữ mã Python cho các dự án của mình

Sử dụng Mu

Nếu bạn dự định sử dụng Mu để hoàn thành các dự án trong hướng dẫn này, thì bạn có thể sử dụng nó ngay bây giờ để tạo thư mục

$ ssh pi@[IP ADDRESS]
9. Để tạo thư mục này, bạn sẽ muốn làm như sau

  1. Mở Mu bằng cách đi tới Biểu tượng Raspberry Pi → Lập trình → Mu
  2. Nhấp vào Mới trong thanh menu để tạo một tệp trống
  3. Nhấp vào Lưu trong thanh menu
  4. Điều hướng đến thư mục
    import os
    stream = os.popen['cat /etc/services']
    output = stream.read[]
    print[output]
    42 trong danh sách thư mục thả xuống
  5. Nhấp vào biểu tượng Tạo thư mục mới ở góc trên cùng bên phải
  6. Đặt tên cho thư mục mới này là
    $ ssh pi@[IP ADDRESS]
    
    9 và nhấn Enter .
  7. Nhấp vào Hủy để đóng

Bạn đã tạo một thư mục dành riêng cho mã Python của mình. Đi xuống phần tiếp theo để tìm hiểu về cách tương tác với các thành phần vật lý trong Python

Qua SSH

Nếu bạn muốn sử dụng SSH để truy cập Raspberry Pi, thì bạn sẽ sử dụng dòng lệnh để tạo thư mục

$ ssh pi@[IP ADDRESS]
9

Ghi chú. Vì bạn sẽ truy cập dòng lệnh Raspberry Pi, nên bạn sẽ cần sử dụng trình soạn thảo văn bản dòng lệnh để chỉnh sửa các tệp dự án của mình

Cả

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
45 và
import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
46 đều được cài đặt sẵn trên Raspbian và có thể được sử dụng để chỉnh sửa tệp dự án. Bạn cũng có thể sử dụng Mã VS để chỉnh sửa tệp từ xa trên Raspberry Pi, nhưng cần phải thiết lập một số

Hãy tạo thư mục

$ ssh pi@[IP ADDRESS]
9. Nếu bạn hiện chưa đăng nhập vào Raspberry Pi, thì hãy sử dụng địa chỉ IP của Raspberry Pi để SSH vào nó từ máy tính của bạn

$ ssh pi@[IP ADDRESS]

Sau khi đăng nhập, bạn sẽ thấy dấu nhắc lệnh Raspberry Pi

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
4

Theo mặc định, khi bạn SSH vào Raspberry Pi, bạn sẽ bắt đầu trong thư mục

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
42. Xác nhận điều này ngay bây giờ bằng cách chạy
import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
49

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
4

Nếu vì lý do nào đó bạn không có trong thư mục

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
42, thì hãy chuyển sang thư mục đó bằng cách sử dụng
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
41

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
7

Bây giờ trong thư mục

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
42, hãy tạo một thư mục
$ ssh pi@[IP ADDRESS]
9 mới

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']
0

Với thư mục

$ ssh pi@[IP ADDRESS]
9 được tạo, sử dụng
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
45 để vào thư mục

$ ssh pi@[IP ADDRESS]
0

Tuyệt quá. Bạn đã sẵn sàng bắt đầu mã hóa các mạch đầu tiên của mình bằng Python trên Raspberry Pi

Loại bỏ các quảng cáo

Tương tác với các thành phần vật lý

Trong phần này, bạn sẽ học cách tương tác với các thành phần vật lý khác nhau bằng Python trên Raspberry Pi

Bạn sẽ sử dụng thư viện gpiozero được cài đặt sẵn trên Raspbian. Nó cung cấp giao diện dễ sử dụng để tương tác với nhiều thiết bị GPIO được kết nối với Raspberry Pi

Linh kiện điện tử

Trước khi lập trình trên Raspberry Pi, bạn sẽ cần một vài linh kiện điện tử để xây dựng các dự án trong các phần sắp tới. Bạn sẽ có thể tìm thấy từng mặt hàng bên dưới trên Amazon hoặc tại cửa hàng điện tử địa phương của bạn

bánh mì

Breadboard là một công cụ thiết yếu khi xây dựng mạch. Nó cho phép bạn nhanh chóng tạo nguyên mẫu cho mạch của mình mà không cần phải hàn các thành phần lại với nhau

Breadboards theo một bố cục chung. Ở bên phải và bên trái, hai đường ray chạy theo chiều dài của breadboard. Mỗi lỗ trên những đường ray được kết nối. Nói chung, chúng được chỉ định dương [điện áp hoặc VCC] và âm [mặt đất hoặc GND]

Trên hầu hết các breadboard, đường ray tích cực được đánh dấu bằng một dấu hiệu tích cực [

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
46] và sẽ có một đường màu đỏ chạy bên cạnh nó. Đường ray âm được đánh dấu bằng dấu âm [
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
47] và có một đường màu xanh lam chạy bên cạnh

Ở bên trong bảng, các thanh ray thành phần chạy vuông góc với các thanh ray dương và âm ở các mặt của breadboard. Mỗi đường ray này có các lỗ để đặt các bộ phận

Tất cả các lỗ trên một thanh ray được kết nối. Ở giữa là rãnh ngăn cách 2 bên breadboard. Đường ray ở phía đối diện của máng xối không được kết nối

Điều này được minh họa trong sơ đồ sau

Trong sơ đồ trên, ba màu được sử dụng để đánh dấu các loại đường ray breadboard khác nhau

  • Màu đỏ. đường sắt tích cực
  • Màu đen. đường ray âm
  • Màu xanh da trời. đường ray thành phần

Ở phần sau của hướng dẫn này, bạn sẽ sử dụng các đường ray khác nhau này để xây dựng các mạch đầy đủ kết nối với Raspberry Pi

dây nhảy

Dây nhảy cho phép bạn tạo nguyên mẫu các kết nối của mạch mà không cần phải hàn các đường dẫn giữa các chân GPIO và các thành phần. Chúng có ba loại khác nhau

  1. Nam thành nam
  2. nữ thành nam
  3. nữ thành nữ

Sẽ rất tốt nếu bạn có ít nhất 10 đến 20 loại mỗi loại khi bạn đang xây dựng các dự án Raspberry Pi của mình bằng Python

Các thành phần khác

Cùng với breadboard và dây nhảy, các dự án trong hướng dẫn này sẽ sử dụng các thành phần sau

  • Điốt phát quang [đèn LED]
  • nút xúc giác
  • điện trở 330Ω
  • Còi áp điện đang hoạt động
  • Cảm biến chuyển động hồng ngoại thụ động

Với các thành phần cần thiết trong tay, hãy xem cách bạn có thể kết nối chúng với Raspberry Pi bằng các chân GPIO

Loại bỏ các quảng cáo

Chân GPIO

Raspberry Pi có bốn mươi chân GPIO dọc theo cạnh trên của bo mạch. Bạn có thể sử dụng các chân GPIO này để kết nối Raspberry Pi với các thành phần bên ngoài

Bố cục ghim bên dưới hiển thị các loại ghim khác nhau và vị trí của chúng. Bố cục này dựa trên chế độ xem từ trên cao của các chân với các cổng USB của Raspberry Pi hướng về phía bạn

Raspberry Pi có năm loại chân khác nhau

  1. GPIO. Đây là những chân có mục đích chung có thể được sử dụng cho đầu vào hoặc đầu ra
  2. 3V3. Các chân này cung cấp 3. Nguồn điện 3 V cho linh kiện. 3. 3 V cũng là điện áp bên trong mà tất cả các chân GPIO cung cấp
  3. 5V. Các chân này cung cấp nguồn điện 5 V, giống như đầu vào nguồn USB cấp nguồn cho Raspberry Pi. Một số thành phần, chẳng hạn như cảm biến chuyển động hồng ngoại thụ động, yêu cầu 5 V
  4. GND. Các chân này cung cấp kết nối đất cho các mạch
  5. ADV. Các chốt chuyên dụng này là nâng cao và không được đề cập trong hướng dẫn này

Trong phần tiếp theo, bạn sẽ sử dụng các loại ghim khác nhau này để thiết lập thành phần đầu tiên của mình, nút xúc giác

Nút xúc giác

Đối với mạch đầu tiên của bạn, bạn sẽ kết nối một nút xúc giác với Raspberry Pi. Nút xúc giác là một công tắc điện tử, khi được nhấn sẽ đóng mạch. Khi đóng mạch, Raspberry Pi sẽ đăng ký tín hiệu BẬT. Bạn có thể sử dụng tín hiệu BẬT này để kích hoạt các hành động khác nhau

Trong dự án này, bạn sẽ sử dụng nút xúc giác để chạy các hàm Python khác nhau dựa trên trạng thái của nút. Hãy bắt đầu bằng cách nối nút với Raspberry Pi

  1. Kết nối dây nhảy từ nữ sang nam từ chân GND của Raspberry Pi với đường ray âm của bảng mạch
  2. Đặt một nút xúc giác trên máng xối ở giữa breadboard
  3. Kết nối dây nhảy đực-đực từ đường ray âm của bảng mạch khung với hàng nơi đặt chân dưới bên trái của nút
  4. Kết nối dây nhảy từ nữ sang nam từ chân GPIO4 của Raspberry Pi với hàng bảng mạch nơi đặt chân dưới bên phải của nút

Bạn có thể xác nhận hệ thống dây điện của mình với sơ đồ bên dưới

Bây giờ bạn đã kết nối mạch của mình, hãy viết mã Python để đọc đầu vào từ nút

Ghi chú. Nếu bạn gặp khó khăn khi tìm một chân cụ thể, thì hãy đảm bảo tham khảo hình ảnh bố trí chân GPIO khi xây dựng mạch của bạn. Bạn cũng có thể mua một bảng đột phá để dễ dàng tạo breadboarding

Bên trong thư mục

$ ssh pi@[IP ADDRESS]
9 mà bạn đã tạo trước đó, hãy lưu một tệp mới có tên là
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
49. Nếu bạn đang sử dụng SSH để truy cập Raspberry Pi của mình, thì hãy tạo tệp như thế này

$ ssh pi@[IP ADDRESS]
1

Nếu bạn đang sử dụng Mu thì hãy tạo tệp theo các bước sau

  1. Nhấp vào mục menu Mới
  2. Nhấp vào để lưu
  3. Điều hướng đến thư mục
    import subprocess
    
    process = subprocess.Popen['ls -l /usr',
                               stdout=subprocess.PIPE,
                               stderr=subprocess.PIPE,
                               shell=True
                               ]
    stdout, stderr = process.communicate[]
    print[stdout.decode['utf-8']]
    70
  4. Lưu tệp dưới dạng
    import subprocess
    
    process = subprocess.Popen['ls -l /usr',
                               stdout=subprocess.PIPE,
                               stderr=subprocess.PIPE,
                               shell=True
                               ]
    stdout, stderr = process.communicate[]
    print[stdout.decode['utf-8']]
    49

Với tệp được tạo, bạn đã sẵn sàng để bắt đầu mã hóa. Bắt đầu bằng cách nhập lớp

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
72 từ mô-đun
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
73. Bạn cũng cần nhập
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
74 từ mô-đun
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
75. Bạn sẽ xem tại sao bạn cần
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
74 sau

$ ssh pi@[IP ADDRESS]
2

Tạo một thể hiện của lớp

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
72 và chuyển số pin làm tham số. Trong trường hợp này, bạn đang sử dụng chân GPIO4, vì vậy bạn sẽ chuyển vào tham số
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
78

$ ssh pi@[IP ADDRESS]
3

Tiếp theo, xác định các chức năng sẽ được gọi cho các sự kiện nút khác nhau có sẵn trên phiên bản

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
72

$ ssh pi@[IP ADDRESS]
4

Lớp

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
72 có ba thuộc tính sự kiện.
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']
01,
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']
02 và
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']
03. Các thuộc tính này có thể được sử dụng để kết nối các chức năng sự kiện khác nhau

Mặc dù thuộc tính

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']
01 và
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']
03 có thể tự giải thích, nhưng
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']
02 yêu cầu giải thích ngắn gọn. Nếu một chức năng được đặt thành thuộc tính
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']
02, thì nó sẽ chỉ được gọi nếu nút được nhấn và giữ trong một khoảng thời gian nhất định

Thời gian giữ cho

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']
02 được xác định bởi thuộc tính
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']
09 trên phiên bản
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
72. Giá trị mặc định cho
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
while process.poll[] is None:
    line = process.stdout.readline[]
    print['']
09 là một giây. Bạn có thể ghi đè giá trị này bằng cách chuyển giá trị
$ ssh pi@[IP ADDRESS]
02 khi tạo phiên bản
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
72

$ ssh pi@[IP ADDRESS]
5

Thao tác này sẽ tạo một phiên bản

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
72 sẽ đợi hai giây rưỡi sau khi nhấn và giữ nút trước khi gọi hàm
$ ssh pi@[IP ADDRESS]
05

Bây giờ bạn đã biết về các thuộc tính sự kiện khác nhau trên

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
72, hãy đặt từng thuộc tính này thành các chức năng tương ứng mà bạn đã xác định trước đó

$ ssh pi@[IP ADDRESS]
6

Tuyệt quá. Bạn đã thiết lập các sự kiện nút của mình. Điều cuối cùng bạn cần làm là gọi

$ ssh pi@[IP ADDRESS]
07 ở cuối tệp. Gọi
$ ssh pi@[IP ADDRESS]
07 là cần thiết để giữ cho chương trình lắng nghe các sự kiện khác nhau. Nếu điều này không xuất hiện, thì chương trình sẽ chạy một lần và thoát

Chương trình cuối cùng của bạn sẽ trông như thế này

$ ssh pi@[IP ADDRESS]
7

Khi đã hoàn tất việc đi dây và thiết lập mã, bạn đã sẵn sàng để thử mạch đầu tiên của mình. Bên trong thư mục

$ ssh pi@[IP ADDRESS]
9, chạy chương trình

$ ssh pi@[IP ADDRESS]
8

Nếu bạn đang sử dụng My, trước tiên hãy đảm bảo rằng tệp đã được lưu, sau đó nhấp vào Chạy để bắt đầu chương trình

Chương trình hiện đang chạy và lắng nghe các sự kiện. Nhấn nút và bạn sẽ thấy thông tin sau trong bảng điều khiển

$ ssh pi@[IP ADDRESS]
9

Nhấn và giữ nút trong ít nhất một giây và bạn sẽ thấy đầu ra sau

pi@raspberrypi:~ $
0

Cuối cùng, khi bạn nhả nút, bạn sẽ thấy như sau

pi@raspberrypi:~ $
1

Đáng kinh ngạc. Bạn vừa kết nối và mã hóa mạch đầu tiên của mình bằng Python trên Raspberry Pi

Vì bạn đã sử dụng

$ ssh pi@[IP ADDRESS]
07 trong mã của mình nên bạn cần dừng chương trình theo cách thủ công. Nếu đang chạy chương trình trong Mu thì bạn có thể bấm Stop để thoát chương trình. Nếu bạn đang chạy chương trình này từ dòng lệnh thì bạn có thể dừng chương trình bằng Ctrl + C.

Với mạch đầu tiên này, bạn đã sẵn sàng bắt đầu điều khiển một số thành phần khác

Loại bỏ các quảng cáo

DẪN ĐẾN

Đối với mạch tiếp theo, bạn sẽ sử dụng Python để bật và tắt đèn LED nhấp nháy mỗi giây. LED là viết tắt của đi-ốt phát quang và các thành phần này tạo ra ánh sáng khi có dòng điện chạy qua. Bạn sẽ thấy rằng chúng được sử dụng ở mọi nơi trong ngành điện tử

Mỗi đèn LED có hai chân. Chân dài hơn là chân dương hoặc cực dương. Dòng điện đi vào LED thông qua chân này. Chân ngắn hơn là chân âm hoặc cực âm. Dòng ra khỏi LED qua chân này

Dòng điện chỉ có thể chạy theo một hướng qua đèn LED, vì vậy hãy đảm bảo rằng bạn đang kết nối dây nhảy với chân thích hợp của đèn LED

Dưới đây là các bước bạn cần thực hiện để nối dây mạch này

  1. Kết nối dây nhảy từ nữ sang nam từ chân GND của Raspberry Pi với đường ray âm của bảng mạch

  2. Đặt một đèn LED vào hai lỗ trên breadboard cạnh nhau nhưng không cùng hàng

  3. Đặt chân dương, dài hơn của đèn LED vào lỗ ở bên phải

  4. Đặt chân âm, ngắn hơn của đèn LED vào lỗ ở bên trái

  5. Đặt một đầu của điện trở 330 Ω vào một lỗ trên cùng một hàng của breadboard với chân âm của đèn LED

  6. Đặt đầu kia của điện trở vào đường ray âm của breadboard

  7. Kết nối dây nhảy từ nữ sang nam từ chân GPIO4 của Raspberry Pi với một lỗ trên cùng hàng bảng mạch với chân dương của đèn LED

Bạn có thể xác nhận hệ thống dây điện của mình với sơ đồ bên dưới

Nếu hệ thống dây điện có vẻ tốt, thì bạn đã sẵn sàng viết một số Python để đèn LED nhấp nháy. Bắt đầu bằng cách tạo một tệp cho mạch này bên trong thư mục

$ ssh pi@[IP ADDRESS]
9. Gọi tệp này là
$ ssh pi@[IP ADDRESS]
12

pi@raspberrypi:~ $
2

Trong mã này, bạn sẽ tạo một thể hiện của lớp

$ ssh pi@[IP ADDRESS]
13 và gọi phương thức
$ ssh pi@[IP ADDRESS]
14 của nó để bật và tắt đèn LED. Phương thức
$ ssh pi@[IP ADDRESS]
14 có thời gian chờ mặc định là một giây. Đèn LED sẽ tiếp tục nhấp nháy bật và tắt mỗi giây cho đến khi thoát khỏi chương trình

Bắt đầu bằng cách nhập

$ ssh pi@[IP ADDRESS]
13 từ mô-đun
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
73 và
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
74 từ mô-đun
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
75

pi@raspberrypi:~ $
3

Tiếp theo, tạo một thể hiện của

$ ssh pi@[IP ADDRESS]
13 có tên là
$ ssh pi@[IP ADDRESS]
21. Đặt chân GPIO thành
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
78

pi@raspberrypi:~ $
4

Gọi phương thức

$ ssh pi@[IP ADDRESS]
14 trên
$ ssh pi@[IP ADDRESS]
21

pi@raspberrypi:~ $
5

Cuối cùng, thêm lệnh gọi tới

$ ssh pi@[IP ADDRESS]
07 để đảm bảo chương trình không thoát

pi@raspberrypi:~ $
6

Chương trình hoàn chỉnh của bạn sẽ trông như thế này

pi@raspberrypi:~ $
7

Lưu tệp và chạy nó để xem đèn LED nhấp nháy và tắt

pi@raspberrypi:~ $
8

Đèn LED hiện sẽ nhấp nháy và tắt mỗi giây. Khi bạn đã hoàn tất việc chiêm ngưỡng mã Python của mình đang hoạt động, hãy dừng chương trình bằng Ctrl + C or Stop in Mu.

Bây giờ bạn đã biết cách điều khiển đèn LED bằng Python trên Raspberry Pi. Đối với mạch tiếp theo, bạn sẽ sử dụng Python để tạo âm thanh từ Raspberry Pi

Loại bỏ các quảng cáo

còi

Trong mạch này, bạn sẽ nối một bộ rung áp điện đang hoạt động với Raspberry Pi. Bộ rung áp điện phát ra âm báo khi có dòng điện chạy qua. Sử dụng thành phần này, Raspberry Pi của bạn sẽ có thể tạo ra âm thanh

Giống như đèn LED, còi có chân dương và chân âm. Chân dương của bộ rung hoặc sẽ dài hơn chân âm hoặc sẽ có một dấu hiệu dương [

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
46] trên đỉnh của còi cho biết chân nào là chân dương

Hãy tiếp tục và nối dây cho còi

  1. Đặt bộ rung trên breadboard, lưu ý vị trí của chân dương của bộ rung

  2. Kết nối dây nhảy từ nữ sang nam từ chân GND của Raspberry Pi với một lỗ trên cùng hàng bảng mạch với chân âm của bộ rung

  3. Kết nối dây nhảy từ nữ sang nam từ chân GPIO4 của Raspberry Pi với một lỗ trên cùng hàng bảng mạch với chân dương của bộ rung

Xác nhận hệ thống dây điện của bạn dựa trên sơ đồ bên dưới

Với hệ thống dây điện được thiết lập, hãy chuyển sang mã. Tạo một tệp cho mạch này bên trong thư mục

$ ssh pi@[IP ADDRESS]
9. Gọi tệp này là
$ ssh pi@[IP ADDRESS]
28

pi@raspberrypi:~ $
9

Trong mã này, bạn sẽ tạo một thể hiện của lớp

$ ssh pi@[IP ADDRESS]
29 và gọi nó là phương thức
$ ssh pi@[IP ADDRESS]
30 để bật và tắt tiếng bíp. Hai tham số đầu tiên của phương thức
$ ssh pi@[IP ADDRESS]
30 là
$ ssh pi@[IP ADDRESS]
32 và
$ ssh pi@[IP ADDRESS]
33. Các tham số này lấy giá trị
$ ssh pi@[IP ADDRESS]
02 để đặt thời lượng bật và tắt tiếng bíp. Giá trị mặc định cho cả hai là một giây

Bắt đầu bằng cách nhập

$ ssh pi@[IP ADDRESS]
29 từ mô-đun
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
73 và
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
74 từ mô-đun
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
75

pi@raspberrypi:~ $ python3
0

Tiếp theo, tạo một thể hiện của

$ ssh pi@[IP ADDRESS]
29 có tên là
$ ssh pi@[IP ADDRESS]
40. Đặt chân GPIO thành
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
78

pi@raspberrypi:~ $ python3
1

Gọi phương thức

$ ssh pi@[IP ADDRESS]
30 trên
$ ssh pi@[IP ADDRESS]
40. Đặt tham số
$ ssh pi@[IP ADDRESS]
32 và
$ ssh pi@[IP ADDRESS]
33 thành
$ ssh pi@[IP ADDRESS]
46. Điều này sẽ làm cho còi kêu bíp nửa giây một lần

pi@raspberrypi:~ $ python3
2

Cuối cùng, thêm lệnh gọi tới

$ ssh pi@[IP ADDRESS]
07 để đảm bảo chương trình không thoát

pi@raspberrypi:~ $
6

Chương trình hoàn chỉnh của bạn sẽ trông như thế này

pi@raspberrypi:~ $ python3
4

Save the file and run it to hear the buzzer beep on and off every half second

pi@raspberrypi:~ $ python3
5

You should hear the buzzer sound on and off until you stop the program with Ctrl + C or Stop in Mu.

Note. If you’re using Mu, then there’s a chance that when you stop the program the tone will continue. To stop the sound, remove the GND wire to break the circuit

You may also need to restart Mu if the tone continues when you reconnect the GND wire

Great. So far you’ve learned how to control three different types of electronic components with Python on the Raspberry Pi. For the next circuit, let’s take a look at a slightly more complex component

Loại bỏ các quảng cáo

Motion Sensor

In this circuit, you’ll be connecting a passive infrared [PIR] motion sensor to the Raspberry Pi. A passive infrared motion sensor detects any motion in its field of vision and sends a signal back to the Raspberry Pi

Adjusting the Sensor

When using a motion sensor, you may need to adjust how sensitive it is to motion and how long it will send out a signal after motion is detected

You can make adjustments using two dials on the side of the sensor. You’ll know which dials they are because they’ll have a cross-shaped indentation in the center, which can be adjusted with a Phillips-head screwdriver

The image below shows these dials on the side of the motion sensor

As the image shows, the left dial sets the signal timeout and the right dial sets the sensor sensitivity. You can turn these dials clockwise or counterclockwise to adjust them

  • Clockwise increases the timeout and sensitivity
  • Counterclockwise decreases the timeout and sensitivity

You can adjust these based on your project needs, but for this tutorial turn both dials counterclockwise all the way. This will set them to their lowest values

Note. Occasionally, a motion sensor and a Raspberry Pi 3 will not work together correctly. This results in occasional false positives from the sensor

If you’re using a Raspberry Pi 3, then make sure to move the sensor as far from the Raspberry Pi as possible

Once you’ve adjusted the motion sensor, you’re ready to set up the wiring. The motion sensor’s design doesn’t allow it to easily connect to a breadboard. You’ll need to connect the Raspberry Pi’s GPIO pins directly to the pins on the motion sensor with jumper wires

The image below shows the placement of the pins on the underside of the motion sensor

You can see there are three pins

  1. VCC for voltage
  2. OUT for communicating with the Raspberry Pi
  3. GND for ground

Using these pins, you need to take the following steps

  1. Connect a female-to-female jumper wire from the Raspberry Pi’s 5V pin to the sensor’s VCC pin
  2. Connect a female-to-female jumper wire from the Raspberry Pi’s GPIO4 pin to the sensor’s OUT pin
  3. Connect a female-to-female jumper wire from the Raspberry Pi’s GND pin to the sensor’s GND pin

Now confirm the wiring with the diagram below

With the motion sensor adjusted and wired to the Raspberry PI, let’s take a look at the Python code for detecting motion. Start by creating a file for this circuit inside the

$ ssh pi@[IP ADDRESS]
9 directory. Gọi tệp này là
$ ssh pi@[IP ADDRESS]
49

pi@raspberrypi:~ $ python3
6

The code for this circuit is going to be similar to the button circuit you made previously. You’ll create an instance of the

$ ssh pi@[IP ADDRESS]
50 class and pass in the GPIO pin number
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
78 as the parameter. You’ll then define two functions and set them to the
$ ssh pi@[IP ADDRESS]
52 and
$ ssh pi@[IP ADDRESS]
53 properties on the
$ ssh pi@[IP ADDRESS]
50 instance

Let’s take a look at the code

pi@raspberrypi:~ $ python3
7

$ ssh pi@[IP ADDRESS]
55 is set to the
$ ssh pi@[IP ADDRESS]
52 property and is called when the sensor detects motion.
$ ssh pi@[IP ADDRESS]
57 is set to the
$ ssh pi@[IP ADDRESS]
53 property and is called when motion has stopped for a certain period. This time is determined by the timeout dial on the side of the sensor

You’ll notice that before the

$ ssh pi@[IP ADDRESS]
52 and
$ ssh pi@[IP ADDRESS]
53 properties are set, there is a call to
$ ssh pi@[IP ADDRESS]
61 on the
$ ssh pi@[IP ADDRESS]
50 instance. This method will pause the execution of the code until the motion sensor no longer detects any motion. This is so that the sensor will ignore any initial motion that may occur as the program is starting up

Note. Motion sensors can sometimes be too sensitive or not sensitive enough. If you see inconsistent results in the console when running the code above, then make sure to check that everything is wired correctly. You may also need to adjust the sensitivity dial on your sensor

If your results are delayed in the console, then try adjusting down the

$ ssh pi@[IP ADDRESS]
63 property on the
$ ssh pi@[IP ADDRESS]
50 instance. The default value is 0. 5

pi@raspberrypi:~ $ python3
8

This will decrease the amount of motion required to make the sensor active. For more information on the

$ ssh pi@[IP ADDRESS]
50 class, see the gpiozero documentation

Save the code and run it to try out your motion detection circuit

pi@raspberrypi:~ $ python3
9

Wave your hand in front of the sensor. When motion is first detected,

$ ssh pi@[IP ADDRESS]
55 is called and the following is displayed in the console

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
00

Now stop waving your hand in front of the sensor. After a few seconds, the following will be displayed

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
01

Great. You can now detect motion with your Raspberry Pi. Once you’re done waving at your Raspberry Pi, go ahead and hit Ctrl + C in the command line or press Stop in Mu to terminate the program.

With this final circuit, you’ve learned how to use Python on the Raspberry Pi to control four different components. In the next section, you’ll tie all of this together in a full project

Building a Motion-Activated Alarm System

Now that you’ve had the chance to connect the Raspberry Pi to a variety of inputs and outputs, you’re going to create a project that uses what you’ve learned so far

In this project, you’ll build a motion-activated alarm system that will flash an LED and sound an alarm when it detects motion in a room. On top of this, you’ll use Python to save a timestamp to a CSV file detailing each time motion occurs

Wiring

Here are the steps to complete the wiring

  1. Connect female-to-male jumper wires from the Raspberry Pi’s 5V and GND pins to the positive and negative rails on the side of the breadboard

  2. Đặt một đèn LED trên breadboard và kết nối chân GPIO14 của Raspberry Pi với đèn LED bằng dây nhảy từ nữ sang nam

  3. Nối chân âm của đèn LED với chân âm của breadboard thông qua điện trở 330 Ω

  4. Đặt một bộ rung trên breadboard và kết nối chân GPIO15 của Raspberry Pi với bộ rung bằng dây nhảy từ nữ sang nam

  5. Kết nối chân âm của bộ rung với thanh âm của bảng mạch bánh mì bằng dây nhảy đực-đực

  6. Kết nối dây nhảy từ đầu cái sang đầu đực từ đường ray dương của bảng mạch khung với chân VCC của cảm biến

  7. Connect a female-to-female jumper wire from the Raspberry Pi’s GPIO4 pin to the sensor’s OUT pin

  8. Kết nối dây nhảy từ đầu cái sang đầu đực từ đường ray âm của bảng mạch với chân GND của cảm biến

Xác nhận nối dây theo sơ đồ bên dưới

Được rồi, bây giờ bạn đã kết nối mạch, hãy tìm hiểu mã Python để thiết lập hệ thống báo động kích hoạt chuyển động của bạn

Mã số

Như thường lệ, hãy bắt đầu bằng cách tạo một tệp cho dự án này bên trong thư mục

$ ssh pi@[IP ADDRESS]
9. Đối với dự án này, hãy gọi tệp này là
$ ssh pi@[IP ADDRESS]
68

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
02

Điều đầu tiên bạn muốn làm là nhập mô-đun

$ ssh pi@[IP ADDRESS]
69 để bạn có thể lưu dấu thời gian khi phát hiện chuyển động. Ngoài ra, hãy nhập
$ ssh pi@[IP ADDRESS]
70 từ mô-đun
$ ssh pi@[IP ADDRESS]
71 để bạn có thể tham khảo tệp CSV của mình

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
03

Tiếp theo, nhập

$ ssh pi@[IP ADDRESS]
72 từ mô-đun
$ ssh pi@[IP ADDRESS]
72 để bạn có thể tạo dấu thời gian của sự kiện chuyển động

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
04

Cuối cùng, nhập các lớp thành phần bắt buộc từ

import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
73 cũng như
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
74 từ mô-đun
import subprocess

process = subprocess.Popen['ls -l /usr',
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           shell=True
                           ]
stdout, stderr = process.communicate[]
print[stdout.decode['utf-8']]
75

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
05

Khi đã sẵn sàng nhập, bạn có thể thiết lập ba thành phần điện tử mà bạn sẽ sử dụng. Tạo các thể hiện của các lớp

$ ssh pi@[IP ADDRESS]
13,
$ ssh pi@[IP ADDRESS]
29 và
$ ssh pi@[IP ADDRESS]
50. Đối với mỗi trong số này, hãy nhập số pin của chúng dưới dạng tham số

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
06

Tiếp theo, xác định vị trí của tệp CSV sẽ lưu trữ dấu thời gian mỗi khi phát hiện chuyển động. Bạn sẽ gọi nó là

$ ssh pi@[IP ADDRESS]
80. Tạo một từ điển để giữ các giá trị dấu thời gian sẽ được ghi vào CSV

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
07

Tạo phương thức lưu dữ liệu dấu thời gian vào tệp CSV. Khi tệp được tạo lần đầu tiên, một hàng tiêu đề sẽ được thêm vào

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
08

Xác định hàm

$ ssh pi@[IP ADDRESS]
81. Chức năng này sẽ có một số hành vi

  • Bắt đầu nhấp nháy bật và tắt
    $ ssh pi@[IP ADDRESS]
    
    21 cứ sau nửa giây
  • Tạo tiếng bíp
    $ ssh pi@[IP ADDRESS]
    
    40
  • Lưu dấu thời gian
    $ ssh pi@[IP ADDRESS]
    
    84 vào từ điển
    $ ssh pi@[IP ADDRESS]
    
    85

Thêm lệnh gọi tới

$ ssh pi@[IP ADDRESS]
86 để bạn có thể xem các sự kiện xảy ra khi chương trình đang chạy

import os
stream = os.popen['cat /etc/services']
output = stream.read[]
print[output]
09

Sau đó, xác định hàm

$ ssh pi@[IP ADDRESS]
87 sẽ có các hành vi sau

  • Tắt
    $ ssh pi@[IP ADDRESS]
    
    21 và
    $ ssh pi@[IP ADDRESS]
    
    40
  • Lưu dấu thời gian
    $ ssh pi@[IP ADDRESS]
    
    90
  • Gọi
    $ ssh pi@[IP ADDRESS]
    
    91 để lưu dữ liệu chuyển động vào tệp CSV
  • Đặt lại từ điển
    $ ssh pi@[IP ADDRESS]
    
    85

Bạn cũng sẽ kiểm tra xem có tồn tại giá trị

$ ssh pi@[IP ADDRESS]
93 hay không trước khi chạy bất kỳ mã nào khác. Bạn chỉ muốn ghi vào CSV nếu dấu thời gian
$ ssh pi@[IP ADDRESS]
84 đã được ghi lại

$ ssh pi@[IP ADDRESS]
0

Thêm lệnh gọi tới

$ ssh pi@[IP ADDRESS]
61 để bỏ qua mọi chuyển động ban đầu

$ ssh pi@[IP ADDRESS]
1

Đặt thuộc tính

$ ssh pi@[IP ADDRESS]
52 và
$ ssh pi@[IP ADDRESS]
53 trên phiên bản
$ ssh pi@[IP ADDRESS]
50

$ ssh pi@[IP ADDRESS]
2

Cuối cùng, kết thúc mã bằng lệnh gọi tới

$ ssh pi@[IP ADDRESS]
07 để chương trình tiếp tục chạy. Mã Python đầy đủ sẽ trông như thế này

$ ssh pi@[IP ADDRESS]
3

Lưu tệp và chạy nó để kiểm tra cảnh báo phát hiện chuyển động mới của bạn

$ ssh pi@[IP ADDRESS]
4

Bây giờ nếu bạn vẫy tay trước bộ phát hiện chuyển động, thì tiếng còi sẽ bắt đầu phát ra tiếng bíp và đèn LED sẽ nhấp nháy. Nếu bạn dừng di chuyển trong vài giây, thì báo thức sẽ dừng. Trong bảng điều khiển, bạn sẽ thấy như sau

$ ssh pi@[IP ADDRESS]
5

Hãy tiếp tục và dừng chương trình bằng Stop in Mu hoặc Ctrl + C. Let’s check out the CSV file that was generated:

$ ssh pi@[IP ADDRESS]
6

Như bạn có thể thấy, dấu thời gian cho chuyển động

$ ssh pi@[IP ADDRESS]
84 và
$ ssh pi@[IP ADDRESS]
90 đã được thêm vào tệp CSV

Xin chúc mừng. Bạn đã tạo một dự án điện tử không tầm thường với Python trên Raspberry Pi

Bước tiếp theo

Bạn không cần phải dừng lại ở đây. Có nhiều cách bạn có thể cải thiện dự án này bằng cách tận dụng khả năng của Python trên Raspberry Pi

Dưới đây là một số cách để tăng cấp dự án này

  • Kết nối Mô-đun máy ảnh Raspberry Pi và chụp ảnh bất cứ khi nào phát hiện chuyển động

  • Kết nối loa với Raspberry Pi và sử dụng PyGame để phát tệp âm thanh nhằm đe dọa kẻ xâm nhập

  • Thêm một nút vào mạch để cho phép người dùng bật hoặc tắt tính năng phát hiện chuyển động theo cách thủ công

Có nhiều cách để nâng cấp dự án này. Hãy cho chúng tôi biết những gì bạn nghĩ ra

Sự kết luận

Raspberry Pi là một thiết bị điện toán tuyệt vời ngày càng tốt hơn. Nó được tích hợp nhiều tính năng giúp nó trở thành thiết bị phù hợp cho điện toán vật lý

Trong hướng dẫn này, bạn đã học cách

  • Thiết lập Raspberry Pi và chạy mã Python trên đó
  • Đọc đầu vào từ các cảm biến
  • Gửi đầu ra đến các linh kiện điện tử
  • Xây dựng một dự án thú vị bằng Python trên Raspberry Pi

Python là sự bổ sung hoàn hảo cho Raspberry Pi và với những kỹ năng bạn đã học được, bạn đã sẵn sàng để giải quyết các dự án điện toán vật lý thú vị và sáng tạo. Chúng tôi nóng lòng muốn nghe những gì bạn xây dựng

Đánh dấu là đã hoàn thành

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Jason Van Schooneveld

Jason là một nhà phát triển phần mềm có trụ sở tại Đài Bắc. Khi anh ấy không mày mò thiết bị điện tử hoặc xây dựng ứng dụng web Django, bạn có thể thấy anh ấy đi bộ đường dài trên những ngọn núi ở Đài Loan hoặc học tiếng Trung.

» Thông tin thêm về Jason

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

David

Geir Arne

Joanna

Gia-cốp

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Chủ Đề