Openthreaddotnet ist eine .NET -Bibliothek, die mit dem Thread -Netzwerk arbeitet. Um 6Lowpan-Anwendungen zu entwickeln, benötigen Sie ein Funkmodul, das als Openenthrread Network Co-Processor (NCP) ausgeführt wird. Weitere Informationen finden Sie auf der Webseite https://openthread.io/platforms/co-processor
Derzeit arbeitet die Bibliothek auf der Net -Core -Plattform und reduzierte Versionen der .NET CLR, NanoFramework (https://nanoframework.net/) und Tinyclr (https://www.ghielectronics.com/tinyclr/features/) Plattformen.
Das Endgerät kann auf jedem Modul von unterstützten Plattformen https://openthread.io/platforms mit NCP -Firmware verwendet werden. Die Bibliothek wurde auf TI CC2652-basierten Board unter http://www.ti.com/tool/launchxl-cc26x2r1 und nrf52840-basierte Module getestet http://www.skylabmodule.com/skylab-125k-ram-industry-grade-low-energy-multiprotocol-5-0-ant-bluetooth-module/
OpenStHReadDotNet -Projekt ist .NET -Implementierung von Spinellprotokoll und API auf hoher Ebene, um das Thread -Netzwerk zu verwalten.
LowPancmd Project ist eine Konsolenanwendung, um Thread -Netzwerke zu verwalten. Ähnlich wie bei der Pyspinel -Anwendung.
Beispiele für die Verwendung der OpenThreaddotnet -Bibliothek sind grundlegende Beispiele für die Verwendung der OpenThreaddotnet -Bibliothek.
Mit der OpenthreaddotNet -Bibliothek kann nach nahe gelegenen drahtlosen Netzwerken gescannt werden, sich den drahtlosen Netzwerken anschließen und ein neues drahtloses Netznetz bilden.
Bilden Sie einen neuen Thread -drahtlosen Netzwerk und einen UDP -Server. Wir benötigen nur 6 Codezeilen.
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 ) ;
}
}