{"id":25164276,"url":"https://github.com/chon-group/serialportemulator","last_synced_at":"2026-04-07T20:02:38.781Z","repository":{"id":60137912,"uuid":"541222015","full_name":"chon-group/SerialPortEmulator","owner":"chon-group","description":"A Linux kernel module for serial device emulation","archived":false,"fork":false,"pushed_at":"2026-02-12T21:53:59.000Z","size":241,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-13T06:24:25.190Z","etag":null,"topics":["emulator","kernel","serial","serial-communication","serial-port"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chon-group.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-09-25T15:46:19.000Z","updated_at":"2026-02-12T21:54:04.000Z","dependencies_parsed_at":"2023-12-05T01:43:35.346Z","dependency_job_id":"6ca52334-ba96-4a26-b3ba-80fc8f191547","html_url":"https://github.com/chon-group/SerialPortEmulator","commit_stats":null,"previous_names":["bptfreitas/serialportemulator","chon-group/serialportemulator"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/chon-group/SerialPortEmulator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chon-group%2FSerialPortEmulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chon-group%2FSerialPortEmulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chon-group%2FSerialPortEmulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chon-group%2FSerialPortEmulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chon-group","download_url":"https://codeload.github.com/chon-group/SerialPortEmulator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chon-group%2FSerialPortEmulator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31526666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["emulator","kernel","serial","serial-communication","serial-port"],"created_at":"2025-02-09T04:29:48.496Z","updated_at":"2026-04-07T20:02:38.774Z","avatar_url":"https://github.com/chon-group.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SerialPortEmulator\n\n|![](.imgs/cover.png)|\n|:-:|\n|This is a serial port emulator. This is done by creating pairs of ports on ___/dev/___ where writing data on one port can be read on the pair and vice-versa.|\n\n\n## Installation\n\n1) Install the dependencies. On your Debian-like Linux machine, run:\n\n```\nsudo apt update\nsudo apt install linux-headers-`uname -r` gcc binutils make git\n```\n\n2) Inside the driver folder, run:\n\n```\nsudo git -C /opt clone https://github.com/chon-group/SerialPortEmulator.git\ncd /opt/SerialPortEmulator/driver\nsudo make clean all\nsudo make modules_install\nsudo make install\n```\n\n3) Set read and write permissions on the pairs of devices to be used\n\nExample: for the EmulatedPort 0 device:\n\n```\nsudo chmod 777 /dev/ttyEmulatedPort0\nsudo chmod 777 /dev/ttyExogenous0\n```\n\n## Uninstallation\n\nInside the 'driver' folder, run: \n\n```\ncd /opt/SerialPortEmulator/driver\nsudo make uninstall\ncd ~\nsudo rm -rf /opt/SerialPortEmulator\n```\n\n## Use \n\nAfter the installation, by default, it will be instantiated on /dev many pairs of devices:\n\n- /dev/ttyEmulatedPort0 \u003c---\u003e /dev/ttyExogenous0\n- /dev/ttyEmulatedPort1 \u003c---\u003e /dev/ttyExogenous1\n...\n\nAnd so on. Writing on one device will make its content ready to be read on the other pair, and vice-versa.\n\nYou MUST at least open the other pair port to start sending data to it.\n\n## Example\nIn a terminal window, execute the command below to put the emulated port waiting for incoming data\n\nOpen another terminal window and run the below command. On the first terminal Window. It should appear the message.\n\n![](.imgs/running.png)\n\n## Copyright\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003eIt is licensed under a \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003eCreative Commons Attribution 4.0 International License\u003c/a\u003e. The licensor cannot revoke these freedoms as long as you follow the license terms:\n\n* __Attribution__ — You must give __appropriate credit__ like below:\n\nFREITAS, Bruno Policarpo Toledo; LAZARIN, Nilson Mori; PANTOJA, Carlos Eduardo. A Proposal for a Serial Port Emulator for Embedded Multi-Agent Systems. In: WORKSHOP-SCHOOL ON AGENTS, ENVIRONMENTS, AND APPLICATIONS (WESAAC), 17. , 2023, Pelotas/RS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 55-66. ISSN 2326-5434. DOI: https://doi.org/10.5753/wesaac.2023.33437. \n\n\u003cdetails\u003e\n\u003csummary\u003e Cite using Bibtex \u003c/summary\u003e\n\n\n```\n@inproceedings{wesaac,\n author = {Bruno Freitas and Nilson Lazarin and Carlos Pantoja},\n title = {{A Proposal for a Serial Port Emulator for Embedded Multi-Agent Systems}},\n booktitle = {Proceedings of the 17th Workshop-School on Agents, Environments, and Applications},\n location = {Pelotas/RS},\n year = {2023},\n issn = {2326-5434},\n pages = {55--66},\n publisher = {SBC},\n address = {Porto Alegre, RS, Brasil},\n doi = {10.5753/wesaac.2023.33437},\n url = {https://sol.sbc.org.br/index.php/wesaac/article/view/33437}\n}\n```\n\u003c/details\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchon-group%2Fserialportemulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchon-group%2Fserialportemulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchon-group%2Fserialportemulator/lists"}