Tại sao tôi muốn làm điều này?
Pi, thậm chí được phủ một lớp chắc chắn, là một chiếc máy tính nhỏ bé. Đó là hoàn hảo để tucking một nơi nào đó ra khỏi tầm nhìn mà không có một gaggle của dây gắn bó ra khỏi nó-đối với nhiều dự án bạn chỉ đơn giản là không cần một màn hình vĩnh viễn và đệm ngoại vi.
Cái đó không tuy nhiên, có nghĩa là bạn sẽ không cần phải kết nối với hộp để thực hiện thay đổi, cập nhật mọi thứ, truyền tệp, v.v. Một ví dụ hoàn hảo của điều này là chỉ số mưa nhỏ mát mẻ, chúng tôi xây dựng như là một phần của Xây dựng một chỉ số LED của chúng tôi với một bài viết Raspberry Pi (cho Email, Thời tiết, hoặc Bất cứ điều gì). Nó không cần tất cả những thứ gắn liền với nó, nhưng chúng tôi vẫn muốn có khả năng nhảy vào thiết bị và dễ dàng thực hiện thay đổi hoặc thử nghiệm mới với mô-đun LED mà không phải kéo nó trở lại xưởng và móc nó lên màn hình, bàn phím, chuột, vv Bằng cách cấu hình nó cho remote shell, remote desktop, và chuyển tập tin từ xa, chúng ta làm cho nó trở nên siêu đơn giản để luôn tương tác với thiết bị Pi của chúng ta. đã nối thiết bị đến một trạm làm việc đầy đủ.
Tôi cân nhưng gi?
Đối với hướng dẫn này, bạn sẽ cần những điều sau đây:
- Một Raspberry Pi chạy Raspbian.
- Máy tính để bàn hoặc máy tính xách tay.
- Một mạng Wi-Fi hoặc mạng có dây để kết nối Pi và máy tính của bạn.
Đầu tiên, hầu hết các bước trong hướng dẫn này sẽ làm việc với các bản phân phối Pi dựa trên Linux khác nhưng chúng ta sẽ sử dụng Raspbian. Bạn sẽ gặp phải một chút rắc rối khi thích nghi với hướng dẫn cho các bản phân phối khác.
Thứ hai, chúng tôi đang sử dụng máy Windows làm máy tính nối mạng với thiết bị Raspberry Pi làm đầu / giao diện từ xa. Khi thích hợp, chúng tôi sẽ cố hết sức để liên kết đến các hướng dẫn và đề xuất đọc về thực hiện các tác vụ và công cụ song song trên OS X và Linux.
Thiết lập và kết nối với máy chủ SSH
Mở terminal ở Rasbian, shortcut là LXTerminal trên desktop và gõ lệnh sau:
sudo raspi-config
Điều hướng xuống ssh và nhấn enter. Khi được nhắc về máy chủ SSH, hãy chọn Bật và nhấn enter lần nữa. Bạn sẽ được đưa trở lại bảng cấu hình Raspi-config; điều hướng xuống Hoàn thành và nhấn enter để đóng công cụ cấu hình. Đó là tất cả những gì bạn cần làm để bật quyền truy cập SSH vào Pi của bạn. Thông tin đăng nhập SSH và mật khẩu mặc định là số Pi và dâu rừng, tương ứng.
Trong khi bạn vẫn đang ngồi ở dòng lệnh, bây giờ là thời điểm tuyệt vời để kiểm tra IP của đơn vị Raspberry Pi của bạn trên mạng cục bộ. Kiểu ifconfig tại dấu nhắc và sau đó nhìn vào đầu ra của lệnh. Nếu bạn đang sử dụng cổng Ethernet bạn muốn tìm init addr bên trong eth0 phần; nếu bạn đang sử dụng Wi-Fi, bạn muốn tìm init addr bên trong wlan0 phần. Ngoài việc kiểm tra và lưu ý địa chỉ IP, đây cũng là thời điểm tuyệt vời để thiết lập mục nhập IP tĩnh trong bộ định tuyến của bạn để bạn không phải tìm kiếm IP trong tương lai.
Bây giờ chúng tôi đã kích hoạt máy chủ SSH, chúng tôi biết thông tin đăng nhập và chúng tôi biết địa chỉ IP của máy, đã đến lúc kết nối qua SSH và kiểm tra nó. Để làm như vậy từ Linux và OS X, bạn có thể sử dụng ssh lệnh tại thiết bị đầu cuối. Người dùng Windows, tuy nhiên, sẽ cần một máy khách SSH như PuTTY.
Vì chúng tôi đang sử dụng hộp Windows để quản lý từ xa Pi, PuTTY của chúng tôi. Cài đặt bản sao PuTTY hoặc trích xuất phiên bản di động và kích hoạt nó. Có rất nhiều các cài đặt bạn có thể gây rối trong PuTTY, nhưng chúng tôi chỉ cần lo lắng về một thứ duy nhất để kết nối với Pi của chúng tôi. Trên giao diện Session chính, chỉ cần gõ vào địa chỉ IP của Pi của bạn và chọn SSH bên dưới nó:
Đánh Mở ở phía dưới và PuTTY sẽ khởi chạy cửa sổ đầu cuối cho bạn, kết nối với Pi của bạn và nhắc bạn đăng nhập. Hãy tiếp tục và đăng nhập bằng pi / quả mâm xôi:
Trước khi chúng tôi tiếp tục, có một số chức năng bổ sung mà chúng tôi có thể rút ra khỏi SSH. Ngoài việc quản lý dòng lệnh từ xa, bạn cũng có thể chuyển các tập tin từ xa bằng Secure Copy. Đó là dòng lệnh chuyên sâu và không đặc biệt thuận tiện cho việc chuyển một số lượng lớn các tệp có nguồn gốc từ nhiều thư mục, nhưng đối với chuyển tệp cấu hình một lần hoặc một tệp nhỏ khác, nó khá tiện dụng. Hãy xem hướng dẫn sao chép tệp của chúng tôi qua SSH bằng cách sử dụng lệnh SCP tại đây.
Chúng tôi sẽ xem xét kỹ hơn các kỹ thuật chuyển tệp dựa trên GUI thân thiện với người dùng hơn sau này trong hướng dẫn.
Thiết lập và định cấu hình máy tính từ xa của bạn
Mặc dù chúng tôi đã đề cập đến nó như là “máy tính để bàn từ xa” đến thời điểm này, nhưng công cụ mà chúng tôi đang thực sự cài đặt được gọi là Virtual Machine Computing (VNC) - những tiêu chí mà nhiều người quen thuộc như RealVNC và TightVNC. Đối với hướng dẫn này, chúng tôi sẽ cài đặt TightVNC trên Pi. Để truy cập vào phiên TightVNC dựa trên Pi, bạn sẽ cần một máy khách từ xa như:
- TightVNC desktop client cho Windows
- Ứng dụng khách TightVNC dành cho máy tính chạy hệ điều hành Linux / Unix
- RealVNC desktop client cho OSX
Hãy lấy một bản sao ngay bây giờ và chúng tôi sẽ trình bày nó sau trong phần này. Bây giờ, hãy bắt đầu cài đặt máy chủ TightVNC trên Raspberry Pi của bạn. Mở thiết bị đầu cuối. Nhập lệnh sau để bắt đầu:
sudo apt-get install tightvncserver
Điều này sẽ tải về và giải nén các tập tin cài đặt; khi được nhắc tiếp tục nhấn Y. Sau khi quá trình cài đặt hoàn tất, bạn sẽ được trả về lời nhắc. Bạn có thể bắt đầu VNC một trong hai cách. Chỉ cần chạy lệnh cho máy chủ như sau:
tightvncserver
Ngoài ra, bạn có thể sử dụng lệnh chính xác hơn, thậm chí còn dài hơn, cho phép bạn kiểm soát nhiều hơn cách máy tính từ xa sẽ nhìn thấy màn hình nền - quan trọng nhất là độ phân giải của màn hình để bạn có thể xem toàn màn hình máy tính từ xa. Để chỉ định độ phân giải của máy tính để bàn VNC, sử dụng lệnh sau, trao đổi giá trị độ phân giải (mục thứ tư trong lệnh) cho độ phân giải của màn hình từ xa:
vncserver:1 -geometry 1600×900 -depth 16 -pixelformat rgb565:
Nếu tại bất kỳ thời điểm nào bạn nhầm lẫn trong việc thiết lập cá thể máy chủ VNC của bạn và / hoặc bạn muốn tắt máy chủ VNC, chỉ cần nhập thông tin sau (thay đổi số sau dấu hai chấm thành số VNC instance bạn muốn giết):
vncserver –kill:1
Bây giờ chúng ta đã cài đặt và chạy máy chủ VNC, hãy kết nối với máy chủ từ xa. Khởi động trình xem TightVNC trên máy tính của bạn và cắm vào địa chỉ IP của đơn vị Raspberry Pi tiếp theo: 1 như sau:
Và đây là phần thưởng của chúng tôi để định cấu hình thành công máy chủ VNC của chúng tôi - một chế độ xem toàn màn hình đẹp của thiết bị Raspberry Pi từ xa của chúng tôi:
sudo chown pi /home/pi/.Xauthority
Lệnh này thay đổi quyền sở hữu tệp.Xauthority cho người dùng pi - cho tò mò, tệp.Xauthority được hệ thống X-windows sử dụng ở Rasbian và một cái gì đó trong quá trình cài đặt và cấu hình máy chủ TightVNC gây ra ít quyền truy cập nấc cục.
Với ít đường vòng nhỏ đó, hãy quay lại để hoàn thành cấu hình máy tính từ xa của chúng tôi.
Bây giờ chúng ta có đầy đủ dòng lệnh và quyền truy cập máy tính để bàn vào Raspberry Pi, có một tinh chỉnh không tầm thường mà chúng ta cần phải thực hiện. Công cụ Raspi-config thiết lập máy chủ SSH để tự động khởi động khi khởi động cho chúng ta, nhưng máy chủ VNC chưa được cấu hình theo kiểu như vậy. Bạn có thể bỏ qua bước này và bắt đầu máy chủ theo cách thủ công tại dòng lệnh thông qua SSH khi bạn cần, nhưng chúng tôi đang cố gắng thực hiện điều này một cách dễ dàng nhất có thể để sử dụng trong tương lai. Hãy dành một phút ngay bây giờ và tạo một tệp khởi động cho máy chủ VNC.
Để tự động khởi động máy chủ VNC, chúng ta cần phải thiết lập một init, hoặc khởi tạo, tập tin mà Raspbian sẽ sử dụng để khởi động và tắt máy chủ trong suốt quá trình khởi động và tắt máy. Bây giờ hãy tạo tệp init. Tại loại dòng lệnh trong lệnh sau:
sudo nano /etc/init.d/tightvnc
Điều này sẽ tạo ra một tập tin trong thư mục khởi tạo được gọi là "tightvnc" và mở trình soạn thảo nano để chúng ta có thể dán trong kịch bản của chúng tôi. Trong trình chỉnh sửa nano, dán mã sau đây (đảm bảo thay đổi giá trị độ phân giải 1600 × 900 để phù hợp với màn hình của máy tính từ xa của bạn:
#!/bin/sh ### BEGIN INIT INFO # Provides: tightvncserver # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start vnc server # Description: ### END INIT INFO
case “$1” in start) su pi -c ‘vncserver:1 -geometry 1600×900 -depth 16 -pixelformat rgb565:’ echo “VNC Started”;; stop) pkill Xtightvnc echo “VNC Terminated”;; *) echo “Usage: /etc/init.d/tightvnc {start|stop}” exit 1;; esac
Ngoài việc sửa đổi phần độ phân giải màn hình của tập lệnh, còn có một thứ khác mà bạn có thể sửa đổi. Trong dòng 14 bạn có thể thay đổi lệnh "su pi -c" thành bất kỳ tài khoản người dùng nào khác ngoài "pi" nếu bạn muốn VNC đến màn hình cụ thể cho tài khoản đó.
Khi bạn đã dán và sửa đổi mã, đã đến lúc lưu mã. Nhấn CTRL + X để thoát và lưu công việc của bạn bằng nano. Khi bạn đã quay lại dòng lệnh, chúng ta cần thực hiện một vài thay đổi nhanh đối với quyền của tệp:
sudo chmod 755 /etc/init.d/tightvnc
Bây giờ tệp khởi tạo có thể thực thi được. Chúng ta có thể kiểm tra nó từ dấu nhắc:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc stop
Thay đổi cuối cùng mà chúng ta sẽ thực hiện là cập nhật tệp rc.d (mà theo dõi các tập lệnh initilization nằm trong thư mục /init.d/):
sudo update-rc.d tightvnc defaults
Sau khi bạn nhập lệnh đó, bạn sẽ nhận được xác nhận rằng tệp đã được cập nhật. Bây giờ là lúc để thử nghiệm thực sự: tệp có tải đúng cách sau khi khởi động lại không? Nhập dòng lệnh sau vào dòng lệnh để khởi động lại và chuẩn bị sẵn sàng với máy khách VNC của bạn để kiểm tra kết nối trong giây lát:
sudo reboot
Khi hệ thống khởi động xong, hãy đăng nhập với máy khách VNC của bạn.Nếu phiên VNC của bạn không thành công, hãy truy cập vào dấu nhắc lệnh và chạy lệnh tightvnc start (từ phần kiểm tra ở trên) một lần nữa để kiểm tra lại xem tệp có thực thi được không và mật khẩu đã được lưu đúng cách chưa.
Tại thời điểm này, chúng tôi thậm chí còn đi sâu hơn nữa trong nhiệm vụ của mình để điều khiển hoàn toàn thiết bị Raspberry Pi của chúng tôi. Với truy cập dòng lệnh từ xa thông qua SSH và truy cập máy tính từ xa thông qua VNC theo đai của chúng tôi, hãy tiếp tục đơn giản hóa quá trình chuyển tệp giữa máy tính để bàn và máy tính để bàn của chúng tôi.
Thiết lập và định cấu hình các công cụ truyền tệp
Mặc dù có nhiều trình bao bọc GUI cho lệnh SCP, chúng ta sẽ đi với một công cụ đa nền tảng mà nhiều người đã biết, có và yêu (và thậm chí có thể không biết rằng nó chuyển SCP): FileZilla. Ứng dụng này có sẵn cho Windows, OS X và Linux - bạn có thể lấy một bản sao tại đây.
Một khi bạn đã cài đặt FileZilla, hãy kích hoạt nó và vào File -> Site Manager. Tạo một mục nhập trang mới, đặt tên cho nó và cắm tên người dùng và mật khẩu cho Pi của bạn.
Lợi dụng việc chuyển tập tin SSH hiện có là cách dễ nhất để lấy các tập tin trên Pi mà không cần cấu hình thêm nhưng nếu bạn muốn cấu hình Pi của bạn để nhận và chia sẻ tệp mà không cần người dùng từ xa yêu cầu bất kỳ công cụ ưa thích nào (như máy khách FTP có khả năng SCP như FileZilla), chúng tôi khuyên bạn nên kiểm tra phần cấu hình Samba của hướng dẫn của chúng tôi: Pi vào Thiết bị lưu trữ mạng nguồn thấp. Việc đọc qua sẽ giúp bạn làm quen với việc thiết lập một chia sẻ Samba cơ bản trên Pi để tạo một thư mục chia sẻ dễ dàng truy cập bởi bất kỳ ai trên mạng của bạn mà không cần bất kỳ công cụ bổ sung nào.
Bạn đã định cấu hình SSH, bạn đã định cấu hình VNC và bạn đã thiết lập truy cập SFTP và / hoặc Samba đơn giản cho Pi của mình - tại thời điểm này, bạn có thể khởi động Raspberry Pi, bỏ qua màn hình, bàn phím và chuột, và nhét nó đi như một cỗ máy im lặng và không đầu.
Có một ý tưởng cho dự án Raspberry Pi và bạn đang chết vì chúng tôi để viết một hướng dẫn cho nó? Hãy lắng nghe ý kiến hoặc gửi email cho chúng tôi theo địa chỉ [email protected] và chúng tôi sẽ cố gắng hết sức để trợ giúp.