Have you considered using sub-GHz transceivers ?(315MHz, 433MHz, 868MHz, etc).
These bands can reach much larger distances than Wifi/BT with the same power, they can pass through almost anything except soviet bunkers.
Check the nRF905, uses SPI interface, handles the complex part keeping it simple.
You only need to adjust few registers (they seem pretty simple).
- Config few settings like the CRC and your receiver address (configurable to 1 and 4-byte length).
- When transmitting, set the dest address, the payload size(1-32 bytes), send the data, enable TX and wait for the transfer complete signal.
- It handles everything (CRC, retransmission...).
- A receiver matching the address will strip the data from the packet and set the data ready signal to let the mcu know there's new data.
Looks really easy and powerful, the modules are cheap at Aliexpress.
https://infocenter.nordicsemi.com/pdf/nRF905_PS_v1.5.pdfThere're others, like SX1212, Si4430/31/32, CC1101...