{"id":13800050,"url":"https://github.com/Misterblue/ros2_raspicam_node","last_synced_at":"2025-05-13T08:32:35.660Z","repository":{"id":53863758,"uuid":"152009768","full_name":"Misterblue/ros2_raspicam_node","owner":"Misterblue","description":"ROS2 node for Raspberry Pi camera","archived":true,"fork":false,"pushed_at":"2019-04-06T14:37:39.000Z","size":30,"stargazers_count":10,"open_issues_count":2,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-18T15:01:39.572Z","etag":null,"topics":["raspberry-pi","raspberry-pi-3","ros2"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Misterblue.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}},"created_at":"2018-10-08T02:51:04.000Z","updated_at":"2024-03-19T11:59:07.000Z","dependencies_parsed_at":"2022-08-28T03:13:03.446Z","dependency_job_id":null,"html_url":"https://github.com/Misterblue/ros2_raspicam_node","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/Misterblue%2Fros2_raspicam_node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Misterblue%2Fros2_raspicam_node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Misterblue%2Fros2_raspicam_node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Misterblue%2Fros2_raspicam_node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Misterblue","download_url":"https://codeload.github.com/Misterblue/ros2_raspicam_node/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253903939,"owners_count":21981774,"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":["raspberry-pi","raspberry-pi-3","ros2"],"created_at":"2024-08-04T00:01:08.732Z","updated_at":"2025-05-13T08:32:35.444Z","avatar_url":"https://github.com/Misterblue.png","language":"Python","funding_links":[],"categories":["Packages"],"sub_categories":["Driver layer"],"readme":"# ros2-raspicam_node\n\nA Python ROS2 node for generating images from the Raspberry Pi camera. This uses the wonderful [PiCamera] to drive the camera while this node pacakage takes the JPEG images and sends them out over a ROS2 topic.\n\n| Topic                         | Message Format                   | Data                                                       |\n| ----------------------------- | -------------------------------- | ---------------------------------------------------------- |\n| /raspicam/raspicam_compressed | sensor_msgs.msg.CompressedImage_ | data: image\u003cbr\u003eformat: \"jpeg\"\u003cbr\u003eheader.frame_id: frameNum |\n\nSince this project is being worked on, it does not output a raw image, output camera info, or accept parameters. That will happen in a later step.\n\nInternally, this starts two threads one of which captures an image from the camera which it puts into a FIFO queue while the other thread reads from the queue and publishes the image to the topic.\n\n### Building\n\nThe node is built using ROS2 on Raspbian. I have built the latest ROS2 sources on the Raspberry Pi 3 using a script at [ROS2OnPiTools] that fetches and builds the latest ROS2 on Raspbian. Once ROS2 is available, presuming we're accessing the console on the Pi, the build instructions are:\n\n```\nsource /opt/ros2/setup.bash    # set ROS2 paths into environment variables\ncd\ngit clone https://github.com/Misterblue/ros2_raspicam_node.git\ncd ros2_raspicam_node\ncolcon build --symlink-install\n```\n\nSince the code is only Python (none of that C++ stuff), this relies on some Adafruit supplied libraries to talk to the camera:\n\n```\ncd\nsudo apt-get install python3-picamera\n```\n\nAlso, be sure to enable the camera using the Raspberry Pi configuration program.\n\n### Running\n\nThe above build instructions build this package in its own directory so running requires setting up the environment for both ROS2 and this package:\n\n```\nsource /opt/ros2/setup.bash        # set ROS2 paths into environment variables\ncd $HOME/ros2_raspicam_node\nsource install/local-setup.bash    # set local package links into environment variables\nros2 run ros2_raspicam_node service\n```\n\n### Notes\n\nThis program uses parameters to set the camera statistics but, as of November 1,2018, this requires\nbuilding from the latest ROS2 sources as the 'bouncy' release didn't yet have parameters for\nPython programs. Hopefully that will be all fixed in the December 2018 release.\n\n[PiCamera]: https://picamera.readthedocs.io/en/release-1.13/\n\n[ROS2OnPiTools]: https://github.com/Misterblue/ROS2OnPiTools\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMisterblue%2Fros2_raspicam_node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMisterblue%2Fros2_raspicam_node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMisterblue%2Fros2_raspicam_node/lists"}