NRF52840 Thread NCP
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
Contents
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