Background
Currently, DIY LoRa gateways are the cheapest options for beginners who want to experiment with LoRaWAN technology. There are excellent instructions on building a LoRa gateway using a Raspberry Pi (RPi) and a LoRa concentrator:
- https://github.com/ttn-zh/ic880a-gateway/wiki
- https://www.rs-online.com/designspark/building-a-raspberry-pi-powered-lorawan-gateway
However, it is not easy to power a gateway at our outdoor deployment site since no power source is present nearby, and a long power cable would degrade the supply voltage. Since the gateway is connected to the Internet through Ethernet, PoE is a natural choice.
There are already plug-and-play [1], [2] and DIY [3], [4] solutions for powering RPi over Ethernet. But this project is conducted anyways because of its DIY nature.
Modifying Raspberry Pi B+ for PoE
According to a discussion, RPi uses a MagJack which is not compatible with PoE standards. This resorts to the inevitably ultimate hack -- modifying the RPi MagJack.
Instead of removing the MagJack, a less involving (though less elegant) approach was to cut open the MagJack from the top (I used a soldering iron to cut the plastic, shame on me) and cut two unused connector (either two pins of 4, 5, 7, 8) traces from the MagJack circuit.
Afterwards, pin headers were soldered on those connectors.
As the resistance of a long cable can be significant, it is a common practice to power the device with a 12 or higher voltage and regulate to 5V using a DC-DC step-down converter. Instead of building one, I scavenged an unused car USB charger.
Functional test. The output voltage of the car charger reads 4.874V, which may be a bit low for a nominal supply (5V) of RPi B+ and iC880A. But the devices are plugged to it and are functional.
Next, a 3-way RJ45 splitter was modified for our custom PoE by removing the unneeded pins from the corresponding connectors. The connector with two pins is for the 12V power supply.
After putting everything together, "the gateway" looks like a gateway.
Finally, our DIY gateway is ready for the "experimental" deployment in Ulaanbaatar.