Mục lục:

Máy chủ AndyMOTE: 12 bước
Máy chủ AndyMOTE: 12 bước

Video: Máy chủ AndyMOTE: 12 bước

Video: Máy chủ AndyMOTE: 12 bước
Video: Giải thích về máy chủ | Máy chủ là gì? | Server là gì? | Web Server là gì? | Tri thức nhân loại 2024, Tháng sáu
Anonim
Máy chủ AndyMOTE
Máy chủ AndyMOTE

Tôi muốn có một điều khiển từ xa đa năng cho phần lõm của mình và nghĩ rằng tôi có thể thực hiện việc này bằng một ứng dụng trên điện thoại di động của mình (để cung cấp Giao diện người dùng) và Raspberry PI để cung cấp 'Blaster' hồng ngoại. Sau một cuộc điều tra nhỏ, tôi phát hiện ra dự án LIRC có vẻ lý tưởng cho 'Blaster'. Tôi đã viết Ứng dụng Android của riêng mình (AndyMOTE) và Chương trình 'Máy chủ' nhỏ để cung cấp giao diện giữa hai ứng dụng này.

Tài liệu hướng dẫn này chỉ cho bạn cách xây dựng máy chủ

Các hướng dẫn được đưa ra ở đây sẽ hoạt động với Raspian Jessie, chúng không hoạt động với Raspian Buster và tại thời điểm này, tôi hiểu rằng Raspian hiện đã được thay thế bằng Hệ điều hành Raspberry Pi, tôi có một bộ hướng dẫn cập nhật trên trang web của mình (xem liên kết bên dưới) hoạt động với Raspian Stretch-Lite hoặc Raspian Buster-Lite

Bước 1: Danh sách mặt hàng

  • RaspberryPi Zero WH
  • Bộ điều khiển hồng ngoại Energenie ENER314-IR
  • Thẻ Micro SD (Loại 10) (16GB)
  • Nguồn cung cấp Raspberry Pi
  • (Tùy chọn) Vỏ (ví dụ: Pibow Zero W)
  • (Tùy chọn) Bộ mở rộng điều khiển từ xa hồng ngoại * (1 Bộ thu; 4 Bộ phát)

Bạn cũng sẽ cần Màn hình, Bàn phím và cáp có khả năng kết nối các mục này với Raspberry Pi của bạn

Bước 2: Chuẩn bị Raspberry Pi của bạn

Tải xuống Raspian Lite từ đây, sau đó cài đặt nó vào thẻ SD của bạn (Hướng dẫn tại đây).

Sau khi Raspian Lite được cài đặt trên Thẻ SD của bạn và trước khi bạn chuyển thẻ sang Raspberry Pi của mình; gắn thẻ trên PC của bạn. Tạo một tệp trống / boot / ssh (điều này cho phép SHH trên máy chủ) và thực hiện các chỉnh sửa sau đối với tệp /boot/config.txt

# Đặt HDMI thành Bình thường outputhdmi_drive = 2 # Đặt HDMI thành Chế độ DMT (có thể dùng cho Màn hình) hdmi_group = 2 # Đặt Độ phân giải thành 800x600 @ 60hzhdmi_mode = 9dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 17

(Xem tại đây để được hướng dẫn về cài đặt video)

Bước 3: Lắp ráp máy chủ

Lắp ráp máy chủ
Lắp ráp máy chủ

Đầu tiên, hãy lắp Thẻ SD đã chuẩn bị trước của bạn vào Raspberry Pi. Đặt Raspberry Pi vào hộp đựng của nó. Tôi gặp sự cố rằng Bộ điều khiển hồng ngoại ENER314-IR đã can thiệp vào vỏ Pibow nên không sử dụng hai trong số các bộ phận.

Tiếp theo, cắm Bộ điều khiển hồng ngoại Energenie ENER314-IR vào Raspberry Pi (xem hình).

Sau đó, kết nối Raspberry Pi với bàn phím (sử dụng đầu nối USB) và màn hình (sử dụng đầu nối HDMI… Bộ điều hợp có thể cần thiết).

Cuối cùng, bật nguồn và đợi thiết bị khởi động.

Bước 4: Thiết lập mạng

Đầu tiên, Mở tệp cấu hình hỗ trợ wpa bằng trình chỉnh sửa yêu thích của bạn (ví dụ: nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Chuyển đến cuối tệp và thêm mạng của bạn (ví dụ:).

network = {ssid = "YOUR_SSID" psk = "YOUR_KEY" priority = "1" id_str = "YOUR_SSID_NAME"}

Thay thế YOUR_SSID, YOUR_KEY và YOUR_SSID_NAME phù hợp với mạng của bạn.

Lưu tệp, khởi động lại trình hỗ trợ WPA và khởi động lại.

$ wpa_cli -i wlan0 định cấu hình lại $ sudo khởi động lại

Bước 5: Thiết lập địa chỉ IP tĩnh

Máy chủ của bạn nên có Địa chỉ IP cố định. Bạn có thể đạt được điều này bằng cách định cấu hình máy chủ DHCP của mình một cách thích hợp hoặc để đặt giao diện wlan0 thành địa chỉ tĩnh trên Raspberry Pi, hãy chỉnh sửa tệp /etc/dhcpcd.conf và bao gồm các dòng.

# Ví dụ về cấu hình IP tĩnh: interface wlan0static ip_address = 192.168.1.116 / 24static routers = 192.168.1.1static domain_name_servers = 192.168.1.1 8.8.8.8

Thay đổi 192.168.1.1 thành địa chỉ thực của bộ định tuyến và 192.168.1.116 thành địa chỉ tĩnh thực tế mà bạn yêu cầu cho ứng dụng của mình.

* Bạn có thể muốn chạy tiện ích raspi-config và thực hiện bất kỳ thay đổi cấu hình nào tại thời điểm này.

Khởi động lại khi hoàn tất.

Bước 6: Cài đặt LIRC

Cài đặt LIRC bằng lệnh.

$ sudo apt-get install lirc

Chỉnh sửa tệp / etc / modules; ví dụ:

$ sudo nano / etc / module

và thêm các dòng:

lirc_devlirc_rpi gpio_in_pin = 18 gpio_out_pin = 17

Lưu tệp và khởi động lại.

$ sudo khởi động lại

Bước 7: Định cấu hình LIRC

Chỉnh sửa tệp /etc/lirc/hardware.conf, ví dụ:

$ sudo nano /etc/lirc/hardware.conf

và làm cho nó trông như thế này:

##################################################### ####### /etc/lirc/hardware.conf## Các đối số sẽ được sử dụng khi khởi chạy lircdLIRCD_ARGS = "- uinput --listen" ## Không khởi động lircmd ngay cả khi có cấu hình tốt tệp # START_LIRCMD = false ## Không khởi động irexec, ngay cả khi tệp cấu hình tốt dường như tồn tại. # START_IREXEC = false ## Cố gắng tải các mô-đun hạt nhân thích hợpLOAD_MODULES = true ## Chạy "lircd --driver = help" để có danh sách các trình điều khiển được hỗ trợ. DRIVER = "default" ## thường / dev / lirc0 là cài đặt chính xác cho các hệ thống sử dụng udevDEVICE = "/ dev / lirc0" MODULES = "lirc_rpi" ## Các tệp cấu hình mặc định cho phần cứng của bạn nếu cóLIRCD_CONF = "" LIRCMD_CONF = "" Chỉnh sửa tệp /etc/lirc/lirc_options.conf và sửa đổi các dòng như sau: driver = defaultdevice = / dev / lirc0

Lưu tệp và khởi động lại lircd.

$ sudo systemctl khởi động lại lircd

Bước 8: Kiểm tra máy thu

Nhập chuỗi lệnh sau để dừng LIRC Daemon và kiểm tra bộ thu.

$ sudo systemctl dừng lircd $ sudo mode2

Chương trình mode2 sẽ xuất tỷ lệ dấu-không gian của Tín hiệu IR tới bảng điều khiển. Hướng điều khiển từ xa vào bộ thu IR của bạn và nhấn một số nút. Bạn sẽ thấy một cái gì đó như thế này:

không gian 16300 khoảng cách 95 không gian 28794 khoảng trống 80 không gian 19395 khoảng trống 83 không gian 402351

khi bạn hoàn tất, nhấn ctl-c và khởi động lại LIRC Daemon bằng lệnh sau.

$ sudo systemctl start lircd

Bước 9: Thêm lời nhắc - Phương pháp 1

LIRC sử dụng các tệp cấu hình chứa dữ liệu liên quan đến từng điều khiển từ xa có thể được mô phỏng bởi LIRC. Bạn phải tạo hoặc cung cấp các tệp cấu hình này để hệ thống con LIRC hoạt động như mong muốn.

Quan trọng

Bạn phải cung cấp một tệp cấu hình riêng cho từng điều khiển từ xa để được mô phỏng. Các tệp cấu hình phải được lưu trữ trong thư mục /etc/lirc/lircd.conf.d. Lựa chọn tên khóa là quan trọng để có trải nghiệm AndyMOTE tốt nhất, khi chọn tên cho khóa của bạn, vui lòng làm theo hướng dẫn tại đây. Các tệp cấu hình cũng có thể được tải xuống từ đây nhưng hãy lưu ý rằng, nếu bạn sử dụng chúng, chúng chỉ được chứa một cấu hình từ xa. (Các tệp cấu hình là tệp văn bản đơn giản và có thể dễ dàng chỉnh sửa nếu cần.

Phương pháp 1 yêu cầu điều khiển từ xa ban đầu bằng các lệnh sau:

$ sudo systemctl dừng lircd $ sudo không thể ghi lại -n ~ / FILENAME.conf

$ sudo không thể ghi lại -f -n ~ / FILENAME.conf

Thay thế FILENAME bằng một số tên mô tả cho điều khiển từ xa mà bạn đang định cấu hình. Lệnh sau tạo tệp 'thô' và điều này đôi khi cần thiết tùy thuộc vào đặc điểm của điều khiển từ xa bạn đang sử dụng. Công tắc -n cho phép bạn sử dụng bất kỳ tên khóa nào bạn thích (thay vì bị giới hạn trong danh sách Không gian tên LIRC).

Hãy nhớ khởi động lại lircd và khởi động lại khi bạn hoàn tất.

$ sudo systemctl start lircd $ sudo khởi động lại

Bước 10: Thêm lời nhắc - Phương pháp 2

Phương pháp 2 không yêu cầu remoteGlobal-cache ban đầu duy trì cơ sở dữ liệu dựa trên đám mây với hơn 200.000 IR Codes. Bất kỳ ai cũng có thể đăng ký và tải xuống tối đa 5 bộ mã mỗi ngày. Các bộ mã này có thể được chuyển đổi thành tệp conf LIRC, theo cách thân thiện với AndyMOTE, sử dụng ứng dụng gcConvert được mô tả ở đây.

Bước 11: Cài đặt chương trình máy chủ AndyMOTE

Cài đặt Thư viện liblirc và libboost như được mô tả bên dưới:

$ sudo apt-get update $ sudo apt-get install liblirc-dev libboost-all-dev

Tiếp theo, cài đặt git, truy cập thư mục chính của bạn và sao chép kho lưu trữ andymoteserver

$ sudo apt install git $ cd ~ $ git clone

sau đó biên dịch nguồn

$ cd andymoteserver $ make

Di chuyển tệp kết quả đến một vị trí thuận tiện; ví dụ:

$ sudo mkdir -p / opt / andymoteserver $ sudo mv dist / Debug / GNU-Linux / andymote / opt / andymoteserver /

Thu dọn

$ cd ~ $ rm -Rf andymoteserver

Cuối cùng, để chạy AndyMOTE Server như một dịch vụ, hãy tạo tệp /lib/systemd/system/andymote.service với nội dung như hình dưới đây:

[Unit] Description = chạy AndyMOTE Server như một dịch vụ [Service] Type = simpleRemainAfterExit = falseRestart = alwaysRestartSec = 30ExecStop = / bin / trueExecStart = / opt / andymoteserver / andymote [Install] WantedBy = multi-user.target

Kích hoạt và bắt đầu dịch vụ

$ sudo systemctl kích hoạt andymote $ sudo systemctl start andymote

Bước 12: Và cuối cùng…

Và cuối cùng…
Và cuối cùng…

Hình trên cho thấy máy chủ của tôi ở vị trí cuối cùng (bên trái). Thiết bị ở bên phải của bức ảnh là Bộ mở rộng điều khiển từ xa hồng ngoại, thiết bị này nhận tín hiệu IR từ máy chủ và truyền lại chúng qua 4 bộ phát IR (không được hiển thị); chúng được gắn trên các thiết bị media của tôi, (TV, Bộ khuếch đại, v.v.).

Tôi hy vọng bạn vui!

Đề xuất: