Há um tempo, alguns caras descobriram que podiam transmitir sinais de FM usando as portas GPIO do Raspberry Pi, e outra pessoa percebeu que ele poderia usar o RasPi para controlar seu equipamento de automação residencial:
http://www.skagmo.com/page.php?p=projects/22_pihat
Este é o arquivo que controla o rádio para isso:
https://github.com/s7mx1/pihat/blob/master/radio.c
Agora, eu gostaria de portar isso para uma linguagem mais fácil do que C para eu experimentar, como Go ou Python. No entanto, não estou muito claro sobre como isso é feito.
Skagmo usa os harmônicos para gerar uma frequência de 433 MHz. Digamos que você queira apenas uma frequência de 100 MHz, para simplificar, como você gera isso? Pelo que entendi, isso tem algo a ver com um relógio GPIO (ou talvez SPI? Não tenho certeza).
Pelo que posso ver no arquivo, ele define três bits em algum registro de seleção de função do GPIO e, em seguida, inicializa o relógio com uma estrutura e, em seguida, define um pouco sempre que ele deseja transmitir alto ou baixo.
Isso está na onda portadora? Onde está a onda portadora?
Também encontrei esse script Python que afirma fazer a mesma coisa , mas não tenho certeza se ele usa o transmissor nativo ou se a pessoa conectou um externo ao RasPi.
Basicamente, eu realmente aprecio uma explicação ou uma breve referência sobre como isso funciona exatamente, e se o Python / Go for rápido o suficiente para transmitir sinais que possam imitar o controle remoto da porta da minha garagem (modulado por ASK, ao que parece), ou se eu tiver fazê-lo em C.
fonte