OpenthreadDotnet - это библиотека .NET, предназначенная для работы с сетью потоков. Для разработки приложений 6lowpan вам понадобится радиомодуль, работающий в качестве соавтора сети Openthread (NCP). Более подробная информация доступна на веб-странице https://openthread.io/platforms/co-processor
В настоящее время библиотека работает на сетевой платформе и сокращена версии .NET CLR, NanOframeWork (https://nanoframework.net/) и Tinyclr (https://www.ghielectronics.com/tinyclr/features/).
Конечное устройство можно использовать на любом модуле с поддерживаемых платформ https://openthread.io/platforms с прошивкой NCP. Библиотека, протестированная на плате TI CC2652, http://www.ti.com/tool/launchxl-cc26x2r1 и nrf52840 на основе модулей http://www.skylabmodule.com/skylab-125k-ram-dustray-crade-low-erergy-multiprotocol-5-0-ant-bluetooth-module/
Проект OpenthReadDotnet - это реализация протокола Spinel и API высокого уровня для управления сетью потоков.
LowPancmd Project - это консольное приложение для управления сетями потоков. Подобно применению Pyspinel.
SamplesNetCore , SamplesNanOframeWork и SamplestinyClr являются основными примерами того, как использовать библиотеку OpentHreadDotnet .
С библиотекой OpenthReadDotnet можно сканировать на ближайшие беспроводные сети, присоединиться к беспроводным сетям и сформировать новую беспроводную сеть сетки.
Сформируйте новую беспроводную сеть и UDP -сервер, нам нужно всего 6 строк кода.
StreamUART uartStream = new StreamUART ( "COMxx" ) ;
ncpInterface = new NcpInterface ( ) ;
ncpInterface . Open ( uartStream ) ;
ncpInterface . Form ( "Networkname" , 11 , "00112233445566778899AABBCCDDEEFF" , 1234 ) ;
UdpSocket receiver = new UdpSocket ( ) ;
receiver . Bind ( IPv6Address . IPv6Any , 1000 ) ;
IPv6EndPoint remoteIp = null ;
while ( true )
{
if ( receiver . Poll ( - 1 , SelectMode . SelectRead ) )
{
byte [ ] data = receiver . Receive ( ref remoteIp ) ;
string message = Encoding . ASCII . GetString ( data ) ;
Console . WriteLine ( " n " ) ;
Console . WriteLine ( "{0} bytes from {1} {2} {3}" , message . Length , remoteIp . Address , remoteIp . Port , message ) ;
}
}