Giter Site home page Giter Site logo

mictronics / ais-simulator Goto Github PK

View Code? Open in Web Editor NEW
31.0 2.0 6.0 609 KB

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.

License: Other

Python 73.66% CMake 3.64% C 0.43% C++ 7.30% HTML 4.84% TypeScript 9.26% CSS 0.67% Batchfile 0.11% Shell 0.09%
ais-simulator gnuradio ais websocket transmitter

ais-simulator's People

Contributors

bkerler avatar mictronics avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ais-simulator's Issues

Segmentation Fault

I have a Segmentation fault every time I try to send a message. The web app runs well, and I get a "Message sent" message upon sending.

Output :
axel@debian:~/Documents/AIS/ais-simulator$ python3 ais-simulator.py
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.2.0
built-in sink types: uhd hackrf bladerf soapy redpitaya freesrp file
[INFO] [UHD] linux; GNU C++ version 10.2.1 20201207; Boost_107400; UHD_3.15.0.0-4+b1
Using HackRF One with firmware 2018.01.1
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSegmentation fault

System:

  • Debian 11
  • Gnuradio 3.8.2.0-14
  • python 3.9.2
  • gr-ais_simulator blocks installed using ../cmake ; make ; sudo make install

PDU message length incorrect between blocks

PDU message length sent by websocket block not equal (shorter) to what is received in bitstream block. It seems there is a problem in the PDU message code (in GnuRadio). Reproducible with large number of messages (type 5) being send.
Seems we need to tell the bitstream block what length is expected and not rely on what is received.

Stack smashing detected

Stack gets smashed when many messages are send. Depends on message size, happens faster with long messages, like type 5.

AIS payload 168 bit or 256 bit - NRZI string

Hi,
The Variable ID sentence in the grc file holds 168 bit payload but AIS specifications says it to be 256 bits.
My Questions for better understanding are following, might be everything is already there but i am not getting it.

  1. Does 168 bits contains encoded payload only or AVDM also encoded in these bits? if not then where AVDM is encoded?
  2. Where is the NRZI generator? since GMSK modulator for AIS requires bipolar (-1 , 1) NRZI values ?

Thanks

Simulator of the 27th type of messages

Hi! When modeling a type 27 message, the decoder determines that the message is of type 1. Also, some fields are spoiling.

static encodeMsgType27(mmsi, status, speed, course, lat, lon) {
const header = this.getMsgHeader(1, mmsi, 3);

Solution:

static encodeMsgType27(mmsi, status, speed, course, lat, lon) {
            const header = this.getMsgHeader(27, mmsi, 3);

Problems ,when trying to install it on linux gentoo , custom blocks for GnuRadio 3.10.4.0 (from AIS Simulator).

Hi, I am very interesting to install that AIS-SIMULATOR,

I am running pentoo distro , (gentoo linux including a vaste of excellent packages )

  • Currently my main related installation is the following one :
  • python --version ==> Python 3.10.8
  • kernel version , ==> linux-6.0.9-pentoo
  • GNU Radio Companion ==> ,3.10.4.0 (Python 3.10.8)

Trying to install your specific AISTX blocks i tried to follow your instructions , changing python 3.8 -> 3.10, and almost all worked well
except that part :

CMake Error at swig/CMakeLists.txt:37 (include):
include could not find requested file:

GrSwig

CMake Error at swig/CMakeLists.txt:51 (GR_SWIG_MAKE):
Unknown CMake command "GR_SWIG_MAKE".

Just in case, let me share below , the full command and display echo ,

Any help or clue would be appreciated !
thanks in advance ,
Cheers,

.----------------------------------------------

pentoo@pentoo ~/Documents/ais-simulator-master/gr-ais_simulator/build $ cmake ../ -Wno-dev -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.10 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.10 -DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.10.so

-- The CXX compiler identification is GNU 11.3.0
-- The C compiler identification is GNU 11.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type not specified: defaulting to release.
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0")
-- Checking for module 'gmp'
-- Found gmp, version 6.2.1
-- Found GMP: /usr/lib64/libgmpxx.so
-- Using GMP.
-- Found MPLIB: /usr/lib64/libgmpxx.so
-- Found Boost: /usr/lib64/cmake/Boost-1.80.0/BoostConfig.cmake (found suitable version "1.80.0", minimum required is "1.79.0") found components: date_time program_options system regex thread
-- Found Volk: Volk::volk
-- User set python executable /usr/bin/python3.10
-- Found PythonInterp: /usr/bin/python3.10 (found version "3.10.8")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.10.so (found suitable exact version "3.10.8")
-- Found Git: /usr/bin/git
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.5") found components: doxygen dot
-- Using install prefix: /usr/local
-- Building for version: v1.0-compat-xxx-xunknown / 1.0.0git
-- No C++ unit tests... skipping
-- Found SWIG: /usr/bin/swig (found version "4.0.2")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.10.so (found version "3.10.8")

CMake Error at swig/CMakeLists.txt:37 (include):
include could not find requested file:
GrSwig

CMake Error at swig/CMakeLists.txt:51 (GR_SWIG_MAKE):
Unknown CMake command "GR_SWIG_MAKE".

-- Configuring incomplete, errors occurred!
See also "/home/pentoo/Documents/ais-simulator-master/gr-ais_simulator/build/CMakeFiles/CMakeOutput.log".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.