-
Notifications
You must be signed in to change notification settings - Fork 2
MeshCore
You should only enable the MeshCore bridge if you have an appropriate MeshCore device connected to the LAN interface on your Raven node.
Building an AREDN to MeshCore hardware bridge is, unfortunately, more involved than the Meshtastic bridge. By default, MeshCore does not provide any form of ethernet access. However, the official firmware (see https://github.com/meshcore-dev/MeshCore) does provide an option to receive and send packets via the serial port on a MeshCore node. This is what we will use to bridge to AREDN. (We are aware of pyMC_core as another alternative, but we want to use the official MeshCore firmware.)
These instructions use the WisBlock system; specifically the WisBlock Base (RAK19007) and the WisBlock Core (RAK4631) contains a pre-soldered RAK4630 (we specifically purchased this https://store.rokland.com/products/rak-wireless-wisblock-meshtastic-starter-kit which is sold for Meshtastic, but works fine for our purposes). This devices has a serial port available and is power and programmed over USB. We also use a Raspberry Pi to support bother remote programming and configuration support (via USB) of the MeshCore devices, as well as connecting to the serial port to send and receive MeshCore packets.

The picture above shows the Raspberry Pi (hidden under a PoE HAT) connected to the WisBlock boards via a USB cable and 3-wire ribbon serial cable. The PoE HAT allows powering and communicating with the board over a single ethernet cable.
... TODO ...
The MeshCore node must be configure. We use the Python tools to do this; see https://github.com/meshcore-dev/meshcore-cli. We will not go into detail on how to configure a MeshCore node; there are plenty of better places to learn about that.
After configuration we need to retrieve the node's public key which we will need later. You can do this with the following command:
meshcli -s /dev/ttyACM0 -r get public.key
To copy MeshCore packets between the MeshCore node and the local network, the Raspberry Pi must run a Bridge application. The current version is available here https://github.com/kn6plv/MeshCore2Net and is written in JavaScript to run on NodeJS.
The are various ways you might install NodeJS on the Raspberry Pi, but we want to use the official instruction here - https://github.com/nvm-sh/nvm#installing-and-updating
Please run these as root so NodeJS is installed in the correct location for the bridge service to find it.
Before installing and running the bridge make sure you have successfully install NodeJS following the instructions above. You will also need to have installed git.
Now, to install and run the bridge, follow these steps:
cd /root
git clone https://github.com/kn6plv/MeshCore2Net.git
cd MeshCore2Net
./install.sh
Assuming everything goes well, the bridge will now be running, and will run as a service even after a reboot.
To enable the MeshCore bridge, edit raven.conf.override (see Advanced Configuration for details) and add the following as a top-level JSON key:
"meshcore": {}
If the override file contains no other changes it would look like this:
{
"meshcore: {}
}
Restart Raven by typing /etc/init.d/raven restart.
Raven will now be configured to received MeshCore traffic from the MeshCore device connected to the node's LAN network, and will forward traffic to the same MeshCore device when necessary.