Tool for ROS 2 IP Discovery + System Monitoring

Overview

rclshark​ 🐢 🦈

latest : v1.0.1

Monitor the status of computers on a network using the DDS function of ROS2.

開発者向けのツールで、リモートマシンへのSSHログインの際に必要なローカルIPアドレスを簡単に発見します。リモートマシンに対して拡張機能を追加し、CPU温度などのマシン内部の情報をログイン無しでモニタリングすることもできます。

rclsharkはセットアップされたデバイスに対してIPアドレス固定などのデバイスごとの面倒なセットアップ無しにIPアドレスの取得を行い、デバイスの状態を取得することができます。インストールも簡単で、組み込みコンピュータの新規開発のお供として役に立ちます。

rclshark_swim

Documents

Requirements

  • ROS2 foxy-core Installation
  • python3-colcon-common-extensions
  • build-essential

rclshark​ 🐢 🦈

rclshark is an IP address display system that takes advantage of the DDS publishing nature of the ros2 node to the local network, and can recognize any device with ROS2 installed. rclshark is also a service server, and has a function to report computer status using psutil.

See rclshark-smi for details.

Usage 1 : Run as ROS2 RUN

$ source /opt/ros/foxy/setup.bash
$ mkdir -p ~/ros2_ws/src
$ cd ~/ros2_ws/src
$ git clone --recursive https://github.com/Ar-Ray-code/rclshark.git
$ cd ~/ros2_ws/
$ colcon build --symlink-install
$ source ~/ros2_ws/install/local_setup.bash
$ ros2 run rclshark rclshark

Usage 2 : Back-end installation (systemd)

Installation (Startup Automatically)

In case of$ROS_DISTRO=foxy,

$ git clone https://github.com/Ar-Ray-code/rclshark.git
$ sudo bash rclshark/rclshark/install.bash foxy

If you want to enable rclshark immediately, run at CUI (= multi-user-target) $ sudo systemctl start rclshark.service.

uninstall

$ sudo bash ~/ros2_ws/src/rclshark/rclshark/install.bash uninstall

Usage 3 : Docker

$ docker pull ray255ar/rclshark:latest

RUN docker container

$ docker run -it --rm rclshark:local

Confirmation rclshark

Since rclshark is an application that uses the basic functions of ROS2, you can find it with the ros2 command.

## Confirmation rclshark 1
$ ros2 node list | grep ip_
> /ip_192.168.11.10_end
> /ip_192.168.11.22_end
## Confirmation rclshark 2
$ ros2 service list | grep endcb
> /ip_192.168.11.10_endcb
> /ip_192.168.11.22_endcb

Now you can safely forget your IP address. 😉

rclshark-smi​ 🐢 🦈

You can use rclshark to check the hardware status of multiple computers. You don't even need to bother opening htop. Good for you! 😊

IP addresses are sorted in ascending order and are dynamically added and removed. See Usage 2 for installing rclshark-smi. If you want to use only rclshark-smi, type sudo systemctl disable rclshark.service. to use only rclshark-smi.

rclshark-smi-docker

There are two ways to run.

Usage 1 : Run as ROS2 RUN

$ source /opt/ros/foxy/setup.bash
$ mkdir -p ~/ros2_ws/src
$ cd ~/ros2_ws/src
$ git clone --recursive https://github.com/Ar-Ray-code/rclshark.git
$ cd ~/ros2_ws/
$ colcon build --symlink-install
$ source ~/ros2_ws/install/local_setup.bash
$ ros2 run rclshark-smi rclshark_smi.py

Usage 2 : Run from /usr/local/bin/rclshark-smi

## Install
$ git clone https://github.com/Ar-Ray-code/rclshark.git
$ sudo bash rclshark/rclshark/install.bash foxy
$ sudo systemctl disable rclshark.service
## Run rclshark-smi
$ rclshark-smi

Demo

YouTube

Operation method

  • 'q'-> Enter : exit rclshark-smi

Known Problems​ ​(rclshark-smi) ??

  • If the rclshark process started using Docker is interrupted, rclshark-smi will freeze. In that case, rclshark-smi will exit as the Timeout after 5 seconds. Keep in mind that the same event can also happen with non-Docker rclshark.
  • We are considering releasing a lightweight version of rclshark-smi that does not involve sending or receiving messages.

About writer 🐢 🦈

You might also like...
Qtas(Quite a Storage)is an experimental distributed storage system developed by Q-team in BJFU Advanced Computer Network sources.

Qtas(Quite a Storage)is a experimental distributed storage system developed by Q-team in BJFU Advanced Computer Network sources.

This is a Client-Server-System which can share the screen from the server to client and in the other direction.

Screenshare-Streaming-Python This is a Client-Server-System which can share the screen from the server to client and in the other direction. You have

This is a Client-Server-System which can send audio from a microphone from the server to client and in the other direction.

Audio-Streaming-Python This is a Client-Server-System which can send audio from a microphone from the server to client and in the other direction. You

OptiPLANT is a cloud-based based system that empowers professional and non-professional data scientists to build high-quality predictive models

OptiPLANT OptiPLANT is a cloud-based based system that empowers professional and non-professional data scientists to build high-quality predictive mod

Simple local RPG turn-based to play while learn something using the anki system
Simple local RPG turn-based to play while learn something using the anki system

Simple local RPG turn-based to play while learn something using the anki system

A Python tool used to automate the execution of the following tools : Nmap , Nikto and Dirsearch but also to automate the report generation during a Web Penetration Testing
A Python tool used to automate the execution of the following tools : Nmap , Nikto and Dirsearch but also to automate the report generation during a Web Penetration Testing

📡 WebMap A Python tool used to automate the execution of the following tools : Nmap , Nikto and Dirsearch but also to automate the report generation

ANalyse is a vehicle network analysis and attack tool.
ANalyse is a vehicle network analysis and attack tool.

CANalyse is a tool built to analyze the log files to find out unique datasets automatically and able to connect to simple user interfaces suc

Tool for quickly gathering information from Shodan.io about the number of IPs which satisfy large number of different queries

TriOp Tool for quickly gathering information from Shodan.io about the number of IPs which satisfy large number of different queries For furt

Passive TCP/IP Fingerprinting Tool. Run this on your server and find out what Operating Systems your clients are *really* using.

Passive TCP/IP Fingerprinting This is a passive TCP/IP fingerprinting tool. Run this on your server and find out what operating systems your clients a

Releases(v1.0.3)
  • v1.0.3(Sep 29, 2021)

    The following changes have been made in v1.0.2 to v1.0.3. It is possible to mix v1.0.2 and v1.0.3.

    Change of installation method (example) sudo bash install.bash /opt/ros/foxy. Change in the readme

    Raspbian-rclshark

    The best Raspberry Pi OS.

    :exclamation: Pre-integrated image is also available for download for a limited time.

    Raspberry Pi OS (Raspbian) and ROS Foxy pre-built images are available. This image comes with rclshark, which allows SSH login just by connecting an Ethernet without connecting a display.

    Try the new remote access experience.

    Write to SD

    Run the following command after download two files split-raspbian-00 and split-raspbian-01 .

    sudo apt install p7zip-full
    cat split-raspbian-00 split-raspbian-01 >> rpi.7z
    7z x rpi.7z
    

    After that, write image to SD card using Raspberry Pi Imager.

    Start Raspberry Pi

    • Connect

      • Written SD Card
      • Power 5V 3A
      • Ethernet
    • Not connect

      • Keyboard & Mouse
      • Display

    Search Raspberry Pi

    Run ROS Command on your laptop.

    source /opt/ros/foxy/setup.bash
    ros2 node list | grep end
    
    # result : /ip_192_168_11_47_end
    

    Connect Raspberry Pi by SSH !

    Source code(tar.gz)
    Source code(zip)
    split-raspbian-00(1430.51 MB)
    split-raspbian-01(849.00 MB)
  • v1.0.2(Sep 8, 2021)

    It is not compatible with previous versions (v1.0.1).

    • remove disk_percent
    • remove process_count
    • add username
    • fix other bugs

    rclshark-smi

    • Get data only once.
    • update docker (docker pull ray255ar/rclshark:v1.0.2)
    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Jul 16, 2021)

    Fixed a bug caused by username restrictions. With this update, users with usernames other than "Ubuntu" will be able to install successfully, too.

    • Change rclshark/rclshark.service

      • multi-user.target -> default.target
      • Users=ubuntu -> delete (The name of the login user will be automatically assigned during installation.)
      • Group=ubuntu -> delete
    • Add Turtle ASCII Art

    rclshark_turtle

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Jul 8, 2021)

Owner
Ar-Ray
1st grade of National Institute of Technology(=Kosen) student. Associate degree
Ar-Ray
Control your Puffco Peak Pro from your computer!

PuffcoPC Control your Puffco Peak Pro from your computer! Contributions Pull requests are welcome. For major changes, please open an issue first to di

Bryan Muschter 5 Nov 02, 2022
Simplest dashboard for WireGuard VPN written in Python w/ Flask

Hi! I'm planning the next major update for this project, please let me know if you have any suggestions or feature requests ;) You can create an issue

Donald Zou 763 Jan 02, 2023
A Simplest TCP client and echo server

Простейшие TCP-клиент и эхо-сервер Цель работы Познакомиться с приемами работы с сетевыми сокетами в языке программирования Python. Задания для самост

Юля Нагубнева 1 Oct 25, 2021
A library of functions that can be used to manage the download of claims from the LBRY network.

lbrytools A library of functions that can be used to manage the download of claims from the LBRY network. It includes methods to download claims by UR

13 Dec 03, 2022
Blockchain-Enabled IoT Sensor Framework that uses Augmented Reality and Artificial Intelligence.

Arduino + Raspberry Pi + Unity3D + Cloud + Hyperledger Our Mission: Keep it simple, leave no one behind. Blockchain-Enabled Smart Sensor Framework usi

DappAR 23 Dec 05, 2021
Aiotor - a pool of proxies, shifting on each request

Aiotor - a pool of proxies, shifting on each request

Leon 32 Dec 26, 2022
It's an extra broadcast driver for masonite. It adds support for socketio.

It's an extra broadcast driver for masonite. It adds support for socketio.

Yubaraj Shrestha 6 Feb 23, 2022
Keep your application settings in sync (OS X/Linux)

Mackup Keep your application settings in sync. Table of content Quickstart Usage What does it do Bullsh*t, what does it really do to my files Supporte

Laurent Raufaste 12.8k Jan 08, 2023
A simple chat room using socket and threading for handle multiple connections.

• Socket Chat Room was a little project for socket study. It works with a server handling the incoming connections from the clients. Clients send encoded messages while waiting for others clients mes

Guilherme de Oliveira 2 Mar 03, 2022
Display ip2.network active live streams.

Display ip2.network active live streams.

Daeshon Jones 0 Oct 31, 2021
Building a Robust IOT device which is customizable, encrypted, secure and user friendly

Building a Robust IOT device which is customizable, encrypted, secure and user friendly, which uses a single GPIO pin to extract multiple sensor values

1 Jan 03, 2022
A socket script to obtain chinese phones-sequence for any english word

Foreign Pronunciation Generator (English-Chinese) We provide a simple socket script for acquiring Chinese pronunciation of English words (phones in ai

Ephemeroptera 5 Jul 25, 2022
Simple threaded Python Rickroll server. Listens on port 23 by default.

Terminal Rickroll Simple threaded Python Rickroll server. Listens on port 23 by default. Rickroll video made using Video-To-Ascii and the standard ric

AG 10 Sep 13, 2022
FramIp - it a framework for work at IP and domain

FramIp FramIp - it a framework for work with IP and domain Installation (termux) $ pkg install git && pkg install python && git clone https://github.c

1 Jan 28, 2022
Fmog: Fortinet Mass Object Generator. This script will take a list of IP addresses and create address objects with the same name

Fmog: Fortinet Mass Object Generator This script will take a list of IP addresses and create address objects with the same name. It will also add them

2 Oct 26, 2021
Distribute a portion of your yield to other addresses 💙

YSHARE Distribute a portion of your yield to other addresses. How does it work Desposit your yToken or tokens into this contract Set the benificiaries

11 Nov 24, 2021
Very simple and tiny file sharing service written in python

Simple File sharing tool Sharing client usage (You will need to use python3 for linux) main.py --send -f file/path Optionnal flags : pwd : set a passw

2 Jul 26, 2022
IPV4 network calculation project in Python

Curso de Python 3 do Básico ao Avançado Desafio: Calculando redes IPV4 Criar um programa que obtem um numero de IP com o prefixo da mascara de rede. O

Diego Guedes 3 Jan 21, 2022
This repository contain sample code of gRPC Communication between Python and GoLang

This repository contain sample code of gRPC Communication between Python and GoLang, the Server is running on GoLang while Python is running the client

Abdullahi Muhammad 2 Nov 29, 2021
Decentra Network is an open source blockchain that combines speed, security and decentralization.

Decentra Network is an open source blockchain that combines speed, security and decentralization. Decentra Network has very high speeds, scalability, asymptotic security and complete decentralization

Decentra Network 74 Nov 22, 2022