Mục lục:

Máy chủ ký số trên Raspberry Pi: 8 bước
Máy chủ ký số trên Raspberry Pi: 8 bước

Video: Máy chủ ký số trên Raspberry Pi: 8 bước

Video: Máy chủ ký số trên Raspberry Pi: 8 bước
Video: 5 Dự Án Nổi Bật với Raspberry Pi trong năm 2022 2024, Tháng bảy
Anonim
Máy chủ ký số trên Raspberry Pi
Máy chủ ký số trên Raspberry Pi

Hướng dẫn tuyệt đối cho người mới bắt đầu về Corsica trên Raspberry PI

Dấu hiệu kỹ thuật số ở khắp mọi nơi. Bạn nhìn thấy chúng ở sân bay, trung tâm thương mại, cửa hàng bách hóa và thậm chí cả các góc phố. Bạn không cần nhiều phần cứng tùy chỉnh đắt tiền để xây dựng hệ thống ký số của riêng mình. Có thể hướng dẫn này chỉ ra cách xây dựng một máy chủ biển báo kỹ thuật số có thể điều khiển hàng chục màn hình. Mỗi màn hình có thể đơn giản như một màn hình và một Raspberry PI.

Nhờ Node Ninjas tại Mozilla, bạn thậm chí có thể chạy máy chủ trên Raspberry Pi bằng Corsica.

Corsica là một giải pháp biển báo kỹ thuật số có thể mở rộng có thể được thực hiện trên hầu hết các hệ thống POSIX. Nó bao gồm một máy chủ và các máy khách hiển thị. Máy khách không yêu cầu phần mềm đặc biệt và chỉ cần chạy bất kỳ trình duyệt web hiện đại nào, mặc dù tất cả mọi người trong nhóm Corsica đều rất khuyên dùng Firefox. Máy chủ tiêu thụ rất ít tài nguyên và sẽ vui vẻ chạy trên Raspberry Pi hoặc máy rất nhỏ khác. Máy chủ Corsica chạy trên Raspberry Pi 3+ có thể dễ dàng hỗ trợ hơn 100 màn hình máy khách. Các hướng dẫn này được viết riêng cho Raspberry Pi chạy hệ điều hành Raspian (một dẫn xuất Debian). Các hướng dẫn này cũng giả sử bạn đang sử dụng trình duyệt Firefox. Hầu hết các trình duyệt hiện đại khác cũng sẽ hoạt động.

Bước 1: Dòng lệnh Raspian

Các hướng dẫn này sẽ chỉ cho bạn cách cấu hình Corsica thông qua dòng lệnh. Nếu bạn đang sử dụng Raspian với giao diện người dùng đồ họa (GUI), bạn có thể truy cập dòng lệnh thông qua ứng dụng đầu cuối. Nếu bạn đang chạy Raspian-lite thì bạn có thể kết nối bàn phím và màn hình và sử dụng dòng lệnh trực tiếp hoặc bạn có thể kết nối qua mạng bằng SSH. Để biết thêm thông tin về cách bật và sử dụng SSH, hãy xem tài liệu Raspian SSH. Bạn sẽ cần biết tên DNS hoặc địa chỉ IP của Raspberry Pi của mình. Tên mặc định trên hầu hết các mạng LAN sẽ là raspberrypi.local. Nếu điều đó không hiệu quả, có các hướng dẫn trong tài liệu Raspian sẽ giúp bạn tìm ra tên và địa chỉ IP chính xác.

Bước 2: Cài đặt phần mềm

Corsica sử dụng nút và npm. Node cho phép bạn chạy Javascript phía máy chủ và npm là trình quản lý gói nút.

Để cài đặt những thứ này trên Raspberry Pi, trước tiên hãy kiểm tra phiên bản của bộ xử lý trong hệ thống của bạn:

uname -m

Nếu kết quả bắt đầu bằng armv6, hãy xem bài đăng trên blog này. Đối với hệ thống Raspberry Pi 3 và những hệ thống khác có bộ xử lý armv7 trở lên:

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -

sudo apt cài đặt nodejs

Nếu bạn chưa quen với Node, bạn có thể tìm hiểu thêm tại nodeource.com.

Tiếp theo, cài đặt Công cụ dòng lệnh Corsica:

sudo npm install -g corsica-cli

Để xem các lệnh có sẵn, hãy nhập

corsica --help

Khi viết các lệnh này, các lệnh có sẵn là:

thiết lập-- để thiết lập một cửa hàng phục vụ Corsica [tùy chọn] - để bắt đầu khởi động lại máy chủ Corsica [tùy chọn] - để khởi động lại một cửa hàng phục vụ Corsica đang chạy - để dừng một phần bổ trợ Corsica đang chạy [tên] - để cài đặt một pluginremove- plugin [tên] - để xóa danh sách plugin đã cài đặt - cập nhật danh sách plugin đã cài đặt - cập nhật cả Corsica và các plugin của nó

Bây giờ bạn có thể sử dụng các công cụ để thiết lập phần mềm Corsica:

thiết lập corsica

Thiết lập corsica sẽ hỏi bạn muốn cài đặt corsica ở đâu và hiển thị cho bạn vị trí mặc định:

Nơi cài đặt Corsica: (/ home / pi / corsica-server)

Bạn chỉ cần nhấn quay lại.

Bạn sẽ thấy một số thông báo cảnh báo npm. Đây là những an toàn để bỏ qua.

Khi thiết lập thông báo "Hoàn tất!", Bạn đã cài đặt Corsica.

Bạn có thể bắt đầu Corsica trong phiên giao dịch cuối cùng của mình với:

corsica bắt đầu

Và ngăn chặn nó bằng control-C.

Nhưng nếu bạn bắt đầu nó theo cách đó, nó sẽ chỉ chạy miễn là phiên đầu cuối của bạn chạy. Khi bạn đóng phiên giao dịch cuối cùng, corsica sẽ dừng lại.

Nếu bạn khởi động Corsica ở chế độ nền, nó sẽ chạy ngay cả sau khi bạn ngắt kết nối phiên đầu cuối của mình. Bạn có thể làm điều đó với

corsica start - nền

Để dừng một phiên bản Corsica đang chạy trong nền, hãy nhập:

corsica dừng lại

Bước 3: Cấu hình

Thiết lập của bạn có thể sẽ cần một số tùy chỉnh. Có hai loại tùy chỉnh trong Corsica: cấu hình và cài đặt. Cấu hình chủ yếu là tĩnh và được sử dụng bởi lõi. Cài đặt là động và hầu hết được sử dụng bởi các plugin. Thông tin thêm về cài đặt sau.

Cấu hình đến từ môi trường và dành cho những thứ rất tĩnh như cổng để nghe hoặc các plugin để tải. Có bốn nguồn cho cấu hình:

1. lib / config.json - Đây là nơi lưu trữ các giá trị mặc định và là nơi tốt để xem một số thứ có thể được cấu hình. Bạn không nên thay đổi giá trị ở đây.

2. config.js - Các cài đặt được tìm thấy trong tệp này được tải như thể chúng từ môi trường. Cú pháp là một cấu hình trên mỗi dòng, ví dụ: `CỔNG = 8080`. Nếu các giá trị ở đây là JSON hợp lệ, chúng sẽ được phân tích cú pháp như vậy. Cài đặt ở đây sẽ ghi đè các giá trị mặc định trong `lib / config.json`. Tệp config.js ban đầu chỉ định số cổng mà Corsica lắng nghe và các plugin được hệ thống sử dụng.

3..env - Nếu tệp ẩn có tên.env nằm trong thư mục Corsica, các cài đặt của nó sẽ được tải như thể chúng từ môi trường. Cú pháp giống như trong config.js. Tệp này không tồn tại trong cấu hình mặc định.

4. Biến môi trường - Bạn có thể đưa thông tin cấu hình vào các biến môi trường hệ thống nếu muốn. Nếu bạn không quen với các biến môi trường, bạn có thể bỏ qua tùy chọn này.

Bước 4: Kết nối màn hình hiển thị

Khi bạn khởi động Corsica, nó sẽ chạy một máy chủ web trên cổng 8080 của máy tính của bạn trừ khi bạn đã thay đổi số cổng trong tệp.env. Bạn sẽ cần biết tên máy chủ hoặc địa chỉ IP của Pi của mình. Tên mặc định cho cài đặt Raspberry Pi mới là raspberrypi. Nếu bạn chưa thay đổi nó, bạn chỉ có thể mở một trình duyệt trên máy khách hiển thị của mình và duyệt đến:

raspberrypi.local: 8080

Bạn sẽ thấy logo Corsica màu vàng và đen. Một bong bóng sẽ bật lên với tên Corsica của khách hàng của bạn. Bạn có thể (và nên) thay đổi tên của khách hàng của bạn thành một cái gì đó chỉ ra vị trí của màn hình hiển thị cụ thể này. Cách dễ nhất để làm điều này là sử dụng corsica-repl của Potch. (Potch là nhà phát triển chính của Corsica và anh ấy hứa sẽ sớm đưa repl vào cốt lõi của Corsica).

Mở tab trình duyệt và duyệt đến:

potch.github.io/corsica-repl?server=https://raspberrypi.local:8080/

(Giả sử raspberrypi.local là tên của Máy chủ Corsica của bạn).

Chúng tôi sẽ sử dụng "TestClient" làm tên của màn hình máy khách cho phần còn lại của hướng dẫn này. Chuyển đến menu thả xuống ở góc dưới bên phải của màn hình và tìm tên khách hàng hiện lên. Sau đó, trong dòng lệnh ở dưới cùng bên trái của màn hình, hãy nhập:

admin type = rename name = TestClient

Để mở tab corsica-repl và chuyển sang tab trình duyệt hiển thị logo Corsica và làm mới trang. Bạn sẽ thấy tên mới trong bong bóng bật lên. Nếu nó biến mất quá nhanh, hãy di chuột vào góc dưới bên phải và nút "Toàn màn hình" sẽ xuất hiện với tên mới ở bên trái.

Bước 5: Thêm nội dung

Thêm nội dung
Thêm nội dung

Sau khi hiển thị logo Corsica, khách hàng sẽ hiển thị một số động vật hoạt hình trên nền màu xanh lam.

Thẻ mặc định trong tệp state.json chứa danh sách các địa chỉ trang web. Bạn có thể trình bày bất kỳ trang web nào theo cách này, mặc dù bố cục của một số trang khiến chúng ít phù hợp hơn để sử dụng với Corsica.

Ứng dụng khách Corsica hiển thị nội dung từ một hoặc nhiều thẻ mà nó đăng ký. Khách hàng mới đến đã đăng ký một thẻ có tên "mặc định".

Động vật hoạt hình rất dễ thương, nhưng hãy thêm một số nội dung hữu ích vào xoay màn hình trên ứng dụng thử nghiệm của chúng tôi.

Quay lại tab corsica-repl và trong dòng lệnh ở loại phía dưới bên trái:

kiểu quản trị = thẻ đăng ký = thời tiết

Chuyển trở lại tab máy khách hiển thị và làm mới trang.

Dự báo thời tiết cho San Jose, California, sẽ được thêm vào danh sách các url được hiển thị.

Tệp state.json mẫu của chúng tôi chứa ba thẻ có tên "mặc định", "thời tiết" và "hình ảnh". Thẻ "hình ảnh" chứa các liên kết đến nhiều tệp đồ họa động vật hoạt hình hơn (.png). Hãy thêm chúng bằng cách chuyển trở lại tab corsica-repl và nhập:

kiểu quản trị = thẻ đăng ký = hình ảnh

Một lần nữa, quay lại tab máy khách hiển thị và làm mới trang. Bạn sẽ thấy một số động vật mới được thêm vào vòng quay. Nhưng hãy chú ý rằng những con vật mới xuất hiện ở mép trái của trang với nền trắng. Đó là bởi vì các phim hoạt hình có nền màu xanh lam được liệt kê trong state.json dưới dạng url trỏ đến một trang web thích hợp được viết bằng html. Các phim hoạt hình mới có nền trắng được liệt kê trong state.json dưới dạng url chỉ trỏ đến các tệp đồ họa-p.webp

Chúng tôi có thể cải thiện cách những đồ họa đó được Corsica hiển thị, nhưng để làm được điều đó, chúng tôi sẽ phải "mở rộng" chính Corsica.

Bước 6: Mở rộng Corsica

Mở rộng Corsica
Mở rộng Corsica

Hơn một chục plugin npm Corsica có sẵn trên trang web npm. Theo liên kết đó và nhập "corsica" vào hộp tìm kiếm ở đầu trang để xem danh sách chúng. Chúng tôi sẽ sử dụng một trong những plugin npm đó để cho phép bạn hiển thị các loài động vật mới của chúng tôi. Nó cũng hữu ích để hiển thị bất kỳ hình ảnh nào bạn tìm thấy trên web mà không hiển thị đồ họa gây rối mắt xung quanh hình ảnh.

Đi tới dòng lệnh Corsica, dừng Corsica và cài đặt plugin corsica-image:

corsica add-plugin corsica-image

Sau đó khởi động lại corsica:

corsica bắt đầu

Mở tab khách hàng hiển thị corsica trên trình duyệt của bạn và làm mới trang. Bạn sẽ thấy các loài động vật mới được hiển thị chính giữa màn hình với nền màu xanh lam đậm.

Bước 7: Tùy chỉnh nội dung

Chúng ta hãy xem sự khác biệt giữa những gì các url trong thẻ mặc định và những url trong thẻ hình ảnh. Hãy xem state.json bằng cách đi tới dòng lệnh Corsica và gõ:

cat ~ / corsica-server / state.json

Trong phần "mặc định" của tệp đó, bạn sẽ tìm thấy một dòng giống như sau:

"https://ramilewski.github.io/corsica-support/show.html?image=kitty.png",

Url này là một liên kết đến một trang web có phim hoạt hình mèo con. Trang web đó hiển thị một hình ảnh, nhưng nó cũng cung cấp nền là một gradient bắt đầu ở đầu trang dưới dạng màu xanh lam và mờ dần thành màu trắng ở cuối trang. Nền đó được tạo bởi CSS và HTML của trang web. Bản thân nó không phải là một phần của đồ họa.

Các phần "hình ảnh" của trang có một dòng giống như sau:

"https://ramilewski.github.io/corsica-support/bunny.png bg = # 2244BB",

Đây là url chỉ định một liên kết đến hình ảnh-p.webp

"# 2244BB" là ký hiệu thập lục phân cho màu xanh lam đậm. Để có công cụ giúp bạn chỉ định bất kỳ màu nào trong ký hiệu hex, hãy xem Bộ chọn màu MDN.

Khi hiển thị dòng này, Corsica đã sử dụng plugin corsica-image để hiển thị màn hình. Điều này có nghĩa là nếu bạn tìm thấy một hình ảnh bạn muốn hiển thị trên màn hình ứng dụng khách Corsica của mình, bạn có thể tạo một dòng trong state.json sẽ chỉ hiển thị hình ảnh đó, chứ không hiển thị bất kỳ nội dung gây mất tập trung nào khác của trang xung quanh. Để tìm url của hình ảnh trong Firefox, hãy nhấp chuột phải vào hình ảnh đó và chọn "Copy Image Location" trong menu ngữ cảnh xuất hiện.

Phần "thời tiết" của state.json chỉ có một url. Thao tác này tìm nạp dự báo thời tiết từ https://forecast.io. Nhưng trừ khi bạn sống ở San Jose, dự báo đó không hữu ích lắm. Để nhận dự báo cho vị trí của bạn, bạn cần biết đó là vĩ độ và kinh độ theo độ thập phân. Nếu bạn không, có một công cụ dựa trên web sẽ cho phép bạn tìm thấy nó.

Ngay bây giờ url trong dòng ở state.json chỉ định dự báo thời tiết trông giống như sau:

"https://forecast.io/embed/#lat=37.3352&lon=-121.8871&name=San%20Jose%20CA&color=#4466bb zoom = 300"

Để nhận dự báo cho vị trí của bạn, hãy thay đổi các mục nhập vĩ độ và kinh độ trong dòng đó và đổi tên cho vị trí của bạn. Sử dụng% 20 thay vì dấu cách trong tên địa điểm. Tham số màu chỉ định màu của các thanh giữa nhiệt độ cao và thấp. Tham số thu phóng được sử dụng để điều chỉnh kích thước của dự báo cho vừa với màn hình hiển thị.

Khi bạn tạo tệp state.json của riêng mình, hãy nhớ rằng nếu bạn có thẻ "mặc định", bất kỳ nội dung nào được chỉ định trong thẻ đó sẽ xuất hiện trên bất kỳ trình duyệt nào kết nối với máy chủ mà không cần cấu hình thêm.

Thời gian hiển thị

Ở trên cùng của state.json, có một số cài đặt kiểm soát thời lượng mỗi hình ảnh được hiển thị trên màn hình.

"settings:: timer": {

"resetTime": 30000, "jitter": 5000,

Tất cả thời gian đều được đo bằng mili giây (phần nghìn của giây). Thời gian đặt lại là thời gian tối đa mỗi hình ảnh trên màn hình trước khi màn hình tiếp theo được hiển thị. Jitter được nhân với một số ngẫu nhiên từ -1 đến 1 và kết quả được thêm vào resetTime. Điều này cung cấp một số đa dạng về thời gian hiển thị. Bạn có thể đặt jitter thành 0 nếu muốn. Các cài đặt được hiển thị sẽ dẫn đến việc mỗi trang hiển thị trong khoảng từ 25 đến 35 giây.

Bạn cũng có thể đặt thời gian khác nhau cho từng ứng dụng khách hiển thị:

"settings:: timer": {

"resetTime": 30000, "jitter": 5000, "resetOnConnect": true, "screen": {"TestClient": {"resetTime": 10000, "jitter": 1000}}},

Ở đây, chúng tôi đã đặt thời gian hiển thị cho TestClient của chúng tôi từ 9 đến 11 giây.

Bước 8: Kết luận

Chúng tôi đã hướng dẫn cách cài đặt và cấu hình máy chủ Corsica trên Raspberry Pi. Với những gì bạn đã học ở đây, bạn có thể xây dựng một hệ thống biển báo kỹ thuật số đa năng, chi phí rất thấp. Bạn có thể sử dụng Raspberry Pis không chỉ làm máy chủ trong hệ thống của mình mà còn để điều khiển các màn hình máy khách.

Có nhiều plugin khác trên trang web npm mà bạn có thể sử dụng để thêm các tính năng khác vào cài đặt Corsica của mình, bao gồm hiển thị:

  • Hình ảnh từ Flickr
  • Tweets
  • Cuộc hội thoại trong kênh IRC
  • Tập video
  • Video trên YouTube
  • Trang trình bày trong bản trình bày của Google
  • Phim hoạt hình XKCD
  • Nội dung từ nguồn cấp RSS

Tín dụng

Corsica là sự sáng tạo của Node Ninjas màu đen cấp độ thứ ba từ Mozilla được dẫn dắt bởi potch, lonnen và mythmon.

Những hướng dẫn về Corsica trên Raspberry Pis đã được Richard tập hợp lại với nhau.

Bạn thường có thể tìm thấy mọi người đang rình rập kênh #corsica trên irc.mozilla.org.

Đề xuất: