Đồng hồ báo thức Web Radio trên Raspberry
Chỉnh sửa: phiên bản mới có sẵn ở đây.
Để đắm mình hơn một chút trong tiếng Anh và có khả năng hiểu bằng miệng, tôi muốn thức dậy vào buổi sáng với đài phát thanh Hoa Kỳ. Chỉ ở đây là một đài phát thanh đồng hồ hoạt động với đài phát thanh web có giá trung bình khoảng 150 €. Tôi đề nghị bạn làm điều đó với giá của một pi mâm xôi. Vật liệu cần thiết:
- Một Raspberry Pi
- Một cặp loa để kết nối với Raspberry.
- (Tùy chọn) Điện thoại thông minh Android
Điều kiện tiên quyết đối với hệ thống Rpi
Thời gian tốt
Để hiển thị thời gian Rpi của bạn, hãy nhập lệnh
1
|
date
|
Nếu thời gian không chính xác thì chắc chắn vùng đó không được điều chỉnh chính xác. Sau đó gõ
1
|
sudo dpkg–reconfigure tzdata
|
sau đó chọn 'Châu Âu / Paris'.
Web server
Một máy chủ web để phân phối ứng dụng được viết bằng HTML5 và PHP.
1
|
sudo apt–get install apache2 php5 libapache2–mod–php5
|
Để kiểm tra xem cài đặt có ổn không, hãy truy cập địa chỉ của Rpi bằng trình duyệt ưa thích của chúng tôi. Đối với tôi, nó sẽ là IE6. Máy chủ web apache sẽ hiển thị cho bạn trang chỉ mục mặc định như hình sau.
Điều chỉnh âm thanh
Theo mặc định trên Rpi, âm thanh phát ra qua giao diện HDMI. Để phát âm thanh qua đầu ra tương tự để sử dụng loa, hãy nhập lệnh sau
1
|
sudo amixer cset numid=3 <n>
|
Hoặc là là số đầu ra. 0 = auto, 1 = analog, 2 = hdmi.
Để buộc đầu ra tương tự, chúng tôi sẽ nhập
1
|
sudo amixer cset numid=3 1
|
Một bài kiểm tra âm thanh đơn giản để xác minh.
1
|
speaker–test
|
Bạn sẽ nghe thấy một tiếng xèo xèo.
Bạn có thể điều chỉnh âm lượng đầu ra của Rpi thông qua lệnh
1
|
alsamixer
|
Theo mặc định, Rpi khuếch đại lên 50%. Lệnh alsamixer cung cấp cho bạn một menu cài đặt thông qua các phím "mũi tên lên" và mũi tên xuống "trên bàn phím.
Media Player
Ứng dụng này dựa trên một trình phát mã nguồn mở có tên là MPlayer. MPlayer là một trình phát đa phương tiện cho linux. Nó hỗ trợ hầu hết các định dạng và cũng xử lý các luồng âm thanh được tìm thấy trên mạng, điều mà chúng tôi quan tâm trong trường hợp của chúng tôi.
1
|
sudo apt–get install mplayer
|
mplayer là một chương trình dòng lệnh pilophát bóng qua lối vào tiêu chuẩn.
Để kiểm tra, hãy kết nối một cặp loa với Rpi và chạy lệnh sau
1
|
mplayer –playlist http://provisioning.streamtheworld.com/pls/KDNDFM.pls
|
Cập nhật các đặc quyền của apache
Do đó, ý tưởng là để pilochấm dứt chương trình này thông qua giao diện web. Chỉ có một vấn đề. Trên nunux, mỗi chương trình có người dùng riêng sẽ được khởi chạy. Điều này vì lý do bảo mật. Thông thường người dùng máy chủ web Apache (www-data) không thể thực hiện các lệnh hệ thống. Do đó, người dùng này không có quyền khởi chạy chương trình MPlayer. Chúng tôi sẽ cho phép người dùng www-data thực thi các lệnh hệ thống nhất định cần thiết cho chương trình. Đối với điều đó, chúng tôi sử dụng sudo. Sudo cho phép quản trị viên hệ thống cấp cho một số người dùng (hoặc nhóm người dùng) khả năng chạy lệnh với tư cách quản trị viên hoặc với tư cách người dùng khác. Nó có thể được tinh chỉnh để cho phép hoặc từ chối việc thực thi các tác vụ đặc quyền. Nhờ anh ấy, chúng tôi sẽ cung cấp các quyền cụ thể cho người dùng của chúng tôi www-data sau:
- Khởi động MPlayer
- Tìm hiểu xem MPlayer có đang chạy không
- Dừng MPlayer
Để làm điều này, chúng tôi chỉnh sửa tệp sudoer bằng lệnh
1
|
sudo visudo
|
Thêm dòng sau vào cuối tệp
1
|
www–data ALL=NOPASSWD:/usr/bin/mplayer* ,/usr/bin/pgrep mplayer ,/usr/bin/killall mplayer
|
Cài đặt ứng dụng Piclodio trên Rpi
Tôi đã đặt tên ứng dụng Piclodio cho Đài đồng hồ Rapsberry Pi. Mã có sẵn trên GitHub tại đây.
Chúng tôi truy xuất phiên bản mới nhất của kho lưu trữ trực tiếp trên Rpi
1
|
wget https://github.com/Sispheor/Piclodio/archive/master.zip
|
Chúng tôi trích xuất
1
|
unzip master.zip
|
Chúng tôi đặt thư mục trong thư mục apache
1
|
sudo mv Piclodio–master/ /var/www/piclodio
|
Chúng tôi cấp quyền cho người dùng apache (www-data) trên thư mục này
1
|
sudo chown –R www–data:www–data /var/www/piclodio
|
Ứng dụng đã được cài đặt.
Sử dụng
Bạn có thể sử dụng ứng dụng thông qua bất kỳ trình duyệt nào trên thiết bị đầu cuối trên mạng cục bộ của mình. Chỉ cần truy cập địa chỉ IP của Rpi và thêm tên của thư mục piclodio vào cuối url như thế này
1
|
http://192.168.0.20/piclodio
|
Ứng dụng, do giao diện của nó, được dành nhiều hơn cho thiết bị đầu cuối di động của loại điện thoại thông minh nhưng nó hoạt động tốt trên trình duyệt PC.
Tôi có thể tìm URL radio trên web ở đâu?
Tôi giới thiệu trang web http://tunein.com hoặc http://www.radio.fr. Khi bạn đã tìm thấy một đài phát thanh trên web, bạn chỉ cần truy xuất url tạo luồng âm thanh để đưa nó vào Piclodio.
Trên Chrome:
- nhấp chuột phải vào trang
- Kiểm tra phần tử
- Tab "Mạng"
- Tìm tập lệnh truyền nhiều dữ liệu nhất (tập lệnh có khoảng trống màu vàng lớn nhất)
- Sao chép "URL yêu cầu" trong Piclodio
Ứng dụng Piclodio Android
Không tuyệt vời gì khi lướt qua trình duyệt trên điện thoại thông minh của bạn mỗi lần bạn muốn thay đổi đồng hồ báo thức hoặc chỉ bắt đầu radio. Bạn phải khởi động trình duyệt sau đó nhập url của mâm xôi hoặc truy cập và tìm nó trong mục yêu thích của bạn. Tóm lại là dài quá. Vì vậy, tôi đã tạo một ứng dụng Android nhỏ sẽ hiển thị trang web Rpi một cách đơn giản.
Mã có sẵn trên GitHub tại đây để những người theo chủ nghĩa thuần túy có râu có thể xác minh rằng tôi đã không vô tình đặt cửa sau để bán dữ liệu của họ trực tiếp trên Ebay.
Nếu không, bạn có thể tải xuống apk tại đây. Khi khởi chạy, chương trình sẽ chỉ yêu cầu bạn cung cấp url piclodio trên Rpi.