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áoTổ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áoPhầ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ầuSau 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
- Lắp thẻ SD vào máy tính của bạn
- Chọn thẻ SD từ menu thả xuống Chọn thẻ
- Nhấp vào tùy chọn Định dạng nhanh trong Tùy chọn định dạng
- 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áoThiế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
- Lắp thẻ nhớ microSD vào khe cắm thẻ ở dưới cùng của Raspberry Pi
- 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
- 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
- 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
- Đầu tiên, bật nguồn Raspberry Pi để tải giao diện NOOBS
- 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
- 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áoChỉ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áoTạo thư mục $ ssh pi@[IP ADDRESS]
9
$ ssh pi@[IP ADDRESS]
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ìnhSử 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- Mở Mu bằng cách đi tới Biểu tượng Raspberry Pi → Lập trình → Mu
- Nhấp vào Mới trong thanh menu để tạo một tệp trống
- Nhấp vào Lưu trong thanh menu
- Đ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 - 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
- Đặt tên cho thư mục mới này là
9 và nhấn Enter .$ ssh pi@[IP ADDRESS]
- 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]
9Ghi 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ớiimport 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]
0Tuyệ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áoTươ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
- Nam thành nam
- nữ thành nam
- 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áoChâ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
- 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
- 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
- 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
- GND. Các chân này cung cấp kết nối đất cho các mạch
- 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
- 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
- Đặt một nút xúc giác trên máng xối ở giữa breadboard
- 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
- 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]
1Nếu bạn đang sử dụng Mu thì hãy tạo tệp theo các bước sau
- Nhấp vào mục menu Mới
- Nhấp vào để lưu
- Đ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 - 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]
2Tạ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]
3Tiế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]
4Lớ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]
5Thao 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]
05Bâ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]
6Tuyệ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átChương trình cuối cùng của bạn sẽ trông như thế này
$ ssh pi@[IP ADDRESS]
7Khi đã 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]
8Nế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]
9Nhấn và giữ nút trong ít nhất một giây và bạn sẽ thấy đầu ra sau
pi@raspberrypi:~ $
0Cuố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áoDẪ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
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
Đặt một đèn LED vào hai lỗ trên breadboard cạnh nhau nhưng không cùng hàng
Đặt chân dương, dài hơn của đèn LED vào lỗ ở bên phải
Đặt chân âm, ngắn hơn của đèn LED vào lỗ ở bên trái
Đặ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
Đặt đầu kia của điện trở vào đường ray âm của breadboard
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]
12pi@raspberrypi:~ $
2Trong 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ìnhBắ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:~ $
3Tiế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:~ $
4Gọi phương thức
$ ssh pi@[IP ADDRESS]
14 trên $ ssh pi@[IP ADDRESS]
21pi@raspberrypi:~ $
5Cuố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átpi@raspberrypi:~ $
6Chương trình hoàn chỉnh của bạn sẽ trông như thế này
pi@raspberrypi:~ $
7Lư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áocò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
Đặt bộ rung trên breadboard, lưu ý vị trí của chân dương của bộ rung
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
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]
28pi@raspberrypi:~ $
9Trong 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âyBắ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
0Tiế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
1Gọ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ầnpi@raspberrypi:~ $ python3
2Cuố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átpi@raspberrypi:~ $
6Chương trình hoàn chỉnh của bạn sẽ trông như thế này
pi@raspberrypi:~ $ python3
4Save the file and run it to hear the buzzer beep on and off every half second
pi@raspberrypi:~ $ python3
5You 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áoMotion 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
- VCC for voltage
- OUT for communicating with the Raspberry Pi
- GND for ground
Using these pins, you need to take the following steps
- Connect a female-to-female jumper wire from the Raspberry Pi’s 5V pin to the sensor’s VCC pin
- Connect a female-to-female jumper wire from the Raspberry Pi’s GPIO4 pin to the sensor’s OUT pin
- 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]
49pi@raspberrypi:~ $ python3
6The 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 instanceLet’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 sensorYou’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 upNote. 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. 5pi@raspberrypi:~ $ python3
8This 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 documentationSave the code and run it to try out your motion detection circuit
pi@raspberrypi:~ $ python3
9Wave 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 consoleimport 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
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
Đặ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
Nối chân âm của đèn LED với chân âm của breadboard thông qua điện trở 330 Ω
Đặ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
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
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
Connect a female-to-female jumper wire from the Raspberry Pi’s GPIO4 pin to the sensor’s OUT pin
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]
68import 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ìnhimport 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 độngimport 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 CSVimport 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
21 cứ sau nửa giây$ ssh pi@[IP ADDRESS]
- Tạo tiếng bíp
40$ ssh pi@[IP ADDRESS]
- Lưu dấu thời gian
84 vào từ điển$ ssh pi@[IP ADDRESS]
85$ ssh pi@[IP ADDRESS]
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ạyimport 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
21 và$ ssh pi@[IP ADDRESS]
40$ ssh pi@[IP ADDRESS]
- Lưu dấu thời gian
90$ ssh pi@[IP ADDRESS]
- Gọi
91 để lưu dữ liệu chuyển động vào tệp CSV$ ssh pi@[IP ADDRESS]
- Đặt lại từ điển
85$ ssh pi@[IP ADDRESS]
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]
0Thê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]
2Cuố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]
3Lư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]
4Bâ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]
5Hã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]
6Như 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 CSVXin 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ề JasonMỗ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ẻ EmailBà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