Difference between revisions of "NRF52840 Thread NCP"

From HiveTool
Jump to: navigation, search
Line 1: Line 1:
 
Pi Border Router with nRF52840 thread NCP
 
Pi Border Router with nRF52840 thread NCP
 +
 +
This is an attempt at turning the Pi into a thread border router using the nRF52840 dongle as the Network Co Processor (NCP).
 +
 +
The nRF52840 dongle must be programmed with the NCP application.  One was is to use the nRF Connect program.
  
 
https://electronut.in/nrf52840-thread/
 
https://electronut.in/nrf52840-thread/

Revision as of 04:31, 15 January 2019

Pi Border Router with nRF52840 thread NCP

This is an attempt at turning the Pi into a thread border router using the nRF52840 dongle as the Network Co Processor (NCP).

The nRF52840 dongle must be programmed with the NCP application. One was is to use the nRF Connect program.

https://electronut.in/nrf52840-thread/


https://groups.google.com/forum/#!topic/openthread-users/9TFIATWWrxw

https://www.nordicsemi.com/DocLib/Content/SDK_Doc/Thread_SDK/v2-0-0/index

Install Network Co Processor (NCP) code on nRF52

Download nRF Connect program.

./nrfconnect-2.6.1-x86_64.AppImage

Downloaded the nRF5 SDK for Thread and Zigbee 2.0.0

https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK-for-Thread-and-Zigbee/Download

Write the NCP hex file to the dongle.

Set up the border router on the Pi:

You need both border router and wpantund:

Install borderrouter code

https://openthread.io/guides/border-router/build

git clone https://github.com/openthread/borderrouter
cd borderrouter
./script/bootstrap
.configure --enable-debug  --enable-ncp --enable-ftd --enable-commissioner --enable-joiner --enable-border-agent --enable-border-router --enable-commissioner --enable-udp-forward
make
sudo make install

Install wpantund

git clone https://github.com/openthread/wpantund.git
cd wpantund
./bootstrap.sh
./configure --sysconfdir=/etc --enable-debug
make -j4  // -j4 (use 4 cores) may have locked it up
make
sudo make install
git clone https://github.com/openthread/openthread

./configure --enable-ncp --enable-ftd --enable-commissioner --enable-joiner --enable-border-agent --enable-border-router --enable-commissioner --enable-udp-forward


Check wpan status

sudo wpanctl status

Install radvd

Add interface wlan0

sudo vi /etc/radvd.conf
interface wlan0
{
   AdvSendAdvert on;
   prefix FD00:1122::/64
   {
       AdvOnLink off;
       AdvAutonomous on;
       AdvRouterAddr on;
   };
};

interface bt0
{
   AdvSendAdvert on;
   prefix 2001:db8::/64
   {
       AdvOnLink off;
       AdvAutonomous on;
       AdvRouterAddr on;
   };
};


sudo systemctl stop radvd

Add IPv6 routes

MUST ADD ROUTES ON ALL MACHINES!

route -6 add 2001:0002::/48 metric 1 dev eth0



Install libcoap

https://learn.pimoroni.com/tutorial/sandyj/controlling-ikea-tradfri-lights-from-your-pi

sudo apt-get install build-essential autoconf automake libtool
git clone --recursive https://github.com/obgm/libcoap.git
cd libcoap
git checkout dtls
git submodule update --init --recursive
./autogen.sh
./configure --disable-documentation --disable-shared
make
sudo make install