{"id":21002664,"url":"https://github.com/mictronics/ais-simulator","last_synced_at":"2025-07-04T01:35:19.718Z","repository":{"id":50377567,"uuid":"288008441","full_name":"Mictronics/ais-simulator","owner":"Mictronics","description":"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.","archived":false,"fork":false,"pushed_at":"2024-04-18T15:27:30.000Z","size":609,"stargazers_count":27,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-18T17:20:35.129Z","etag":null,"topics":["ais","ais-simulator","gnuradio","transmitter","websocket"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mictronics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-08-16T19:12:52.000Z","updated_at":"2024-03-07T00:11:41.000Z","dependencies_parsed_at":"2024-04-18T16:58:37.062Z","dependency_job_id":null,"html_url":"https://github.com/Mictronics/ais-simulator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mictronics%2Fais-simulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mictronics%2Fais-simulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mictronics%2Fais-simulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mictronics%2Fais-simulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mictronics","download_url":"https://codeload.github.com/Mictronics/ais-simulator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225316949,"owners_count":17455347,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ais","ais-simulator","gnuradio","transmitter","websocket"],"created_at":"2024-11-19T08:19:31.976Z","updated_at":"2024-11-19T08:19:34.070Z","avatar_url":"https://github.com/Mictronics.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AIS Simulator\n\nAn AIS simulator based on AIS BlackToolkit from [Trendmicro](https://github.com/trendmicro/ais).\n\nThis code provides three GNURadio blocks. Two for AIS frame generation from a given bit string and\na websocket server to PDU message converter.\n\nThe 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.\n\nTested in the following environment:\n\n- GnuRadio 3.10.1.1\n- gr-osmosdr 0.2.0\n- Ubuntu 22.04 jammy\n- Python 3.10.12\n- GNU C++ version 11.4; Boost 1.74.\n- HackRF One (2018.01.1)\n\n## Building\n\n### Dependencies\n\nYou need to install the following build dependencies first:\n\n```\nsudo apt-get install -y \\\n    cmake \\\n    autoconf \\\n    libtool \\\n    pkg-config \\\n    build-essential \\\n    python-docutils \\\n    libcppunit-dev \\\n    swig \\\n    doxygen \\\n    python-scipy \\\n    python-gtk2 \\\n    gnuradio-dev \\\n    gr-osmosdr \\\n    libosmocore-dev\n```\n\nDebian 11 bullseye:\n\n```\nsudo apt-get install -y \\\n    cmake \\\n    autoconf \\\n    libtool \\\n    pkg-config \\\n    build-essential \\\n    python3-docutils \\\n    libcppunit-dev \\\n    swig \\\n    doxygen \\\n    python3-scipy \\\n    gnuradio-dev \\\n    gr-osmosdr \\\n    libosmocore-dev\n```\n\n### Build \u0026 Installation\n\nSee [README](gr-ais_simulator/README.md) on how to build and install the custom GnuRadio block.\n\nNote: gr-ais_simulator blocks need to rebuild and installed after GnuRadio toolchain update.\n\n## How to run\n\n1. Start AIS simulator `$ python3 -u ais-simulator.py`\n2. Open ./webapp/ais-simulator.html in browser.\n3. Select AIS message type, modify parameters and send message...\n\nTested against [rtl_ais](https://github.com/dgiardini/rtl-ais), Comar Systems CSA300\nand Saab R5A class A AIS transponder via over the air transmission.\n\n#### License\n\nCopyright 2020-2024, Mictronics\n\nThis program is free software; you can redistribute it and/or\nmodify it under the terms of the GNU General Public License\nas published by the Free Software Foundation; either version 3\nof the License, or any later version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmictronics%2Fais-simulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmictronics%2Fais-simulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmictronics%2Fais-simulator/lists"}