emonTx and emonBase Radio Link

Welcome, Philip, to the OEM forum.

From what you write, an emonTx and a Raspberry Pi (not the full emonBase, which is essentially an emonPi with the radio receiver) is all you need.

If there’s nothing to receive the data, you don’t need to disable the emonTx’s transmitter, but if you do, it can be turned off in software after you’ve established the serial connection and have emonCMS running on your RPi.

Details of the serial connection to your Raspberry Pi are here:
Best pictures: EmonTX to Rpi - Direct Serial Connection - #38 by borpin
Wiring diagram: 4 CT emonBase using emonTx and Pi Zero W - #17 by pb66

Serial Wired connection to PiZeroW: Avoiding wireless connections - EmonTX serial RPiZero solution - #119 by haffle or PDF Doc: https://community.openenergymonitor.org/uploads/short-url/b5MaNnyfwWswBldi6CHAprrX4JY.pdf

Shield Signal Raspberry Pi
Name Pin Pin Name
GND 1 GND 6 GND
5 V 3 Power 2 5 V
“Tx” 4 ←data 8 Tx
“Rx” 5 data→ 10 Rx
RST 6 Reset 7 GPIO 4

Note: The Shield V2.4 and emonTx V3.4 send on the “Rx” pin and receive on the “Tx” pin. The emonTx V3.2 and heatpump board are labelled correctly.
The pin numbers (counting GND = 1) will always be correct.

For one-way data, with no programming from the Pi, only GND, 5 V & Data→ are required.

Wiki:
EmonTx V3.4 - Wiki | OpenEnergyMonitor (includes link to ESP changes for emonHub at emonhub/conf/interfacer_examples/directserial-serialtx3e at emon-pi · openenergymonitor/emonhub · GitHub)
Ordinary EmonHub plain serial interfacer: emonhub/conf/interfacer_examples/directserial at emon-pi · openenergymonitor/emonhub · GitHub

Serial Interfacer for direct connection:
The NodeID is by default 0. If you want to change this you need to add the nodeoffset option such that

[[SerialTx]]
     Type = EmonHubTx3eInterfacer
      [[[init_settings]]]
           com_port= /dev/ttyAMA0
           com_baud = 115200
      [[[runtimesettings]]]
           pubchannels = ToEmonCMS,

           nodeoffset = 1

Note the comma at the end of the pubchannels line and the blank line. As the data comes in as name:value pairs, there is no need for a node definition to decode the data, so for the nodeoffset, choose an unused number (0-4) or if you want to use a NodeID for which there already is a node definition, delete that node definition.

Note also a very big problem that continues to confuse everyone: Tx and Rx are swapped on the emonTx pcb, so as I’ve written so many times here, the emonTx is sending data on the pin labelled “Rx”, and it’s looking for data coming in on the pin labelled “Tx”. That’s contrary to convention (unless the emonTx is a modem!) This applies to all except the EmonTx V3.2 and the Heatpump board
prog_pins

I’ve no doubt all this will confuse you, so don’t hesitate to come back with questions.