Mục lục:
- Quân nhu
- Bước 1: Xé băng
- Bước 2: Bầu trời tối Pi
- Bước 3: Mã
- Bước 4: Unicorn HAT & Servo
- Bước 5: Tai nghe Jiggle
- Bước 6: Lắp ráp
- Bước 7: Ám ảnh yên tĩnh
Video: 1984 WeatherMan Pi: 7 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Máy cassette di động này hiện là màn hình hiển thị thời tiết IoT xung quanh với phong cách đầu những năm 80, hiển thị hoạt ảnh "điều kiện hiện tại", nhiệt độ cuộn và biểu đồ xác suất mưa qua cửa sổ băng. Khi điều kiện thời tiết thay đổi, tai nghe điều khiển bằng servo ở phía trên lắc qua lắc lại như một cảnh báo tinh tế.
Mở cửa băng chức năng, chúng ta có thể thấy rằng các thành phần ban đầu đầy bụi đã được thay thế bằng Raspberry Pi Zero W, Pimoroni Unicorn Hat HD (LED Matrix) và một servo nhỏ. Dữ liệu thời tiết được lấy nguồn bằng cách sử dụng tập lệnh Python truy vấn API thời tiết bầu trời tối siêu chính xác, được điều chỉnh cho phù hợp với vị trí cụ thể của tôi.
Đó là một bản dựng IoT đơn giản nhưng trông đáng yêu và đầy đủ chức năng nằm trên chiếc loa để bàn đối diện với quầy YouTube của tôi, giúp tôi luôn cập nhật tình hình thời tiết một cách lặng lẽ.
Quân nhu
Raspberry Pi Zero
Pimoroni Unicorn HAT HD
Servo nhỏ
1984 Tai nghe & Âm thanh nổi Cá nhân Hitachi SP-1
Bộ điều hợp WiFi USB
Thanh ren 2mm
Sugru (Đen & Xám)
Nam châm GeoMag
Bước 1: Xé băng
Tôi đã được mẹ chồng tôi tặng cho chiếc máy cassette cũ đáng yêu này vào tháng 9 và ngay lập tức yêu thích vẻ ngoài mang tính biểu tượng và các nút bấm sang trọng của nó. Tuy nhiên, điểm thu hút thực sự là cửa sổ băng lớn đó - sau khi sở hữu nó khoảng 15 giây, tôi đã lấy thước ra và ngạc nhiên khi thấy rằng nó, đến mm, có cùng kích thước với Raspberry Pi HAT tiêu chuẩn (Phần cứng đính kèm trên đầu).
Chỉ riêng khám phá đó thôi cũng đủ để đẩy dự án đồng hồ cúc cu của tôi xuống sâu hơn trong danh sách "việc cần làm" và tôi bắt đầu công việc ngay lập tức, bằng cách tháo dỡ đầu phát.
Việc xé dán diễn ra khá tốt và tôi đã kết thúc với ba mảnh riêng biệt để làm việc - tôi đã cố gắng phá vỡ một vài bộ phận bằng nhựa, nhưng không có gì không thể dán lại với nhau.
Bước 2: Bầu trời tối Pi
Tôi đã sử dụng Dark Sky trên điện thoại của mình được một thời gian và thực sự ấn tượng với độ chính xác của các dự báo, vì vậy tôi rất vui khi thấy họ cung cấp một API toàn diện mà tôi có thể sử dụng trong dự án này. lên quá!
Trước tiên, hãy truy cập https://darksky.net/dev và đăng ký tài khoản miễn phí - tài khoản "dùng thử" cho phép bạn thực hiện 1000 yêu cầu API mỗi ngày, đủ để làm mới sau mỗi 1,5 phút - đủ thường xuyên cho ngay cả tôi Mức độ ám ảnh thời tiết của Anh.
Sau khi đăng ký, bạn sẽ nhận được "Khóa bí mật" - đây là thứ bạn cần để truy cập vào dữ liệu và nó được sử dụng trong tập lệnh Python, vì vậy hãy giữ nó thật tiện lợi (và bạn biết đấy, bí mật).
Tôi đã bắt đầu bằng cách điều chỉnh một tập lệnh mà tôi đã sử dụng trong bản dựng Bộ đếm người đăng ký YouTube, sử dụng mô-đun Yêu cầu bằng Python để truy xuất dữ liệu API. Tập lệnh mà tôi đã sử dụng trên GitHub, bạn chỉ cần thêm khóa API Dark Sky của mình và tất nhiên, thay thế các giá trị Vĩ độ & Kinh độ của riêng bạn.
Việc kéo dữ liệu về điều kiện thời tiết hiện tại khá dễ dàng và tôi quyết định sử dụng các yếu tố "Biểu tượng", "Xác suất mưa" và "Nhiệt độ".
Bước 3: Mã
Nếu bạn muốn sử dụng lại hoặc sử dụng lại mã mà tôi đã sử dụng, nó nằm trong kho WeatherMan trên GitHub - sao chép hoặc tải thư mục "thời tiết" vào thư mục "pi" trên Raspberry Pi của bạn.
Các chức năng chính của script như sau:
weatherman.py
Đây là kịch bản chính trích xuất dữ liệu thời tiết từ Dark Sky. Bạn sẽ cần thiết lập tài khoản Dark Sky tại https://darksky.net/dev và đặt Khóa bí mật của bạn vào tập lệnh được chỉ định. Bạn cũng sẽ cần nhập vĩ độ & kinh độ của vị trí thời tiết mà bạn quan tâm - điều này có thể được tìm thấy trên Google Maps, chỉ cần nhấp chuột phải và chọn "Đây là gì?" và bạn sẽ nhận được một cửa sổ bật lên hiển thị vĩ độ / kinh độ của vị trí.
Sau khi truy xuất dữ liệu API, weatherman.py sẽ chuyển các tham số đến một số tập lệnh nhỏ hơn để bắt đầu các hoạt ảnh và sự lắc lư tai nghe.
Tập lệnh được đặt để chạy khi khởi động bằng cách chỉnh sửa tệp khởi động…
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… Và thêm:
@ python3 /home/pi/weather/weatherman.py &
ở cuối tệp.
icon.py
Tập lệnh này lấy tham số "điều kiện hiện tại" từ tập lệnh weatherman.py và sử dụng nó để hiển thị hình ảnh động thời tiết 16x16 - tất cả những thứ này đều được lưu trữ trong thư mục "biểu tượng" và là một phần của tài liệu Unicorn HAT HD tiêu chuẩn. Bạn có thể dễ dàng chỉnh sửa các tệp hoạt ảnh-p.webp
phone.py
Nếu điều kiện thời tiết đã thay đổi so với yêu cầu API cuối cùng (hoặc đó là lần khởi động mới và trời không có tuyết) thì tập lệnh này được gọi từ weatherman.py và hướng dẫn servo "lắc lư" qua lại để cảnh báo cho bạn rằng các điều kiện có đã thay đổi.
tủa.py
Tập lệnh này chấp nhận tham số "xác suất mưa" từ weatherman.py và hiển thị các dòng màu xanh lam trên Unicorn HAT liên quan đến% xác suất. Nếu 100% thì tất cả 16 hàng sẽ phát sáng màu xanh lam, nếu 50% thì chỉ có 8 hàng, v.v.
temp.py
Một tập lệnh Pimoroni tiêu chuẩn khác, tập lệnh này lấy tham số "tạm thời" từ weatherman.py và hiển thị nó với văn bản cuộn. Nó được thiết lập để sử dụng phông chữ Herkules truetype (trong thư mục "phông chữ") nhưng có thể sử dụng phông chữ tiêu chuẩn nếu bạn thích.
Bước 4: Unicorn HAT & Servo
Có thể nắm bắt dữ liệu thời tiết là rất tốt, nhưng bây giờ tôi cần hiển thị nó trên Unicorn HAT. Tôi đã xem nhiều bộ biểu tượng thời tiết khác nhau trên internet và đang điều chỉnh được một nửa khi tôi nhận ra rằng có một ví dụ về thời tiết được bao gồm trong tài liệu Pimoroni - và điều này bao gồm cả hình ảnh động thời tiết!
Điều này đã tiết kiệm một lượng lớn công việc và tôi đã thiết lập và chạy ngay lập tức, với biểu tượng động cho các điều kiện hiện tại, một số văn bản cuộn cho nhiệt độ và biểu đồ cho% lượng mưa (liên quan đến một số phép toán nhẹ). Tôi giữ các tập lệnh riêng biệt và sử dụng mô-đun Subprocess của Python để chuyển các tham số tới và lui.
Thêm servo là phương tiện lý tưởng cho những cảnh báo này, vì nó sẽ tạo ra một chút tiếng ồn và bắt mắt mà không quá khó chịu. Với HAT đã chiếm nhiều chân của Pi, tôi đã hàn cáp servo vào mặt dưới của bo mạch, sử dụng Chân 17 để điều khiển chuyển động của servo bằng cách sử dụng Điều chế độ rộng xung.
Việc cung cấp năng lượng cho servo từ Pi không phải là lý tưởng, nhưng nó sẽ chỉ được sử dụng cho một chút rung lắc nhất thời nên độ chính xác không phải là vấn đề lớn ở đây. Nó được kết nối như thể hiện trong sơ đồ, với cáp Brown tới GND, Red đến 5v và Orange (cáp điều khiển) với GPIO17.
Cuối cùng, tôi đã chỉnh sửa một số tệp hoạt ảnh thời tiết trong GIMP để thêm vào những nét cá nhân của riêng tôi, như dơi trên mặt trăng và mặt cười trên mặt trời. Tôi cũng đã thêm vào hình ảnh động bánh xe băng cassette "Old Tech New Spec" tùy chỉnh để phát khi khởi động, chỉ để giải trí.
Bước 5: Tai nghe Jiggle
Ý tưởng về WeatherMan là nó sẽ nằm trên loa bàn của tôi một cách thụ động, thỉnh thoảng hiển thị thời tiết, nhưng tôi muốn nó hoạt động nhiều hơn một chút! Tai nghe đi kèm với nó là bánh mì nướng nhưng cổ điển của những năm 80, vì vậy tôi quyết định làm điều gì đó với chúng. Sau khi tháo tất cả cáp và dán keo nóng vào chỗ bị đứt, tôi chỉ còn lại ba phần, phích cắm 3,5 mm, nút hình kim cương và bản thân điện thoại trên dây kim loại dẻo của chúng.
Tôi nảy ra ý tưởng rằng nếu tôi có thể tìm ra cách nào đó để gắn điện thoại lên trên thiết bị thì tôi có thể làm cho chúng xoay qua lại bằng một servo và sử dụng nó như một thông báo bổ sung.
Đầu tiên, tôi khoan lỗ cắm 3.5mm và tháo công tắc kim cương, sau đó trượt chúng vào một đoạn thanh ren. Tiếp theo, tôi dán một đai ốc vào một đầu nối bằng nhựa để thanh này có thể nằm chắc chắn (và thẳng) trên đỉnh servo. Ở đầu kia của thanh, tôi đã thêm vào một đai ốc khác. Cuối cùng, tôi sử dụng Sugru màu xám để kết dính phần đầu của thanh với dải tai nghe và cũng để che đai ốc ở dưới cùng của cụm. Nếu bạn chưa từng nghe nói về Sugru, đó là một loại keo có thể nặn được đóng gói trong các gói nhỏ màu - nó đóng khuôn giống như Play-Doh nhưng dính như superglue và cứng như nhựa!
Với thời tiết lạnh giá gần đây, Sugru mất vài ngày để cứng lại hoàn toàn, nhưng tai nghe và chân đế của chúng đã sớm sẵn sàng để lắp ráp lần cuối.
Bước 6: Lắp ráp
Pi, HAT và Servo đều hoạt động tốt trên băng ghế dự bị nên công việc tiếp theo là đưa họ vào vụ án. Trước khi bắt đầu với các thành phần lớn, tôi đã sử dụng một số Sugru màu xám còn sót lại để sửa chữa trong nút xoay âm lượng, ổ cắm tai nghe và công tắc "băng kim loại", phân loại mỹ phẩm. Tôi cũng dán các nút Play, Stop, FF & Rew ban đầu vào một đoạn ống dẫn bằng nhựa để chúng ở đúng vị trí. Thật tiếc khi không sử dụng lại bất kỳ nút nào trong lần này nhưng thực sự không có gì để họ kiểm soát!
Tôi đã sử dụng chiếc Sugru màu xám cuối cùng để giữ servo ở vị trí, với trục của nó chọc qua ổ cắm tai nghe được mở rộng. Chuyển sang nửa còn lại của trường hợp, sau đó tôi sử dụng một số Sugru đen để cố định cụm HAT và Pi vào cánh cửa băng, để chúng mở ra cùng với nó. Tôi thực sự thích thú với thao tác nhỏ cuối cùng - cố định trong nam châm GeoMag để cánh cửa được đóng chặt.
Đặt hai nửa lại với nhau là một công việc lo lắng vì tôi sợ Pi & Servo sẽ xung đột với nhau, nhưng cuối cùng thì vẫn còn khoảng một milimet để dự phòng, rất nhiều trong cuốn sách của tôi. Vì cánh cửa mở ra vui nhộn sẽ cho phép toàn quyền truy cập vào bên trong để phục vụ trong tương lai, tôi chỉ cần dán nóng hai nửa lại với nhau và sau khi lau sạch dấu vân tay nhờn của tôi đã lắp cụm tai nghe ở trên - xong!
Bước 7: Ám ảnh yên tĩnh
Giải nhì trong cuộc thi tái sử dụng
Đề xuất:
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: 3 bước (có hình ảnh)
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: Xin chào! Tôi luôn tìm kiếm các Dự án mới cho các bài học vật lý của mình. Hai năm trước, tôi đã xem một báo cáo về cảm biến nhiệt MLX90614 từ Melexis. Loại tốt nhất chỉ với 5 ° FOV (trường nhìn) sẽ phù hợp với máy ảnh nhiệt tự chế
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: 14 bước (có hình ảnh)
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: Có rất nhiều hướng dẫn trực tuyến về cách xây dựng máy ảnh phim của riêng bạn, nhưng tôi không nghĩ rằng có bất kỳ hướng dẫn nào về việc xây dựng cảm biến hình ảnh của riêng bạn! Cảm biến hình ảnh có sẵn từ rất nhiều công ty trực tuyến và việc sử dụng chúng sẽ giúp thiết kế
Hình ảnh - Máy ảnh Raspberry Pi in 3D.: 14 bước (có Hình ảnh)
Hình ảnh - Máy ảnh Raspberry Pi 3D được in: Cách đây trở lại vào đầu năm 2014, tôi đã xuất bản một máy ảnh có thể hướng dẫn được gọi là SnapPiCam. Máy ảnh được thiết kế để đáp ứng với Adafruit PiTFT mới được phát hành. Đã hơn một năm trôi qua và với bước đột phá gần đây của tôi vào in 3D, tôi nghĩ rằng n
MÁY ẢNH UNICORN - Raspberry Pi Zero W NoIR Cấu hình máy ảnh 8MP: 7 bước (có hình ảnh)
UNICORN CAMERA - Raspberry Pi Zero W NoIR Camera 8MP Build: Pi Zero W NoIR Camera 8MP BuildThis hướng dẫn được tạo ra để giúp bất kỳ ai muốn có Camera hồng ngoại hoặc Camera di động thực sự tuyệt vời hoặc Camera Raspberry Pi di động hoặc chỉ muốn giải trí, heheh . Đây là cấu hình và giá cả phải chăng nhất
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: 7 bước (với hình ảnh)
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: Tôi biết bạn đang nghĩ gì. Bằng cách " thân mật, " Ý tôi là chiếu sáng cận cảnh trong các tình huống ánh sáng khó - không nhất thiết dành cho " các tình huống thân mật. &Quot; (Tuy nhiên, nó cũng có thể được sử dụng cho việc đó …) Là một nhà quay phim thành phố New York - hoặc