Ais.Net.Receiver | NET Core AIS Receiver for capturing the Norwegian Coastal
kandi X-RAY | Ais.Net.Receiver Summary
kandi X-RAY | Ais.Net.Receiver Summary
Ais.Net.Receiver is a C# library. Ais.Net.Receiver has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.
A simple .NET 5.0 AIS Receiver for capturing the Norwegian Coastal Administration's marine Automatic Identification System (AIS) AIVDM/AIVDO NMEA message network data (available under Norwegian license for public data (NLOD)) and persisting in Microsoft Azure Blob Storage. The Norwegian Costal Administration provide a TCP endpoint (153.44.253.27:5631) for broadcasting their raw AIS AIVDM/AIVDO sentences, captured by over 50 base stations, and covers the area 40-60 nautical miles from the Norwegian coastline. This project contains a NmeaReceiver which consumes the raw NetworkStream, a NmeaToAisMessageTypeProcessor, which can decode the raw sentences into IAisMessage, and ReceiverHost which manages the process and exposes an IObservable for raw sentences and an IObservable for decoded messages. ReceiverHost can be hosted in a console application or other runtime environments like .NET Interactive. The project also includes a demo console which shows how the various pieces can fit together, including subscribing to the IObservable and IObservable streams and displaying the results or batch the AIVDM/AIVDO sentences and write them to Azure Blob Storage using the Append Blob feature, to create timestamped hour-long rolling logs. The purpose of this application is to provide sample data for Ais.Net - the .NET Standard, high performance, zero allocation AIS decoder. The majority of raw AIS data is only available via commercial sources, and thus creating AIS datasets large enough to test / benchmark Ais.Net is almost impossible.
A simple .NET 5.0 AIS Receiver for capturing the Norwegian Coastal Administration's marine Automatic Identification System (AIS) AIVDM/AIVDO NMEA message network data (available under Norwegian license for public data (NLOD)) and persisting in Microsoft Azure Blob Storage. The Norwegian Costal Administration provide a TCP endpoint (153.44.253.27:5631) for broadcasting their raw AIS AIVDM/AIVDO sentences, captured by over 50 base stations, and covers the area 40-60 nautical miles from the Norwegian coastline. This project contains a NmeaReceiver which consumes the raw NetworkStream, a NmeaToAisMessageTypeProcessor, which can decode the raw sentences into IAisMessage, and ReceiverHost which manages the process and exposes an IObservable for raw sentences and an IObservable for decoded messages. ReceiverHost can be hosted in a console application or other runtime environments like .NET Interactive. The project also includes a demo console which shows how the various pieces can fit together, including subscribing to the IObservable and IObservable streams and displaying the results or batch the AIVDM/AIVDO sentences and write them to Azure Blob Storage using the Append Blob feature, to create timestamped hour-long rolling logs. The purpose of this application is to provide sample data for Ais.Net - the .NET Standard, high performance, zero allocation AIS decoder. The majority of raw AIS data is only available via commercial sources, and thus creating AIS datasets large enough to test / benchmark Ais.Net is almost impossible.
Support
Quality
Security
License
Reuse
Support
Ais.Net.Receiver has a low active ecosystem.
It has 11 star(s) with 11 fork(s). There are 10 watchers for this library.
It had no major release in the last 12 months.
There are 14 open issues and 2 have been closed. On average issues are closed in 7 days. There are 4 open pull requests and 0 closed requests.
It has a neutral sentiment in the developer community.
The latest version of Ais.Net.Receiver is 0.2.0
Quality
Ais.Net.Receiver has 0 bugs and 0 code smells.
Security
Ais.Net.Receiver has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
Ais.Net.Receiver code analysis shows 0 unresolved vulnerabilities.
There are 0 security hotspots that need review.
License
Ais.Net.Receiver is licensed under the Apache-2.0 License. This license is Permissive.
Permissive licenses have the least restrictions, and you can use them in most projects.
Reuse
Ais.Net.Receiver releases are available to install and integrate.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Ais.Net.Receiver
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Ais.Net.Receiver
Ais.Net.Receiver Key Features
No Key Features are available at this moment for Ais.Net.Receiver.
Ais.Net.Receiver Examples and Code Snippets
No Code Snippets are available at this moment for Ais.Net.Receiver.
Community Discussions
No Community Discussions are available at this moment for Ais.Net.Receiver.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install Ais.Net.Receiver
The combination of Windows Terminal, .NET and PowerShell make a Raspberry Pi a very productive environment for .NET Devs. Install Windows Terminal. You can download Windows Terminal from the Microsoft Store or from the GitHub releases page. Open Windows Terminal and use ssh pi@<Raspberry PI IP Address> to connect to your Pi.
Use the following commands to install .NET 6.0 on your Pi.
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel Current
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
source ~/.bashrc
dotnet --version
Use the following commands to install PowerShell on your Pi. use the command pwsh to enter the PowerShell session.
Download the latest package wget https://github.com/PowerShell/PowerShell/releases/download/v7.2.1/powershell-7.2.1-linux-arm32.tar.gz
Create a directory for it to be unpacked into mkdir ~/powershell
Unpack tar -xvf ./powershell-7.2.1-linux-arm32.tar.gz -C ~/powershell
Give it executable rights sudo chmod +x /opt/microsoft/powershell/7/pwsh
Create a symbolic link sudo ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
You can use journalctl -u "aisr" to view the console output of Ais.Net.Recevier.Host.Console.dll. You can use sudo systemctl restart aisr to restart the service. If you need to look at / edit the deployed aisr.service use sudo nano /lib/systemd/system/aisr.service make your edits then use Ctrl+O and Ctrl+X to save the file and exit. Use Azure Storage Explorer to browse to where files are captured.
From the solution root, open a command prompt and type dotnet publish -c Release .\Solutions\Ais.Net.Receiver.sln
Add your Azure Blob Storage Account connection string to settings.json
Transfer (I use Beyond Compare as it has native SSH support) the contents of .\Solutions\Ais.Net.Receiver.Host.Console\bin\Release\net5.0\publish to a folder called aisr in the home/pi directory on your Raspberry Pi (assuming you still have the default set up.)
Copy Solutions\Ais.Net.Receiver.Host.Console.RaspberryPi\aisr.service to /lib/systemd/system/aisr.service
run sudo chmod 644 /lib/systemd/system/aisr.service
run sudo systemctl enable aisr.service
run sudo reboot
Use the following commands to install .NET 6.0 on your Pi.
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel Current
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
source ~/.bashrc
dotnet --version
Use the following commands to install PowerShell on your Pi. use the command pwsh to enter the PowerShell session.
Download the latest package wget https://github.com/PowerShell/PowerShell/releases/download/v7.2.1/powershell-7.2.1-linux-arm32.tar.gz
Create a directory for it to be unpacked into mkdir ~/powershell
Unpack tar -xvf ./powershell-7.2.1-linux-arm32.tar.gz -C ~/powershell
Give it executable rights sudo chmod +x /opt/microsoft/powershell/7/pwsh
Create a symbolic link sudo ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh
You can use journalctl -u "aisr" to view the console output of Ais.Net.Recevier.Host.Console.dll. You can use sudo systemctl restart aisr to restart the service. If you need to look at / edit the deployed aisr.service use sudo nano /lib/systemd/system/aisr.service make your edits then use Ctrl+O and Ctrl+X to save the file and exit. Use Azure Storage Explorer to browse to where files are captured.
From the solution root, open a command prompt and type dotnet publish -c Release .\Solutions\Ais.Net.Receiver.sln
Add your Azure Blob Storage Account connection string to settings.json
Transfer (I use Beyond Compare as it has native SSH support) the contents of .\Solutions\Ais.Net.Receiver.Host.Console\bin\Release\net5.0\publish to a folder called aisr in the home/pi directory on your Raspberry Pi (assuming you still have the default set up.)
Copy Solutions\Ais.Net.Receiver.Host.Console.RaspberryPi\aisr.service to /lib/systemd/system/aisr.service
run sudo chmod 644 /lib/systemd/system/aisr.service
run sudo systemctl enable aisr.service
run sudo reboot
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page