Cách đây một thời gian, một vài người đã phát hiện ra rằng họ có thể truyền tín hiệu FM bằng cổng GPIO của Raspberry Pi và một người khác nhận ra rằng anh ta có thể sử dụng RasPi để điều khiển thiết bị tự động hóa nhà của mình:
http://www.skagmo.com/page.php?p=projects/22_pihat
Đây là tập tin điều khiển radio cho việc này:
https://github.com/s7mx1/pihat/blob/master/radio.c
Bây giờ, tôi muốn chuyển ngôn ngữ này sang ngôn ngữ dễ hơn C để tôi thử nghiệm, như Go hoặc Python. Tuy nhiên, tôi không thực sự rõ ràng về cách thức này được thực hiện.
Skagmo sử dụng sóng hài để tạo ra tần số 433 MHz. Giả sử bạn chỉ muốn tần số 100 MHz, vì đơn giản, làm thế nào để bạn tạo ra tần số đó? Theo những gì tôi hiểu, nó có liên quan đến đồng hồ GPIO (hoặc có thể là SPI? Tôi không chắc chắn).
Từ những gì tôi có thể thấy trong tệp, anh ta đặt ba bit trên một số thanh ghi lựa chọn chức năng GPIO, sau đó khởi tạo đồng hồ với một cấu trúc, và sau đó đặt một bit bất cứ khi nào anh ta muốn truyền cao hoặc thấp.
Đây có phải trong sóng mang? Trong trường hợp là các sóng mang?
Tôi cũng tìm thấy tập lệnh Python này tuyên bố sẽ làm điều tương tự , nhưng tôi không chắc liệu nó có sử dụng trình phát gốc hay nếu người đó kết nối một tập lệnh bên ngoài với RasPi.
Về cơ bản, tôi thực sự sẽ đánh giá cao một lời giải thích hoặc một tài liệu tham khảo ngắn về cách thức hoạt động của nó, và nếu Python / Go đủ nhanh để truyền tín hiệu có thể bắt chước từ xa cửa nhà để xe của tôi (có vẻ như được điều chế ASK) hoặc nếu tôi có để làm điều đó trong C.