Mục lục:
- Quân nhu
- Bước 1: Thiết lập (không đầu) Raspberry Pi W
- Bước 2: Cài đặt Phần mềm Radio Cao cấp
- Bước 3: Cài đặt phần mềm bổ sung
- Bước 4: Tìm Luồng đài phát thanh
- Bước 5: Tạo mạch
- Bước 6: Kiểm tra nó
- Bước 7: Đặt vào một vỏ bọc vĩnh viễn
- Bước 8: Thiết lập chương trình để chạy khi khởi động
Video: Radio cao cấp - Raspberry Pi: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Dự án đài phát thanh cao cấp là một thiết bị vô tuyến internet được thiết kế có thể truy cập mã nguồn mở với cả thành phần phần cứng và phần mềm. Nó được thiết kế để được sử dụng cho những người dùng quen với việc điều khiển radio bỏ túi trong đó các nút quay điều khiển âm lượng và kênh radio đã chọn. Dự án được thực hiện với thiết kế lấy người dùng làm trung tâm, tập trung vào người dùng muốn có kích thước và khả năng điều khiển tương tự như một đài phát thanh cầm tay tiêu chuẩn.
Nó được xây dựng để đáp ứng nhu cầu cho phép những người khiếm khuyết có thể nghe hàng nghìn nội dung phát trực tuyến trên internet khác nhau mà thường chỉ có sẵn thông qua trình duyệt internet. Nhiều người không có khả năng sử dụng một thiết bị như vậy một cách dễ dàng, vì vậy thiết kế này nhằm mục đích tạo ra một giao diện quen thuộc cho một công nghệ hiện đại.
Chức năng cốt lõi nằm trên Github, được lưu trữ trong một chương trình python 3.7.3 có tên là SeniorRadio.py. Nó đọc và ghi một tệp json để lưu trữ trạng thái của đài phát thanh, vì vậy khi bạn tắt nó đi, nó sẽ ghi nhớ mức âm thanh hiện tại và đài đã chọn. Ngoài ra, nó đọc một tệp json được lưu trữ trực tuyến mà bạn có thể thay đổi! Điều này cho phép bạn cập nhật các đài phát thanh từ xa nếu bạn đang đưa cái này cho người khác.
Nó hiện được tạo ra để kết nối với loa bluetooth, nhưng cũng có thể dễ dàng được thực hiện để phát ra loa tích hợp.
Người tạo ra thiết bị này có thể không phải là người dùng và cần ít nhất một số kinh nghiệm về điện tử và kiến thức lập trình cơ bản. Trải nghiệm Linux cũng rất hữu ích.
Đối với người dùng, chức năng rất đơn giản:
Khi bật nguồn, nó sẽ phát kênh cuối cùng được chọn trên thiết bị âm thanh mặc định. Quay số bên trái điều khiển đài, nơi một vài lần nhấp vào mặt số sẽ thay đổi thành một URL mới. Nó sẽ lật lại sau lần nhập cuối cùng hoặc đầu tiên. Nút xoay bên phải điều khiển mức âm thanh. Đèn LED cho biết chương trình đang bật. Và nút bấm tạm dừng hoặc "tắt" đài. Vì vậy, sau khi bật nguồn, người dùng có thể chỉ cần nhấn vào nút để tạm dừng / phát hoặc "tắt / bật", radio và hai nút xoay để điều khiển nó.
Quân nhu
Được liên kết trên mỗi mục là mục cụ thể mà tôi đã sử dụng. Chi phí cho tôi tổng cộng khoảng 60 đô la với rất nhiều nguồn cung cấp còn lại!
Kiến thức cơ bản về điện tử và linux - để lắp ráp và gỡ lỗi
Raspberry Pi Zero W (Zero WH có tiêu đề được hàn sẵn và có thể hữu ích)
Thẻ MicroSD-8 GB + và khả năng o
Bộ chuyển đổi nguồn MicroUSB 5V - Link cũng bao gồm bộ chuyển đổi microHDMI và bộ chuyển đổi microUSB OTG sang USB A để thiết lập nếu bạn cần chúng
Loa Bluetooth
Cáp nhảy M / F và M / M
2 Bộ mã hóa quay - liên kết tương tự như trên
Breadboard nhỏ
Nút bấm
Đèn LED (tùy chọn) - đèn LED đã mua + nút nhấn ở trên
Hộp để đóng gói
Bước 1: Thiết lập (không đầu) Raspberry Pi W
Chúng ta cần thiết lập hệ điều hành trên raspberry pi để chạy phần mềm. Không ai trong số này là duy nhất cho dự án này. Để gỡ lỗi, tôi khuyên bạn nên thiết lập nó để bạn cũng có thể truy cập nó ở chế độ không đầu. Điều này có nghĩa là bạn truy cập pi qua mạng WiFi của mình thông qua GUI hoặc thiết bị đầu cuối SSH và không cần bàn phím, chuột và màn hình để sử dụng nó mọi lúc. Bạn có thể làm điều này mà không cần kết nối với màn hình / chuột / bàn phím nếu bạn am hiểu công nghệ hơn. Một số hướng dẫn ví dụ ở đây. Tuy nhiên, nó ít thẳng về phía trước, và dưới đây là một cách khác để thiết lập nó.
Lần đầu tiên này, bạn có thể sẽ cần:
- Raspberry Pi W
- Bộ chuyển đổi thẻ nhớ MicroSD sang thẻ SD [để ghi hệ điều hành vào thẻ SD]
- Thẻ MicroSD (~ 8 GB +) [để lưu trữ hệ điều hành và chương trình của chúng tôi]
- Nguồn MicroUSB (5V)
- MicroUSB sang USB A [dành cho chuột / bàn phím]
- Bộ chuyển đổi Mini HDMI sang HDMI [cho đầu ra màn hình]
- Bàn phím
- Chuột
- Màn hình
Đầu tiên, bạn cần cài đặt hệ điều hành vào thẻ micro SD rPi.
Tôi đã sử dụng raspian buster, bạn tải nó xuống máy tính có đầu đọc / ghi thẻ SD và sau đó flash hệ điều hành raspian vào thẻ SD. BalenaEtcher là một phần mềm dễ dàng để làm điều này
Tiếp theo đưa thẻ SD vào khe pi, kết nối màn hình, bàn phím và nguồn. Tiến hành các bước thiết lập mà raspian nhắc bạn, bao gồm kết nối nó với mạng WiFi của bạn và ghép nối loa bluetooth của bạn thông qua GUI. Thực hành tốt là cập nhật nó bằng các lệnh sau
sudo apt-get cập nhật
sudo apt-get nâng cấp
Nếu bạn muốn bao gồm việc đánh dấu số pi không có đầu của mình, trước tiên chúng tôi sẽ cần lấy địa chỉ ip của số pi. Thông qua một thiết bị đầu cuối, bạn có thể tìm thấy nó thông qua
ifconfig
chỉ huy. Sau đó, bạn cần bật SSH và VNC qua các tùy chọn giao diện trong
sudo raspi-config
Sau khi khởi động lại, bây giờ bạn có thể kiểm tra việc truy cập pi qua SSH hoặc VNC. SSH chỉ là giao diện đầu cuối và bạn có thể thấy việc sử dụng GUI để ghép nối loa bluetooth dễ dàng hơn. Bạn có thể sử dụng một chương trình như VNC connect để dễ dàng truy cập số pi của bạn trên một máy tính riêng trong mạng của bạn. Bạn có thể sử dụng một chương trình như putty để SSH vào đó.
Ngoài ra, bạn có thể thiết lập tài khoản đám mây VNC để có thể truy cập thiết bị khi không có mạng nếu cần
Bước 2: Cài đặt Phần mềm Radio Cao cấp
Điều này có thể được thực hiện từ một cửa sổ đầu cuối của pi raspberry. Trước tiên, hãy đảm bảo rằng bạn đã cài đặt git
sudo apt-get install git
Tùy thuộc vào hệ điều hành bạn đã cài đặt, các bước này có thể khác nhau vì bạn có thể cần phải cài đặt thêm các gói, hệ thống sẽ cho bạn biết nếu có. Trước tiên, chúng ta cần tải xuống mã radio cao cấp từ github. https://github.com/Bunborn/seniorRadio Tốt nhất là bạn đang tạo repo của riêng chúng tôi để bạn có thể thực hiện thay đổi và dễ dàng thay đổi các đài phát thanh theo cách giống như tôi. Fork repo nếu vậy
Tuy nhiên, bạn có thể sử dụng giống như của tôi, không vấn đề gì nếu bạn muốn lưu trữ tệp radio json của mình ở một nơi khác
Sau đó sao chép repo ở bất kỳ vị trí nào bạn muốn. Thư mục mặc định là tốt. Nhận URL cho repo github mà bạn muốn bằng cách nhấn vào nút sao chép hoặc tải xuống màu xanh lá cây.
Quay lại cửa sổ đầu cuối, git sao chép
Bây giờ bạn sẽ thấy một thư mục bổ sung có tên là SeniorRadio khi sử dụng ls. Tuyệt vời!
Mã có nghĩa là tự ghi lại tài liệu, xem qua nó sẽ hữu ích. Đặc biệt là cho mục đích gỡ lỗi và nếu bạn đang thay đổi hệ thống.
Bước 3: Cài đặt phần mềm bổ sung
Trước khi chúng tôi chuyển sang mạch và thử nghiệm nó, chúng tôi cũng cần tải xuống VLC và api python cho nó. Bạn có thể đã cài đặt VLC. Hai lệnh đầu tiên sẽ cập nhật số pi và hai lệnh cuối cùng bên dưới sẽ cài đặt VLC và sau đó là api python
sudo apt-get cập nhật
sudo apt-get nâng cấp
sudo snap cài đặt VLC
sudo apt-get install vlc-python
Ngoài ra, cũng cài đặt gpiozero, mà chúng tôi sẽ sử dụng để giao tiếp với các chân GPIO của pi. Bạn có thể đã cài đặt nó tùy thuộc vào hệ điều hành của bạn.
sudo apt-get install gpiozero
Bước 4: Tìm Luồng đài phát thanh
Tiếp theo, một trong những phần thú vị nhất! Đã đến lúc chọn bất kỳ luồng nào bạn muốn.
Trong tệp internetStations.json của tôi, bạn có thể thấy các liên kết luồng của tôi, chủ yếu dành cho tin tức và âm nhạc. Nhưng có rất nhiều nội dung được lưu trữ trên mạng. Chìa khóa ở đây là tìm địa chỉ URL luồng trực tiếp. Ví dụ: các đài tin tức và âm nhạc của BBC có thể được tìm thấy ở đây trên blog này. Các luồng trực tiếp này sẽ không có bất kỳ giao diện đồ họa nào và sẽ tự động phát luồng thông qua trình phát phương tiện của trình duyệt của bạn. Đây là những URL chúng tôi cần để VLC có thể đọc chúng! Bạn có thể nhanh chóng kiểm tra bất kỳ liên kết nào trong trình quản lý web của mình hoặc thông qua VLC trên máy tính thông thường của bạn để đảm bảo rằng nó sẽ hoạt động trên pi.
Để tìm các đài này, bạn có thể tìm luồng trực tiếp trực tuyến nếu dịch vụ lưu trữ nó. Một cách nhanh chóng cũng có thể là phát luồng, nhấp chuột phải vào trình duyệt và nhấn "phần tử kiểm tra". Điều hướng đến tab mạng và nó sẽ chỉ ra URL 'trực tiếp' của luồng. Video youtube này chứng minh điều này. Làm mới trang với tab đang mở sẽ hữu ích.
Khi bạn có các đài của mình, bạn muốn đưa chúng trực tuyến để chương trình pythonRadio cấp cao của bạn có thể lấy chúng. Có nhiều tùy chọn để thực hiện việc này, bạn có thể sử dụng các trang web như Github, bitbucket hoặc thậm chí sourceforge. Mục đích chính của việc lưu trữ danh sách này trực tuyến là để người dùng thiết lập nó có thể thay đổi danh sách luồng trực tuyến từ xa.
Khi bắt đầu chương trình python, có một biến được gọi là url, chỉ cần thay đổi biến này thành URL của tệp json của bạn với các liên kết URL trạm
Bạn có thể làm theo cùng một định dạng với tệp internetStation.json của tôi. Nếu bạn cũng muốn sử dụng github, bạn có thể chỉ cần tách kho lưu trữ SeniorRadio của tôi và chỉnh sửa tệp internetStation.json của riêng bạn và trỏ nó đến URL "thô" đó. Bạn có thể tìm thấy điều đó bên dưới trong GUI Github khi bạn nhấp vào tệp.
Bước 5: Tạo mạch
Bây giờ chúng ta cần thiết lập mạch. Điều này sẽ thay đổi dựa trên thiết bị của bạn, nhưng dưới đây là cách tôi thiết lập mỏ.
pinout.xyz/ để tham khảo xem đó là chân nào. Vì chúng tôi đang sử dụng thư viện gpiozero, chúng tôi chỉ quan tâm đến việc đánh số pin BCM. Lưu ý rằng tôi đã mua thêm một vài bộ mã hóa quay KY040 - các mặt số - để kiểm tra chúng vì chúng không phải tất cả đều có độ chính xác như nhau. Mỗi cái sẽ có một số "nảy", hoặc đơn giản là đầu ra không chính xác, vì vậy tôi đã chọn cái tốt nhất trong số hai cái mà tôi có. Trong đoạn mã, bạn sẽ lưu ý rằng có một số bước để hạn chế việc trả lại này.
Tôi đã kết nối nút bấm của mình với chân BCM 17 và nối đất
Đèn LED của tôi đến một điện trở 1k ohm rồi đến chân BCM 27 và nối đất
Bộ mã hóa quay KY040 của tôi có + dẫn đến 5V, GND nối đất và ngắt kết nối SW. Chúng được kết nối qua một breadboard mini
Chân dt của bộ mã hóa quay trạm được kết nối với chân BCM 21
Chân clk của bộ mã hóa quay trạm được kết nối với chân BCM 20
Chân dt của bộ mã hóa quay mức âm thanh được kết nối với chân BCM 19
Chân clk bộ mã hóa quay mức âm thanh được kết nối với chân BCM 16
Nếu bạn thay đổi các chân này, chỉ cần cập nhật số trong chương trình python cũng như nơi nó thiết lập trình xử lý
Tôi đã sử dụng một breadboard mini để làm điều này dễ dàng hơn. Tôi cũng đã sử dụng dây nhảy M / M và M / F để tạo thuận lợi cho giao diện. Tôi đã hàn một số dây dẫn jumper vào các chân của nút bấm / đèn LED mà tôi đã mua trước đó. Để không bị hàn, bạn có thể nhận các nút nhấn và đèn LED đã có dây dẫn jumper hoặc có thể dễ dàng kết nối với một.
Bước 6: Kiểm tra nó
Bây giờ, bạn sẽ có một hệ thống hoạt động! Hãy kiểm tra nó ra. Điều hướng đến thư mục có chương trình python, có thể:
cd cao cấpRadio
python3 SeniorRadio.py
Hiện tại, có độ trễ 45 giây khi bắt đầu chương trình để có thời gian tìm loa bluetooth bật nguồn. Bạn có thể bình luận dòng này nếu bạn không cần nó trong quá trình thử nghiệm. Chương trình có thể cho bạn biết rằng bạn cần cài đặt các gói bổ sung, hãy tiếp tục nếu vậy. Cũng có thể cần cài đặt phiên bản Python mới hơn.
sudo apt-get install python3.7
Một số sự cố có thể xảy ra ngay cả khi chương trình chạy:
Tôi không nghe thấy âm thanh
Đảm bảo rằng loa được bật và được chọn trong pi raspberry của bạn. Thông qua GUI, bạn sẽ có thể ghép nối nó và sau đó chọn nó làm thiết bị đầu ra âm thanh của mình. Hơn nữa, hãy kiểm tra trình điều khiển âm thanh của bạn. Một vấn đề phổ biến là bạn có thể cần cài đặt lại gói pulseaudio
Âm thanh bị ngắt quãng hoặc ngắt quãng
Thử di chuyển thiết bị đến gần bộ định tuyến WiFi của bạn hơn. Ngoài ra, hãy đảm bảo rằng loa bluetooth ở gần. Cũng có thể là vấn đề về trình điều khiển âm thanh
Bước 7: Đặt vào một vỏ bọc vĩnh viễn
Tiếp theo, đặt nó vào hộp hoặc thiết bị tương tự để nó tồn tại vĩnh viễn. Tôi khuyên bạn nên có một cái mà bạn vẫn có thể truy cập sau này để gỡ lỗi. Tôi đã mua chiếc hộp gỗ nhỏ này tại một cửa hàng thủ công với giá 2 đô la và liên kết nó trên trang cung cấp. Một người bạn của tôi đã giới thiệu một hộp xì gà.
Sau đó, tôi khoét các lỗ ở mặt trước cho nút nhấn và công tắc xoay, đồng thời khoan một lỗ ở mặt sau của hộp cho dây nguồn microUSB.
Tôi đã thử nghiệm thú cưỡi và đảm bảo rằng nó hoạt động, và voilà!
Cuối cùng, tôi sử dụng keo siêu dính để giữ nút ấn. Breadboard của tôi có một chất kết dính ở dưới cùng mà tôi đã kết nối với một phần của hộp. Tôi đã sử dụng một dải băng keo nhỏ để cố định mặt sau của số pi vào hộp, để có thể di chuyển nó sau này nếu cần.
Bước 8: Thiết lập chương trình để chạy khi khởi động
Cuối cùng, bạn có thể sẽ muốn chương trình python này chạy khi khởi động raspberry pi, vì vậy bạn không cần phải làm điều đó theo cách thủ công. Có nhiều cách để làm điều này mà bạn có thể tìm thấy trên mạng.
Cá nhân tôi thiết lập nó bằng cách thứ hai trong hướng dẫn SparkFun này:
Ở đây, nó đợi hệ thống vào màn hình đồ họa trước khi chạy chương trình. Sau đó, chương trình python sẽ trì hoãn 45 giây để hệ thống có thời gian kết nối lại với loa bluetooth. Nếu bạn đang sử dụng loa tích hợp, bạn có thể loại bỏ độ trễ này. Lưu ý rằng loa bluetooth phải được bật trước! (cho giải pháp bluetooth)
Bây giờ bạn có thể thử tắt nguồn và bật lại số pi của mình! Sau khoảng 90 giây số pi của bạn sẽ bắt đầu phát lại các luồng radio. Khi nhấn nút, nó sẽ tạm dừng / phát. Lưu ý rằng trong những lần khởi động lại này, nó sẽ đọc lại tệp json internetStations đó, vì vậy nếu bạn thay đổi các trạm của mình, bạn cần khởi động lại thiết bị để chúng hoạt động. Xin chúc mừng!
Nếu bạn đã thực hiện điều này hoặc thực hiện các sửa đổi đối với dự án, vui lòng cho tôi biết!
Trang Github:
Đề xuất:
Máy đo độ cao (máy đo độ cao) Dựa trên áp suất khí quyển: 7 bước (có hình ảnh)
Máy đo độ cao (Máy đo độ cao) Dựa trên Áp suất khí quyển: [Chỉnh sửa]; Xem phiên bản 2 ở bước 6 với đầu vào độ cao cơ sở theo cách thủ công Đây là mô tả cấu trúc của Máy đo độ cao (Máy đo độ cao) dựa trên Arduino Nano và cảm biến áp suất khí quyển BMP180 của Bosch. Thiết kế đơn giản nhưng các phép đo
Cung cấp điện cao thế dễ dàng: 5 bước (có hình ảnh)
Nguồn điện cao áp dễ dàng: Tài liệu hướng dẫn này sẽ hướng dẫn bạn cách tạo nguồn điện cao áp. Trước khi thực hiện dự án này, hãy lưu ý một số Biện pháp phòng ngừa an toàn đơn giản.1. Luôn đeo găng tay điện khi xử lý nguồn điện cao áp. 2. Điện áp sản xuất
Máy quét khẩn cấp cho người cao tuổi: 6 bước
Máy quét khẩn cấp cho người cao tuổi: Dự án này dựa trên việc giúp đỡ người cao tuổi. Người cao tuổi thường ở nhà một mình và có thể không ở gần để được giúp đỡ ngay lập tức nếu họ bị ngã. Giải pháp hiện tại trên thị trường là sử dụng một SOS mà họ mặc
Đưa nhạc vào trò chơi đua xe cào cào: 3 bước
Đưa nhạc vào trò chơi đua xe cào: Hướng dẫn này sẽ chỉ cho bạn từng bước, từng bước cách đưa nhạc của riêng bạn vào trò chơi đua xe BIY Scratch
Chân đế kẹp chất kết dính cảm ứng iPhone / IPod có cung cấp cáp ĐÃ CẬP NHẬT: 5 bước (có hình ảnh)
Giá đỡ Kẹp Binder cho iPhone / IPod sử dụng kẹp ghim cố định ……… đó. Mặc dù một số thiết kế thông minh đã được hiển thị là