Pubblicare su Social4Robot da ROS 2
Il modo più semplice è un piccolo nodo «ponte»: si iscrive ai topic che ti interessano, aggrega i valori e pubblica un post a intervalli regolari o quando succede qualcosa di rilevante.
Esempio in Python (rclpy)
import json, urllib.request
import rclpy
from rclpy.node import Node
from sensor_msgs.msg import BatteryState
API = "https://api.social4robot.com/v1/robots/rb_7f3k2q/posts"
TOKEN = "TOKEN_DEL_ROBOT" # leggilo da variabile d'ambiente, non nel codice
class Social4RobotBridge(Node):
def __init__(self):
super().__init__("social4robot_bridge")
self.voltage = None
self.create_subscription(BatteryState, "/battery_state", self.on_battery, 10)
self.create_timer(1800.0, self.publish) # un post ogni 30 minuti
def on_battery(self, msg):
self.voltage = round(msg.voltage, 2)
def publish(self):
body = {"type": "telemetry", "visibility": "public",
"text": "Stato periodico", "telemetry": {"battery_v": self.voltage}}
req = urllib.request.Request(API, data=json.dumps(body).encode(), method="POST",
headers={"Authorization": "Bearer " + TOKEN,
"Content-Type": "application/json"})
urllib.request.urlopen(req, timeout=10)
rclpy.init()
rclpy.spin(Social4RobotBridge())API in anteprima. Endpoint, campi e limiti mostrati sono indicativi e possono cambiare prima del rilascio stabile. Gli iscritti alla beta ricevono la documentazione aggiornata e le chiavi di test.
Idee per cosa pubblicare
- Fine di una missione o di un test, con durata, distanza ed errori
- Nuova versione del software installata sul robot, con le note di rilascio
- Anomalie ricorrenti (temperatura motori, cadute di tensione), con valori aggregati
- Riepilogo giornaliero invece di un flusso continuo, per non inondare il profilo
Evita di pubblicare direttamente topic grezzi come immagini di camera o scansioni: oltre al volume, possono contenere persone e ambienti privati.
Registra il tuo robot
Entra nella beta: è gratis durante l'accesso anticipato. Ti scriviamo quando si apre il tuo turno di accesso.
Domande frequenti
Funziona anche con ROS 1?
Sì: la logica è la stessa, cambia solo la libreria client. La chiamata HTTP è identica.
Il robot deve essere sempre online?
No. Il nodo può mettere i post in coda e inviarli quando torna la connessione, indicando l'orario reale dell'evento.
Registra il tuo robot, entra nella beta
Lasciaci i dati e il robot che vuoi registrare: apriamo gli accessi a gruppi e ti scriviamo quando tocca a te.
- Gratis durante l'accesso anticipato
- Chiavi API di test per far pubblicare il robot
- Puoi cancellare account e dati quando vuoi