radiový transceiver RFM12BP

RFM12BP-433 má pouze SPI. “Redukci” mezi UART a SPI musí obstarat MCU. Nicméně HopeRF vyrábí přímo i UART moduly (akorát je nutné dodat MAXe pro konvezi úrovní).
Co se příjmu bordelu týče, tak ten je v ISM 433Mhz značný. Určitě bych šel raději do pásma 868, ale vlastní zkušenost nemám.
RFM12BP proti bordelu bojuje dvojbajtovou synchronizací na začátku (standardně 0x2D, 0xD4 - druhý synchro bajt je uživatelsky nastavitelný), než spustí přerušení, ale ani to nestačí. Jsou i další možnosti, jak filtrovat příjem. Já osobně jsem šel cestou, že přenáším radiové pakety fixní délky ve složení:

0x2D, 0x4B, 0xCA, servisní bajt, CRC8_servisniho bajtu, 16xdata bajt, CRC8_data, rezervní bajt

Takže na začátku jsem přidal ještě jeden (třetí) synchronizační bajt 0xCA, který testuju v rutině přerušení a pokud je přijat - jedná se o “můj” paket a jeho zpravcování je dále řízeno informacemi v servisním bajtu. Pokud není 0xCA, jedná se téměř jistě o smetí a paket je zahozen a dojde pouze k výpisu informace na UART terminál a můžu teda potvrdit, že je to poměrně často (cca. Tak 3x za minutu).

Co se jednoduchosti nastavení týká, tak do přenosové rychlosti cca. 30kbps funguje vše v pohodě. Při vyšších rychlostech už je nutné laborovat s šířkou pásma přijímače, kmitočtovým zdvihem vysílače, citlivostí, útlumem přijímače a výkonem, takže 115,2 kbps bez “bordelu” a s přijatelnou BER jen tak lehce dosáhnout nejde.