OpenReadDotNet é uma biblioteca .NET projetada para trabalhar com a rede de threads. Para desenvolver aplicativos 6LOWPAN, você precisará de um módulo de rádio em execução como co-processador de rede OpenRead (NCP). Mais informações estão disponíveis na página da web https://openthread.io/platforms/co-processor
Atualmente, a biblioteca funciona na plataforma principal da rede e nas versões reduzidas do .NET CLR, Nanoframework (https://nanoframework.net/) e tinyclr (https://www.ghielectronics.com/tinyclr/features/).
O dispositivo final pode ser usado em qualquer módulo de plataformas suportadas https://openthread.io/platforms com firmware NCP. A biblioteca testou na placa baseada em Ti CC2652 http://www.ti.com/tool/launchxl-cc26x2r1 e nrf52840 baseados em http://www.skylabmodule.com/skylab-125k-ram-industry-grade-low-energy-multiprotocol-5-0-ent-bluetooth-module/
O projeto OPPENTHREADDOTNET é a implementação do .NET do protocolo de espinélio e da API de alto nível para gerenciar a rede de threads.
O Projeto LowPancmd é um aplicativo de console para gerenciar redes de threads. Semelhante ao aplicativo Pyspinel.
SampleSNetCore , SamposNanoframework e Samplestinyclr são exemplos básicos sobre como usar a biblioteca OpEnthreadDotnet .
Com a biblioteca OpenReadDotnet, é possível digitalizar redes sem fio próximas, unir -se às redes sem fio e formar uma nova rede de malha sem fio.
Formulário de uma nova rede sem fio Thread e servidor UDP, precisamos de apenas 6 linhas de código.
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 ) ;
}
}