NRF52840 Thread NCP

From HiveTool
Revision as of 03:16, 15 January 2019 by Paul (talk | contribs) (Set up the border router on the Pi:)
Jump to: navigation, search

Pi Border Router with nRF52840 thread NCP

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:

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


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

MUST ADD ROUTES ON ALL MACHINES!

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

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


Install libcoap

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