OpenthReadDotNet adalah perpustakaan .NET yang dirancang untuk bekerja dengan jaringan utas. Untuk mengembangkan aplikasi 6LowPan, Anda akan memerlukan modul radio yang berjalan sebagai co-prosesor jaringan Openthread (NCP). Informasi lebih lanjut tersedia di halaman web https://openthread.io/platforms/co-processor
Saat ini perpustakaan bekerja pada platform inti bersih dan berkurangnya versi .NET CLR, nanoframework (https://nanoframework.net/) dan platform tinyclr (https://www.ghielectronics.com/tinyclr/features/).
Perangkat akhir dapat digunakan pada modul apa pun dari platform yang didukung https://openthread.io/platforms dengan firmware NCP. Perpustakaan yang diuji pada papan berbasis Ti CC2652 http://www.ti.com/tool/launchxl-cc26x2r1 dan modul berbasis NRF52840 NRF52840 http://www.skylabmodule.com/skylab-125k-ram-industry-grade-low-energy-multiprotocol-5-0-ant-bluetooth-module/
Proyek OpenthReadDotNet adalah implementasi protokol spinel dan API tingkat tinggi untuk mengelola jaringan utas.
Proyek LowPancMD adalah aplikasi konsol untuk mengelola jaringan utas. Mirip dengan aplikasi Pyspinel.
SAMPLESNETCORE , SAMPLESNANOFramework dan SamplestinyClr adalah contoh dasar tentang cara menggunakan Pustaka OpenthreadDotnet .
Dengan OpenthReadDotNet Library dimungkinkan untuk memindai jaringan nirkabel terdekat, bergabunglah ke jaringan nirkabel dan membentuk jaringan mesh nirkabel baru.
Bentuk jaringan nirkabel utas baru dan server UDP kita hanya perlu 6 baris kode.
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 ) ;
}
}