Raspberry pi căn bản

25 148 1
Raspberry pi  căn bản

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu học Raspberry Pi thì đã có nhiều tuy nhiên đa số đều viết bằng tiếng Anh. Ở đây mình sẽ tập hợp tất cả bài viết và giới thiệu các nguồn tài liệu hay để các bạn mới học Raspberry Pi có thể nắm bắt nhanh nhất. Danh mục đang trong quá trình hoàn thiện nên mình viết tới đâu sẽ bổ sung tới đó. Các bạn muốn mình viết thêm phần nào thì cứ thoải mái comment ở dưới nha, mình sẽ cố gắng bổ sung.

Tài liệu học Raspberry Pi Sưu tập: http://dandientu.com Nguồn http://www.raspberrypivietnam.com/hoc-raspberry-pi-tu-a-z/ Tài liệu học Raspberry Pi có nhiều nhiên đa số viết tiếng Anh Ở tập hợp tất viết giới thiệu nguồn tài liệu hay để bạn học Raspberry Pi nắm bắt nhanh Danh mục q trình hồn thiện nên viết tới đâu bổ sung tới Các bạn muốn viết thêm phần thoải mái comment nha, cố gắng bổ sung      Kiến thức sở: Giới thiệu Raspberry Pi Cấu tạo Pi ARM vs x86 Linux 20 command line cần biết Linux Web vài điều Tìm hiểu firmware raspi-config Pi Raspberry Pi bản: Cài đặt hệ điều hành Thực hành đầu tiên: bật tắt LED Viết ứng dụng gửi email Python Dự báo thời tiết qua API Kết nối webcam, nhận diện khuôn mặt với SimpleCV Raspberry Pi nâng cao Project: Điều khiển thiết bị qua internet Project: Handmade time lapse camera Thủ thuật cho Pi: Gõ tiếng Việt Pi Điều khiển Pi từ xa máy tính Chụp ảnh hình Pi Tùy chỉnh firmware raspi-config Nên đọc thêm: Website diễn đàn thức Raspberry Pi : raspberrypi.org Tạp chí miễn phí Raspberry Pi : The MagPi Giới thiệu Raspberry Pi: máy tính tí hon kỳ diệu I Raspberry Pi gì? Raspberry Pi máy tính tí hon giá 25$ chạy hệ điều hành Linux mắt vào tháng năm 2012 Ban đầu Raspberry Pi phát triển dựa ý tưởng tiến sĩ Eben Upton đại học Cambridge muốn tạo máy tính giá rẻ để học sinh dễ dàng tiếp cận khám phá giới tin học Dự định khiêm tốn ông đến cuối đời bán tổng cộng 1000 bo mạch cho trường học Vậy điều làm nên thành cơng ngồi sức tưởng tượng Raspberry Pi bán triệu bo mạch vòng chưa đầy năm? Raspberry Pi có mức giá hấp dẫn: 25$ cho bo mạch làm ứng dụng ngày lướt web, học lập trình, xem phim HD đến ý tưởng mà bạn không ngờ đến điều khiển robot, nhà thông minh v.v Raspberry Pi chạy hệ điều hành Linux: 99% thứ bạn làm máy tính Windows thực Linux quan trọng là: tất miễn phí! Raspberry Pi có ngõ GPIO: tức bạn kết nối điều khiển thiết bị sống thực tế đèn, động cơ, GPS… Rất nhiều ứng dụng nhà thông minh sử dụng Raspberry Pi làm điều khiển trung tâm Raspberry Pi có kích thước tí hon: tương đương thẻ ATM nặng chưa đầy 50 gram! Gắn với tivi, bạn biến thành thành thiết bị giải trí thơng minh phòng khách Gắn với hình bàn phím, chuột, bạn biến thành máy tính nghĩa Nhỏ gọn tiện lợi Cộng đồng Raspberry Pi phát triển nhanh giới: hầu hết thắc mắc bạn giải đáp nhanh nữa: bạn tìm thấy hàng ngàn dự án thực vô số ý tưởng độc đáo Với ưu điểm độc đáo trên, Raspberry Pi vượt khỏi biên giới trường học trở thành thiết bị ưa thích nhiều người đam mê điện tử lập trình Sự thành cơng mở bước phát triển cho tin học: đem máy tính cảm hứng lập trình đến gần người hết Raspberry Pi có gì? Thiết kế phần cứng thông minh Raspberry Pi lý khiến trở nên phổ biến Hãy xem qua Raspberry Pi có gì: Trái tim Pi chip SOC (System-On-Chip) (System Broadcom BCM2835 chạy ạy tốc độ 700mHz Chip tương đương với v nhiều loại ợc sử dụng smartphone phổ thơng nay, ể chạy đ hệ điều hành Linux Tích hợp ên chip nhân đồ họa (GPU) Broadcom VideoCore IV GPU đủ ủ mạnh để ch chơi số game phổ thông phát video chuẩn chu full HD ngõ GPIO (General Purpose Input Output): tên gọi gọi nó, từ bạn kết nối điều ều khiển nhiều thiết bị điện tử/cơ tử/c khí khác Ngõ HDMI: dùng để ể kết nối Pi với m hình máy tính hay tivi có hỗ ỗ trợ cổng HDMI Ngõ RCA Video (analog): thiết thi kế Pi người ta tính đến trường ờng hợp ng người sử dụng nước ớc phát triển khơng có điều kiện sắm tivi đời tíc tích hợp cổng HDMI Vì ậy cổng video analog n thêm vào, giúp bạn ạn kết nối với tivi đời cũ mà ph lo lắng Ngõ audio 3.5mm: kết ết nối dễ dàng d với loa hay headphone Đối ối với tivi có cổng HDMI, ngõ âm ợc tích hợp theo đường tín hiệu HDMI nên ên không ccần sử dụng ngõ audio Cổng USB: ột điểm mạnh Pi l tích hợp ợp cổng USB 2.0 Bạn kết nối với bàn phím, chuột ột hay webcam, thu GPS v.v qua mở rộng phạm vi ứng dụng Vì Pi chạy Linux nên hầu hết thiết bị cần cắm-và-chạy (Plug-n-Play) mà không cần cài driver phức tạp Cổng Ethernet: cho phép kết nối Internet dễ dàng Cắm dây mạng vào Pi, kết nối với hình máy tính hay tivi bàn phím, chuột bạn lướt web dễ dàng! Khe cắm thẻ SD: Pi khơng tích hợp ổ cứng Thay vào dùng thẻ SD để lưu trữ liệu Toàn hệ điều hành Linux hoạt động thẻ SD cần kích thước thẻ nhớ tối thiểu GB dung lượng hỗ trợ tối đa 32 GB Đèn LED: Pi có đèn LED để hiển thị tình trạng hoạt động 10 Jack nguồn micro USB 5V, tối thiểu 700mA: nhờ thiết kế mà bạn tận dụng hầu hết sạc điện thoại di động thị trường để cấp nguồn điện cho Pi Linux Raspberry Pi Nhắc đến Linux người ta nhắc đến tự Khác với Windows hay MacOS, mã nguồn mở Linux cho phép người dùng tiếp cận tùy chỉnh tồn mã nguồn tùy theo ý muốn, hoàn toàn miễn phí Chính Linux chọn để sử dụng làm hệ điều hành cho Raspberry Pi Dựa tảng Linux, nhiều phân phối (distribution) khác phát triển Debian, Ubuntu, Fedora Một số đó, Debian, chỉnh sửa để hoạt động tối ưu Pi gọi Raspbian (=Raspberry+Debian) Raspbian hệ điều hành phát triển thức cho Pi Hiện phiên Raspbian Raspbian Wheezy Linux hoạt động mơi trường chính: mơi trường Desktop (giống Windows) môi trường Terminal sử dụng command line (giống DOS) Trước Linux hoạt động Terminal gây khó khăn cho người quen sử dụng Windows gần Linux ý phát triển giao diện đồ họa đẹp mắt khơng Windows hay MAC Trên Raspberry Pi cài đặt sẵn giao diện LXDE (Light X11 Desktop Environment) môi trường đồ họa không ngốn nhiều tài nguyên, không đẹp long lanh vừa đủ để sử dụng Để làm quen với Linux bạn cần biết số thuật ngữ thường sử dụng sau:          Command line: câu lệnh thực chức Linux Shell: nơi nhận command line, gửi đến kernel để tính tốn nhận kết trả từ kernel Distribution: phân phối Linux Thí dụ Ubuntu, Debian, Fedora, ArchLinux… Package: chứa nhiều files folder để cài chương trình, tương tự phần mềm Windows Super user: tương đương với admin Root = super user Directory: tương đương với folder Windows GNU: tên dự án phần mềm miễn phí, nhiều phần mềm GNU cài đặt cho Linux Bootloader: phần mềm chịu trách nhiệm load kernel Linux khởi động 20 command line cần biết Linux Command line quan trọng Linux sử dụng command line người dùng can thiệp sâu vào hệ thống Ngồi Linux khơng u cầu cấu hình phần cứng cao Windows LXDE cung cấp hầu hết chức hệ điều hành, để thao tác nhanh tận dụng mạnh Pi sử dụng command line Terminal cần thiết hệ thống khơng phải tốn tài ngun cho giao diện đồ họa Sau 20 command line cần biết sử dụng Linux Tuy nhiên bạn không cần học thuộc lòng lúc mà coi sổ tay lệnh cần thiết để tra cứu gặp phải man – manual guide Hướng dẫn Ví dụ bạn khơng biết lệnh cd gõ man cd startx – start x environment Khởi động môi trường desktop X ls – listing Liệt kê tất file folder có thư mục cd – change directory Chuyển sang thư mục khác mkdir – make directory Giống tạo New Folder Windows rmdir – remove directory Giống lệnh delete Windows mv – move Di chuyển file hay folder rm – remove Tương đương với delete pwd – print working folder In đường dẫn đầy đủ thư mục hành nano – open Nano text editor Mở trình soạn thảo văn Nano, giống Notepad Windows sudo shutdown -h now Shutdown sudo reboot Khởi động (restart) lại máy tính sudo apt-get install Cài đặt phần mềm (package) sudo apt-get remove Gỡ bỏ (uninstall) package sudo apt-get purge Uninstall hoàn toàn Kể settings log sudo apt-get update Cập nhật danh sách package sudo apt-get upgrade Nâng cấp tất package có máy lên phiên sudo apt-get autoclean Gỡ bỏ file setting hay log không sử dụng sudo apt-get autoremove Dọn dẹp package không dùng đến sudo apt-cache search Tìm kiếm package cài đặt hay chưa Nhóm lệnh thứ liên quan đến thao tác quan trọng hệ thống nên Linux yêu cầu người sử dụng phải làsuperuser (root) thực Do ta phải thêm từ sudo (=superuser do) trước câu lệnh Nếu không thêm sudo Linux từ chối thực kèm theo giải thích Tips: gõ command line nghe dài dòng so với click chuột desktop thực bạn thao tác nhanh cách nhấn phím Tab để Linux auto-complete câu lệnh bạn Ví dụ muốn tắt máy cần gõ su nhấn Tab, Linux auto- complete thành sudo gõ shu nhấn Tab shutdown Sử dụng vài lần bạn thấy command line khơng khó bạn tưởng đâu Raspberry Pi Cài đặt hệ điều hành cho Raspberry Pi Sau giới thiệu Raspberry Pi cấu tạo có bạn nhắn hỏi cách thực hành với Pi Khác với vi điều khiển chạy sau load chương trình điều khiển, Pi cần có hệ điều hành để hoạt động Đây ưu điểm Pi cho phép người tận dụng nhiều phần mềm thiết bị ngoại vi để lập trình ứng dụng phức tạp cách nhanh chóng Ở viết hướng dẫn bạn cài đặt hệ điều hành cho Raspberry Pi cách đơn giản NOOBS NOOBS (New Out Of Box Software) gói hệ điều hành Raspberry Pi hỗ trợ cài đặt nhanh NOOBS chứa nhiều hệ điều hành khác cho phép người dùng lựa chọn lúc cài đặt Ở khuyên dùng Raspbian, hệ điều hành hỗ trợ thức Raspberry Pi Cách cài đặt sau: Chuẩn bị phần cứng: Raspberry Pi model B (khun dùng có thêm cổng USB có cổng Ethernet) Sạc điện thoại microUSB 5V tối thiểu 700mA Thông số thường ghi thân sạc Thẻ nhớ: tối thiểu GB Tốt GB hơn, tốc độ từ class trở lên Bàn phím, chuột sử dụng cổng USB Nếu có loại tích hợp 2-trong-1 tốt, tiết kiệm cổng USB hình minh họa Chuẩn bị phần mềm: Download phần mềm SD Formatter (click I Agree cuối trang) cài đặt bình thường Download hệ điều hành cho Raspberry Pi giải nén Kết nối Raspberry Pi Thực hiện: Format thẻ SD: gắn thẻ SD vào máy tính Khởi động SD Formatter, chọn thẻ phần Drive Click Option, mục Format Size Adjustment chọn ON Sau cùng, click Format Giải nén toàn file NOOBS_v1_2_1.zip vào thẻ SD Sau lấy thẻ gắn vào Raspberry Pi Kết nối Raspberry Pi với bàn phím, chuột, cáp internet, dây nối hình (HDMI RCA Video) Nếu muốn nối Pi với hình máy tính sử dụng cổng VGA mua cáp chuyển HDMI->VGA Kiểm tra kĩ lượt trước cắm nguồn Cắm nguồn Lúc Pi tự khởi động hệ điều hành Lưu ý: Raspberry Pi mặc định hiển thị qua ngõ HDMI nên bạn sử dụng ngõ RCA Video khơng thấy hình Muốn hiển thị đúng, bạn chọn phím sau bàn phím:  phím 1: HDMI mode  phím 2: HDMI safe mode  phím 3: composite PAL mode (analog)  phím 4: composite NTSC mode (analog) Mình dùng HDMI nên khơng gặp vấn đề hiển thị, cắm chạy Vậy bạn sử dụng ngõ RCA video thử nhấn phím nha Pi tiến hành cài đặt hệ điều hành Trong q trình có nhiều lựa chọn tốt bạn chọn hệ điều hành mặc định Raspbian wheezy Đây hệ điều hành Linuxđược tối ưu để hoạt động Pi Cài đặt xong Pi hỏi bạn login password Mặc định login pi password raspberry Xong! Chúc mừng bạn cài đặt khởi động Raspberry thành cơng! Lưu ý: Nếu bạn có chút thất vọng hình màu đen buồn tẻ (Linux gọi command line) gõ startx Enter! Một hình quen thuộc phải khơng? Khơng Windows hay Mac khởi động thẳng vào môi trường desktop quen thuộc mà bạn sử dụng hàng ngày, Linux có tùy chọn để làm việc: môi trường Terminal sử dụng command line (giống DOS Windows) môi trường desktop Cả hai có mục đích sử dụng riêng mà trình bày sau Còn để khơng phải bỡ ngỡ làm việc với mơi trường desktop trước Môi trường desktop Raspberry Pi Chúc bạn thành cơng! Ở sau hướng dẫn thực hành ứng dụng vớiRaspberry Pi: bật tắt LED Thực hành Raspberry Pi: bật tắt LED Chuẩn bị:  Raspberry Pi  LED, điện trở 1K vài dây nối Kết nối Raspberry Pi với LED: kết nối nhớ ý sơ đồ chân GPIO Pi sau Sơ đồ chân GPIO Raspberry Pi Các ngõ GPIO đánh dấu màu xanh Lưu ý ngõ hoạt động mức logic 0V 3V3 Tuyệt đối khơng kết nối với nguồn 5V Để thực viết chương trình nhỏ ngơn ngữ Python Python C hay Java, ngôn ngữ lập trình mạnh hỗ trợ phong phú thư viện giúp cho việc lập trình hiệu trở nên đơn giản hiệu Python cài đặt sẵn Raspberry Pi Ở viết cố gắng giới thiệu kĩ để bạn beginners dễ hiểu Sau bạn thành thạo đọng vào nội dung Viết chương trình bật tắt LED Python:    Bước 1: Để mở Python: từ hình desktop bạn double click vào icon IDLE3 chọn Start – Programming – IDLE Một cửa sổ Python Shell lên: nơi hiển thị kết tính tốn chương trình Bước 2: Để bắt đầu viết code: từ Python Shell chọn File – New Window Ctrl+N Một cửa sổ lên nơi bạn viết chương trình Bước 3: Viết code Dưới chương trình mẫu thực chớp tắt đèn LED chân số 22 Sau viết xong bạn save vào /home/pi đặt tên blinkLED.py # Blinking an LED # By Chinh Nguyen # import import RPi.GPIO as GPIO RPi.GPIO library and use with new name GPIO import time # import time library GPIO.setmode(GPIO.BCM) GPIO.setup(22, GPIO.OUT) while True: 10 GPIO.output(22, GPIO.HIGH) 11 time.sleep(1) 12 GPIO.output(22, GPIO.LOW) time.sleep(1)   Giải thích: Rất đơn giản khơng? Chương trình sử dụng vòng lặp While thực hiên việc sau: cấp điện cho chân 22 (nối với đèn LED) làm đèn sáng, giữ trạng thái giây, ngắt điện chân 22 làm đèn tắt, giữ trạng thái giây Rồi lặp lại  Để truy cập ngõ GPIO Python cần có thư viện RPi.GPIO Thư viện hỗ trợ lệnh cần thiết để điều khiển chân GPIO Ngồi Python cần có thư viện time để thực lệnh time.sleep(1): giữ nguyên tất trạng thái vòng giây Đó lý dòng lệnh  Dòng lệnh thứ thứ có tác dụng thiết lập chân 22 thành ngõ điều khiển (output) để bật tắt LED Trong ví dụ khác dùng chân 22 để theo dõi nút nhấn, lúc ta phải thiết lập chân thành ngõ vào (input) Qui ước khoảng trắng: tất dòng lệnh nằm vòng lặp While phải thụt vô khoảng trắng (hoặc nhấn phím Tab lần) so với chữ While Khác với C, Python không dùng cặp dấu {…} mà lại dùng khoảng trắng để đánh dấu chương trình Điều làm chương trình nhìn thống khơng quen dẫn đến lỗi May mắn chương trình IDLE tự động làm việc bạn chỉnh sửa ý Ký hiệu # comment (chú thích) Bạn đặt thích tùy ý để giải thích hay ghi cho chương trình Thường xuyên comment thói quen cần thiết người lập trình Khi cần xem lại chương trình viết, comment giúp gợi nhớ nhanh ý tưởng lập trình mà khơng cần đọc dòng code Ngồi giúp người khác dễ hiểu hơn, dễ sửa lỗi Bước 4: Chương trình chưa thể chạy liền thư viện RPi.GPIO chưa có sẵn Raspberry Pi mà ta phải download Mở LXTerminal chọn Start – Accessories – LXTerminal LXTerminal tương tự command line mà bạn thấy Gõ vào sau (phần viết đậm) 10   sudo apt-get update (rồi Enter) sudo apt-get install python-rpi.gpio (Enter) Cuối cùng: CHẠY! Ở LXTerminal, gõ: sudo python /home/pi/blinkLED.py nín thở quan sát! Chúc bạn thành cơng! Mình vui bạn chia sẻ kết Viết ứng dụng gửi email với Raspberry Pi Sau cài đặt hệ điều hành bạn viết nhiều ứng dụng từ dễ đến khó Raspberry Pi Ở hướng dẫn bạn viết ứng dụng gửi email ngôn ngữ Python Các dịch vụ email phổ biến Gmail, Yahoo! Mail cho phép người dùng truy cập gửi email từ ứng dụng khác Ở ta tự tay viết ứng dụng Python: # Import smtplib for the actual sending function import smtplib # Import the email modules we will need from email.mime.text import MIMEText # Open a plain text file for reading For this example, assume that # the text file contains only ASCII characters 10 fp = 11 open('/home/pi/My_python/Text_files/first_email.txt') 12 msg = MIMEText(fp.read()) 13 fp.close() 14 15 from_addr = "sender@gmail.com" 16 pw = "sender-password" 17 to_addr = "receiver@example.com" 18 19 msg['Subject'] = 'Hello from Pi!' 20 msg['From'] = from_addr 21 msg['To'] = to_addr 22 23 # Send the message via our own SMTP server, but don't 24 include the 25 # envelope header 26 server = smtplib.SMTP('smtp.gmail.com', 587) 27 28 server.set_debuglevel(1) 29 server.ehlo() 11 30 server.starttls() 31 server.login(from_addr, pw) server.send_message(msg) server.quit() Giải thích: Để gửi Gmail Python cần phải đóng vai trò Gmail server thực gửi mail thông qua giao thức SMTP (Simple Mail Transfer Protocol) Để xác nhận tài khoản email ta phải khai báo gồm địa email, password, SMTP server (stmp.gmail.com) cuối port (465 587)  Dòng 1: import thư viện SMTP  Dòng 25+26: khởi tạo server  Dòng 27: đặt kết nối SMTP vào TLS (Transport Layer Security) nhằm mã hóa liệu, đảm bảo tính bảo mật Và thành quả: Email: Hello from Pi! 12 PS: nói ln phần nhận email từ phần mềm điện thoại di động: có giao thức phổ biến IMAP (Internet Message Access Protocol) POP (Post Office Protocol) Điểm khác biệt IMAP cho phép đồng chiều Gmail web phần mềm email, thí dụ bạn tạo folder ABC điện thoại xuất web Ngoài IMAP hoạt động ổn định POP Gmail khuyên dùng Muốn sử dụng IMAP bạn phải khai báo username, password số thông số mặc định khác Thực hành: Dự báo thời tiết Raspberry Pi Để thực dự báo thời tiết Raspberry Pi, bạn cần chuẩn bị phần cứng sau: Raspberry Pi kết nối Internet Hết Con người thường lên Internet tra cứu dự báo thời tiết Pi làm tương tự Điều khác biệt Pi khơng người tự mở Internet Explorer lên gõ www.weather.com nhập tên thành phố đọc kết hình Các dịch vụ Internet trao đổi thơng tin với phần mềm máy tính thơng qua hình thức khác API (Application Programming Interface) API cho phép Pi gửi yêu cầu (request) đến server nhận kết (get response) Kết nhận thường format định, thường JSON XML Pi đọc file liệu cần tìm Ưu điểm API giúp developer tận dụng sức mạnh dịch vụ có sẵn Bù lại, bạn phải có kết nối Internet Bài viết hướng dẫn ví dụ thao tác với API Weather Underground Các API khác bạn làm tương tự Đăng kí: thơng thường trang web yêu cầu phải đăng kí trước sử dụng API Đăng kí miễn phí http://www.wunderground.com/weather/api/d/login.html Sau đăng kí bạn nhận Key để thực request JSON format: Như đề cập, format liệu trả Pi Muốn lấy liệu cần thiết bạn phải đọc tài liệu hướng dẫn (documentation) viết rõ website Ví dụ muốn xem dự báo thời tiết click vào feature forecast (http://www.wunderground.com/weather/api/d/docs?d=data/forecast) , kéo chuột xuống cuối trang xem ví dụ Chẳng hạn đoạn file JSON nhận request dự báo thời tiết California, San Francisco: { "response": { "version": "0.1", "termsofService": "http://www.wunderground.com/weather/api/d/terms.html", "features": { 13 "forecast": } }, "forecast": { 10 "txt_forecast": { 11 "date": "2:00 PM PDT", 12 "forecastday": [{ 13 "period": 0, 14 "icon": "partlycloudy", 15 "icon_url": "http://iconsak.wxug.com/i/c/k/partlycloudy.gif", 16 "title": "Tuesday", 17 "fcttext": "Partly cloudy in the morning, then clear 18 High of 68F Breezy Winds from the West at 10 to 25 mph.", 19 "fcttext_metric": "Partly cloudy in the morning, then 20 clear High of 20C Windy Winds from the West at 20 to 35 km/h.", 21 "pop": "0" 22 }, { 23 "period": 1, 24 "icon": "partlycloudy", 25 "icon_url": "http://icons26 ak.wxug.com/i/c/k/partlycloudy.gif", 27 28 "title": "Tuesday Night", "fcttext": "Mostly cloudy Fog overnight Low of 50F Winds from the WSW at to 15 mph.", "fcttext_metric": "Mostly cloudy Fog overnight Low of 14 10C Breezy Winds from the WSW at 10 to 20 km/h.", "pop": "0" } Lập trình Python: Như muốn lấy kết dự báo thời tiết bạn phải trích liệu fcttext_metric nằm phần forecast/txt_forecast/forecastday/ Ví dụ với thành phố New York sau: import requests key = 'your-API-key' #replace your API key here ApiUrl = 'http://api.wunderground.com/api/' + key + '/forecast/q/NY/New_York.json' r = requests.get(ApiUrl, timeout=1) forecast = r.json format # since this api response in JSON print r.status_code print r.headers print forecast['forecast']['txt_forecast']['forecastday'][0]['fcttex t_metric'] #extract data from JSON Lưu ý:  Nhớ thay your-API-key key bạn  Đoạn code sử dụng thư viện (library) Request cho Python Library Request cung cấp nhiều function hay dễ sử dụng Python để giao tiếp với API Bạn phải cài đặt Request trước chạy chương trình Cách cài đặt đơn giản, LXTerminal gõ sau: sudo pip install requests Lưu chương trình với tên text-forecast.py thư mục My_python chạy cách mở LXTerminal gõ sau: 15 sudo python /home/pi/My_python/textforecast.py Sử dụng Webcam, truyền hình ảnh lên web với SimpleCV *Test webcam Nếu bạn chuẩn bị mua webcam để sử dụng cho Raspberry Pi trước hết bạn nên tham khảo danh sách này, cộng đồng người dùng Pi giới test đưa đánh giá nhiều loại webcam cho bạn tham khảo Webcam list Để test webcam bạn cài luvcview, phần mềm hỗ trợ tốt cho GPU Raspberry Pi: pi@raspberrypi ~ $ sudo apt-get install luvcview Sau cài đặt xong: pi@raspberrypi ~ $ luvcview -s 320x240 Kích thước video 320×240 bạn tùy chỉnh, bạn thay 640×480 chẳng hạn *Sử dụng SimpleCV Trước cài SimpleCV cho Python, cần cài thư viện khác mà SimpleCV phụ thuộc vào: pi@raspberrypi ~ $ sudo apt-get install python-opencv python-scipy python-numpy python-pip Việc cài đặt chút thời gian thư viện lớn Tiếp theo cài đặt SimpleCV với lệnh sau: pi@raspberrypi ~ $ sudo pip install https://github.com/ingenuitas/SimpleCV/zipball/master Kiểm tra kết cách import SimpleCV, lỗi có nghĩa việc cài đặt thành công: pi@raspberrypi ~ $ python >>> import SimpleCV Các ứng dụng với SimpleCV bạn tham khảo tài liệu Practical Computer Vision with SimpleCV Kurt Demaagd Sau xây dựng ứng dụng thiết thực đề cập tài liệu “Truyền hình ảnh thu từ video lên web”: # import module cần dùng from SimpleCV import Camera, JpegStreamer, Image import time from time import sleep 16 c = Camera(0, {"width": 320, "height": 240}) # Thiết lập khung hình camera js = JpegStreamer("192.168.0.103:8080") # Địa IP Rasberry bạn khác, port 8080 bạn tùy 10 chọn 11 while(True): # Vòng lặp truyền 10 hình/s img = c.getImage() img.save(js) sleep(0.1) Sau chạy chương trình, bạn dùng máy tính khác mạng truy cập vào địa 192.168.0.103:8080 Chúc bạn thành công! Gõ tiếng Việt Raspberry Pi Từ viết Raspberry Pi bắt đầu có nhu cầu gõ tiếng Việt Pi để trực tiếp soạn thảo nội dung lẫn cắt dán code hình ảnh minh họa Do tìm kiếm gõ tiếng Việt nhu cầu xúc ngày qua Trên Linux IBus (Intelligent Input Bus for Linux/Unix OS) gõ thức cài sẵn phiên hệ điều hành gần Để gõ tiếng Việt IBus bạn cần cài đặt thêm gói IBus-unikey Trên Raspberry Pi không cài đặt sẵn IBus lẫn IBusunikey thao tác thực đơn giản Cách cài đặt gõ tiếng Việt IBus-unikey: sudo apt-get update sudo apt-get install ibus-unikey Bạn thấy ta cần cài ibus-unikey hệ thống tự động kiểm tra cài đặt phần mềm cần thiết khác để ibus-unikey hoạt động (trong trường hợp ibus) Sau cài đặt xong bạn thấy biểu tượng IBus góc bên phải hình Chọn Preference: 17    IBus-unikey Raspberry Pi Ở tab General nhớ ý tick vào ô Embed pre-edit text in application window Nếu khơng gõ tiếng Việt thêm cửa sổ nhỏ khó chịu Ở tab Input Method: click Select an input method chọn Vietnamese-Unikey Add vào Ở tab Advanced nhớ tick vào options Một số lưu ý: Để chuyển đổi qua lại gõ tiếng Việt tiếng Anh: nhấn Ctrl-Space Bộ gõ mặc định sử dụng kiểu gõ Telex bảng mã Unicode Bạn thay đổi menu IBus-Unikey Các options lại bạn tự khám phá nhe! Chúc bạn gõ tiếng Việt thành thạo Raspberry Pi   Thiết lập USB Wifi cho Raspberry Pi Một số bạn sử dụng usb wifi cắm vào Raspberry bị reset, usb wifi rút dòng lớn q mà port usb Ras Pi cấp khơng đủ nên bạn phải dùng thêm hub usb có nguồn riêng Tuy nhiên có số usb cắm trực tiếp vào Pi ok, khơng hết, sử dụng loại chip rút dòng Nếu bạn chuẩn bị mua tham khảo 18 danh sách này: USB Wifi list Bước 1: Truy cập vào file interfaces: sudo nano /etc/network/interfaces Bước 2: Sửa file interfaces trở thành sau: auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid “tên wifi” wpa-psk “password” Bước 3: Nếu wifi bạn wifi ẩn: auto lo iface lo inet loopback iface eth0 inet dhcp auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-scan-ssid wpa-ap-scan wpa-key-mgmt WPA-PSK wpa-proto RSN WPA wpa-pairwise CCMP TKIP wpa-group CCMP TKIP wpa-ssid “tên wifi” wpa-psk “password” iface default inet dhcp Bước 4: Thế xong phần thiết lập cho usb wifi, mà chưa xong đâu bạn ^^, có loại usb wifi lại có chế độ saving power, thành nhiều bạn truy cập vào Pi putty thông qua wifi bị kết nối usb wifi “sleep”, nên bạn làm thêm bước sau cho ăn nhé: 4a Tạo file dùng lệnh sau: sudo nano /etc/modprobe.d/8192cu.conf 4b Điền dòng sau vào file vừa tạo save lại: options 8192cu rtw_power_mgnt=0 rtw_enusbss=0 4c Truy cập vào crontab: sudo crontab -e 19 4d Điền dòng sau vào save lại,thay 192.168.0.1 IP Router bạn: */1 * * * * ping -c 192.168.0.1 Bước Xong xuôi, reboot cắm usb wifi vào Điều khiển Raspberry Pi từ xa máy tính Trong nhiều ứng dụng có khơng gian hạn chế chẳng hạn dùng Raspberry Pi để điều khiển cửa tự động người ta thường khơng muốn kết nối rườm rà hình, bàn phím, chuột lên Pi mà khiển Khi ta sử dụng công nghệ phổ biến để điều khiển Raspberry Pi từ xa máy tính khác SSH VNC Mỗi cơng nghệ có đặc điểm riêng phù hợp với ứng dụng mà trình bày sau Yêu cầu chung: phải biết địa IP thiết bị điều khiển Trong trường hợp ta cần biết địa IP Pi cách gõ từ LXTerminal ta gõ command line sau: sudo ifconfig ifconfig screenshot Ở phần eth0, inet addr địa IP Trong hình minh họa trên, địa IP 192.168.1.9 Mình sử dụng địa làm ví dụ viết nhớ địa IP bạn khác Lưu ý: địa IP động nên thay đổi sau lần restart Pi Điều khiển Raspberry Pi SSH: SSH viết tắt Secure Shell, phương thức trao đổi liệu an toàn đơn giản Để sử dụng SSH ta phải cài đặt Pi lẫn máy tính 20 1.1 Cài đặt SSH server Raspberry Pi Điều bạn cần làm activate SSH server menu Rasp-config cách gõ LXTerminal: sudo raspi-config Lúc hình Raspi-config cho phép tùy chỉnh nhiều thông số hệ thống Pi Chọn mục Advance Options – SSH – Enable OK Giao diện raspi-config 1.2 Cài đặt SSH client máy tính Windows: Download phần mềm PuTTY chạy không cần cài đặt Trên giao diện PuTTY bạn cần nhập địa IP Pi vào click Open Pi yêu cầu xác nhận username password Pi (mặc định pi raspberry) Nếu thành cơng máy tính xác nhận hiển thị hình command line Pi Lúc bạn điều khiển Pi command line thoải mái: 21 Giao diện PuTTY máy tính 22 Màn hình điều khiển Raspberry Pi SSH Như bạn thấy, ấy, điều khiển Pi SSH đơn đ giản SSH sử dụng tài ài ngun máy ccủa Pi khơng phải chạy phần đồ họa ậy thích hợp cho ứng dụng cần nhiều tài ài nguyên tính toán.Tuy nhiên nhược điểm SSH chỉỉ cho phép bạn truy cập vào v môi trường ờng command line Trong tr trường hợp ợp cần điều khiển desktop Pi th VNC (Virtual Network Computing) ột giải pháp tốt Điều khiển Raspberry Pi bằ ằng VNC: VNC cơng nghệ ệ cho phép máy tính truy cập vào v môi trường desktop lẫn bàn àn phím chu chuột máy tính khác Để sử dụng VNC thìì ta cần c cài đặt VNC server lên máy tính ợc điều khiển, vvà VNC client lên máy tính điều ều khiển Trong trường tr hợp ta muốn điều khiển Pi từ xa thìì ta cài VNC server lên Pi 2.1 Cài đặtt VNC server Raspberry Pi: Có nhiều ều phần mềm có chức làm l VNC server tốt sử dụng TightVNCserver Cách thức cài đặt mở TightVNCserver tr LXTerminal sau: sudo apt-get install tightvncserver tightvncserver 23 Khi chạy VNC lần đầu u cầu c bạn tạo password truy cập Đây password mà b bạn hỏi muốn truy cập vào Pi nhằm nh tránh tình trạng truy cập trái phép Ngồi ài TightVNC cho phép bạn ạn đặt password dạng view-only view tức cho phép bạn thấy hình ưng khơng điều khiển bàn phím hay chuột, ột, hữu dụng trường tr hợp muốn chia sẻ àn hình thuy thuyết trình chẳng hạn Sau đặt password thìì TightVNC s tạo hình ảo Pi để máy tính khác truy cập vvào Muốn truy cập hình bạn ạn cần có password xác nhận trên, tr địa IP Pi cổng truy cập (port) Port mặc định VNC 5900 Như v muốn truy cập vào hình số bạn dùng ùng đ địa chỉ: 192.168.1.9::5901 Tương tự ự có máy tính khác muốn truy cập m hình số ố th dùng địa 192.168.1.9::5902 Lưu ý hình số s hay số hình ảo độc ộc lập với nhau, điều khiển không thấy người ng khác làm 2.2 Cài đặtt VNC client Windows: Link download TightVNC Sau cài đặt đ ta mở VNC client lên ằng cách click Start – TightVNC – TightVNC Viewer, nhập địa truy ruy cập, c click Connect điền password truy cập Giao diện di TightVNC Viewer máy tính 24 Màn hình điều khiển Pi từ máy tính Ngồi phần mềm TightVNC ày tích hợp h VNC server lẫn client nên ể sử dụng trường hợp ngược lại: dùng Pi để điều khiển máy tính Các link tham khảo Tạp chí PI : http://www.themagpi.com/ Diễn đàn PI: http://www.raspberrypi.org/forums/ website thức : http://www.raspberrypi.org/ 25 ... /home /pi đặt tên blinkLED.py # Blinking an LED # By Chinh Nguyen # import import RPi.GPIO as GPIO RPi.GPIO library and use with new name GPIO import time # import time library GPIO.setmode(GPIO.BCM)... Môi trường desktop Raspberry Pi Chúc bạn thành cơng! Ở sau hướng dẫn thực hành ứng dụng vớiRaspberry Pi: bật tắt LED Thực hành Raspberry Pi: bật tắt LED Chuẩn bị:  Raspberry Pi  LED, điện trở... Raspberry Pi  LED, điện trở 1K vài dây nối Kết nối Raspberry Pi với LED: kết nối nhớ ý sơ đồ chân GPIO Pi sau Sơ đồ chân GPIO Raspberry Pi Các ngõ GPIO đánh dấu màu xanh Lưu ý ngõ hoạt động mức logic

Ngày đăng: 21/10/2019, 08:30

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan