Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mictronics/ais-simulator
Create and transmit AIS frames via gnuradio toolchain and web application in browser. Provides a websocket to PDU message block to change frame content on runtime. Works in burst mode, a frame is send on change immediately, one time. Transmitter remains silent until next change event.
https://github.com/mictronics/ais-simulator
ais ais-simulator gnuradio transmitter websocket
Last synced: 3 months ago
JSON representation
Create and transmit AIS frames via gnuradio toolchain and web application in browser. Provides a websocket to PDU message block to change frame content on runtime. Works in burst mode, a frame is send on change immediately, one time. Transmitter remains silent until next change event.
- Host: GitHub
- URL: https://github.com/mictronics/ais-simulator
- Owner: Mictronics
- License: other
- Created: 2020-08-16T19:12:52.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-18T15:27:30.000Z (10 months ago)
- Last Synced: 2024-04-18T17:20:35.129Z (10 months ago)
- Topics: ais, ais-simulator, gnuradio, transmitter, websocket
- Language: Python
- Homepage:
- Size: 595 KB
- Stars: 27
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# AIS Simulator
An AIS simulator based on AIS BlackToolkit from [Trendmicro](https://github.com/trendmicro/ais).
This code provides three GNURadio blocks. Two for AIS frame generation from a given bit string and
a websocket server to PDU message converter.The web application let you select and compose various AIS message and performs conversion to the required bit string that is then send via websocket connection to the GNURadio backend.
Tested in the following environment:
- GnuRadio 3.10.1.1
- gr-osmosdr 0.2.0
- Ubuntu 22.04 jammy
- Python 3.10.12
- GNU C++ version 11.4; Boost 1.74.
- HackRF One (2018.01.1)## Building
### Dependencies
You need to install the following build dependencies first:
```
sudo apt-get install -y \
cmake \
autoconf \
libtool \
pkg-config \
build-essential \
python-docutils \
libcppunit-dev \
swig \
doxygen \
python-scipy \
python-gtk2 \
gnuradio-dev \
gr-osmosdr \
libosmocore-dev
```Debian 11 bullseye:
```
sudo apt-get install -y \
cmake \
autoconf \
libtool \
pkg-config \
build-essential \
python3-docutils \
libcppunit-dev \
swig \
doxygen \
python3-scipy \
gnuradio-dev \
gr-osmosdr \
libosmocore-dev
```### Build & Installation
See [README](gr-ais_simulator/README.md) on how to build and install the custom GnuRadio block.
Note: gr-ais_simulator blocks need to rebuild and installed after GnuRadio toolchain update.
## How to run
1. Start AIS simulator `$ python3 -u ais-simulator.py`
2. Open ./webapp/ais-simulator.html in browser.
3. Select AIS message type, modify parameters and send message...Tested against [rtl_ais](https://github.com/dgiardini/rtl-ais), Comar Systems CSA300
and Saab R5A class A AIS transponder via over the air transmission.#### License
Copyright 2020-2024, Mictronics
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or any later version.