-
 
No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.1.28
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_3rdparty.git
VCS Type git
VCS Version master
Last Updated 2024-12-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

use switchbot with ros

Additional Links

No additional links.

Maintainers

  • Kei Okada
  • Yoshiki Obinata

Authors

  • Yoshiki Obinata

switchbot_ros

This is the package for using switchbot by ROS.

System Component

Screenshot from 2021-07-17 12-43-06 JSK members can edit the original file here.

How to use?

Setup switchbot

  1. Install the switchbot app to your phone(iPhone, Android) and create your switchbot account.
  2. Prepare the switchbot devices and setup by your phone.

Especially, please set your device name and enable cloud service.

  1. Get your token
    On switchbot App, profile -> settings, and press version for 10 times and you can get token.

For JSK members, please see this slide for account and token details and installed switchbots for our lab.

How to launch switchbot ros

Execute roslaunch switchbot_ros switchbot.launch token:=YOUR_TOKEN and publish ActionGoal.

ROS API

The switchbot_ros node provides APIs below.

~/devices topic ( Type: switchbot_ros/DeviceArray )

This topic provides devices list available with switchbot_ros server.

~/switch action ( Type: switchbot_ros/SwitchBotcommandAction )

This action provide command interface to switchbot devices.

From command line

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/eng2/7f/73b2/test/button'
  command: 'press'
  parameter: ''
  command_type: ''"

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/myroom/light'
  command: 'turnOn'
  parameter: ''
  command_type: ''"

Please see here for command details.

Client libraries

There are rospy/roseus client libraries for switchbot_ros server.

roseus

(setq msg (get-devices)) ;; get device list
(dolist (device (send msg :devices)) (format t "name: ~A, type: ~A~%" (send device :name) (send device :type))) ;; print device list
(control-device "/eng2/7f/73b2/light/upper/switch" "turnOn") ;; control some device
(control-device "/eng2/7f/73b2/light/lower/switch" "turnOn")

rospy

import rospy
from switchbot_ros.switchbot_ros_client import SwitchBotROSClient

rospy.init_node('hoge')
client = SwitchBotROSClient()

devices = client.get_devices()
print(devices)

client.control_device('/eng2/7f/73b2_bot_kitchen', 'turnOn')

An example of controlling the elevator at Eng2 building at The University of Tokyo

Please see here for controlling elevator example code by JSK Spot robot.

CHANGELOG

Changelog for package switchbot_ros

2.1.28 (2023-07-24)

2.1.27 (2023-06-24)

  • fix package.xml/CMakeLists.txt to supress catkin_lint errors (#479)
  • Contributors: Kei Okada

2.1.26 (2023-06-14)

  • add LICENSE files (#476)
  • Contributors: Kei Okada

2.1.25 (2023-06-08)

  • [switchbot_ros] add actionlib_msgs and std_msgs as build_depend (#357)
  • [switchbot_ros] add obinata as maintainer for switchbot_ros (#358)
  • Pr/add switchbot device list publisher (#344)
  • [switchbot_ros] update switchbot_ros client (#345)
  • [chaplus_ros][switchbot_ros]fix exec_depend in ros noetic (#332)
  • [switchbot_ros] update ReadMe.md (#324)
  • [switchbot_ros] Sort device_list (#331)
  • [switchbot_ros] remove catching base exception and output more specific key error when the switchbot id not exists on the server (#321)
  • add install section to switchbot_ros/CMakeLists.txt (#294)
  • [switchbot_ros] use python setup to avoid relative import in switchbot_ros (#278)
  • [switchbot_ros] catch the exception when init the node (#279)
  • Contributors: Kei Okada, Koki Shinjo, Naoya Yamaguchi, Shingo Kitagawa, Yoshiki Obinata, Iory Yanokura

2.1.24 (2021-07-26)

2.1.23 (2021-07-21)

  • add rosnode for switchbot (#260)
  • Contributors: Yoshiki Obinata

2.1.22 (2021-06-10)

2.1.21 (2020-08-19)

2.1.20 (2020-08-07)

2.1.19 (2020-07-21)

2.1.18 (2020-07-20)

2.1.17 (2020-04-16 21:51)

2.1.16 (2020-04-16 15:21)

2.1.15 (2019-12-12)

2.1.14 (2019-11-21)

2.1.13 (2019-07-10)

2.1.12 (2019-05-25)

2.1.11 (2018-08-29)

2.1.10 (2018-04-25)

2.1.9 (2018-04-24)

2.1.8 (2018-04-17)

2.1.7 (2018-04-09)

2.1.6 (2017-11-21)

2.1.5 (2017-11-20)

2.1.4 (2017-07-16)

2.1.3 (2017-07-07)

2.1.2 (2017-07-06)

2.1.1 (2017-07-05)

2.1.0 (2017-07-02)

2.0.20 (2017-05-09)

2.0.19 (2017-02-22)

2.0.18 (2016-10-28)

2.0.17 (2016-10-22)

2.0.16 (2016-10-17)

2.0.15 (2016-10-16)

2.0.14 (2016-03-20)

2.0.13 (2015-12-15)

2.0.12 (2015-11-26)

2.0.11 (2015-10-07 14:16)

2.0.10 (2015-10-07 12:47)

2.0.9 (2015-09-26)

2.0.8 (2015-09-15)

2.0.7 (2015-09-14)

2.0.6 (2015-09-08)

2.0.5 (2015-08-23)

2.0.4 (2015-08-18)

2.0.3 (2015-08-01)

2.0.2 (2015-06-29)

2.0.1 (2015-06-19 21:21)

2.0.0 (2015-06-19 10:41)

1.0.71 (2015-05-17)

1.0.70 (2015-05-08)

1.0.69 (2015-05-05 12:28)

1.0.68 (2015-05-05 09:49)

1.0.67 (2015-05-03)

1.0.66 (2015-04-03)

1.0.65 (2015-04-02)

1.0.64 (2015-03-29)

1.0.63 (2015-02-19)

1.0.62 (2015-02-17)

1.0.61 (2015-02-11)

1.0.60 (2015-02-03 10:12)

1.0.59 (2015-02-03 04:05)

1.0.58 (2015-01-07)

1.0.57 (2014-12-23)

1.0.56 (2014-12-17)

1.0.55 (2014-12-09)

1.0.54 (2014-11-15)

1.0.53 (2014-11-01)

1.0.52 (2014-10-23)

1.0.51 (2014-10-20 16:01)

1.0.50 (2014-10-20 01:50)

1.0.49 (2014-10-13)

1.0.48 (2014-10-12)

1.0.47 (2014-10-08)

1.0.46 (2014-10-03)

1.0.45 (2014-09-29)

1.0.44 (2014-09-26 09:17)

1.0.43 (2014-09-26 01:08)

1.0.42 (2014-09-25)

1.0.41 (2014-09-23)

1.0.40 (2014-09-19)

1.0.39 (2014-09-17)

1.0.38 (2014-09-13)

1.0.37 (2014-09-08)

1.0.36 (2014-09-01)

1.0.35 (2014-08-16)

1.0.34 (2014-08-14)

1.0.33 (2014-07-28)

1.0.32 (2014-07-26)

1.0.31 (2014-07-23)

1.0.30 (2014-07-15)

1.0.29 (2014-07-02)

1.0.28 (2014-06-24)

1.0.27 (2014-06-10)

1.0.26 (2014-05-30)

1.0.25 (2014-05-26)

1.0.24 (2014-05-24)

1.0.23 (2014-05-23)

1.0.22 (2014-05-22)

1.0.21 (2014-05-20)

1.0.20 (2014-05-09)

1.0.19 (2014-05-06)

1.0.18 (2014-05-04)

1.0.17 (2014-04-20)

1.0.16 (2014-04-19 23:29)

1.0.15 (2014-04-19 20:19)

1.0.14 (2014-04-19 12:52)

1.0.13 (2014-04-19 11:06)

1.0.12 (2014-04-18 16:58)

1.0.11 (2014-04-18 08:18)

1.0.10 (2014-04-17)

1.0.9 (2014-04-12)

1.0.8 (2014-04-11)

1.0.7 (2014-04-10)

1.0.6 (2014-04-07)

1.0.5 (2014-03-31)

1.0.4 (2014-03-29)

1.0.3 (2014-03-19)

1.0.2 (2014-03-12)

1.0.1 (2014-03-07)

1.0.0 (2014-03-05)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/switchbot.launch
      • token
      • secret [default: '']
      • respawn [default: true]
      • pub_status [default: false]
      • pub_status_rate [default: 0.1]
      • pub_device_name [default: bot74a]

Services

No service files found

Plugins

No plugins found.

Recent questions tagged switchbot_ros at Robotics Stack Exchange

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.1.28
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_3rdparty.git
VCS Type git
VCS Version master
Last Updated 2024-12-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

use switchbot with ros

Additional Links

No additional links.

Maintainers

  • Kei Okada
  • Yoshiki Obinata

Authors

  • Yoshiki Obinata

switchbot_ros

This is the package for using switchbot by ROS.

System Component

Screenshot from 2021-07-17 12-43-06 JSK members can edit the original file here.

How to use?

Setup switchbot

  1. Install the switchbot app to your phone(iPhone, Android) and create your switchbot account.
  2. Prepare the switchbot devices and setup by your phone.

Especially, please set your device name and enable cloud service.

  1. Get your token
    On switchbot App, profile -> settings, and press version for 10 times and you can get token.

For JSK members, please see this slide for account and token details and installed switchbots for our lab.

How to launch switchbot ros

Execute roslaunch switchbot_ros switchbot.launch token:=YOUR_TOKEN and publish ActionGoal.

ROS API

The switchbot_ros node provides APIs below.

~/devices topic ( Type: switchbot_ros/DeviceArray )

This topic provides devices list available with switchbot_ros server.

~/switch action ( Type: switchbot_ros/SwitchBotcommandAction )

This action provide command interface to switchbot devices.

From command line

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/eng2/7f/73b2/test/button'
  command: 'press'
  parameter: ''
  command_type: ''"

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/myroom/light'
  command: 'turnOn'
  parameter: ''
  command_type: ''"

Please see here for command details.

Client libraries

There are rospy/roseus client libraries for switchbot_ros server.

roseus

(setq msg (get-devices)) ;; get device list
(dolist (device (send msg :devices)) (format t "name: ~A, type: ~A~%" (send device :name) (send device :type))) ;; print device list
(control-device "/eng2/7f/73b2/light/upper/switch" "turnOn") ;; control some device
(control-device "/eng2/7f/73b2/light/lower/switch" "turnOn")

rospy

import rospy
from switchbot_ros.switchbot_ros_client import SwitchBotROSClient

rospy.init_node('hoge')
client = SwitchBotROSClient()

devices = client.get_devices()
print(devices)

client.control_device('/eng2/7f/73b2_bot_kitchen', 'turnOn')

An example of controlling the elevator at Eng2 building at The University of Tokyo

Please see here for controlling elevator example code by JSK Spot robot.

CHANGELOG

Changelog for package switchbot_ros

2.1.28 (2023-07-24)

2.1.27 (2023-06-24)

  • fix package.xml/CMakeLists.txt to supress catkin_lint errors (#479)
  • Contributors: Kei Okada

2.1.26 (2023-06-14)

  • add LICENSE files (#476)
  • Contributors: Kei Okada

2.1.25 (2023-06-08)

  • [switchbot_ros] add actionlib_msgs and std_msgs as build_depend (#357)
  • [switchbot_ros] add obinata as maintainer for switchbot_ros (#358)
  • Pr/add switchbot device list publisher (#344)
  • [switchbot_ros] update switchbot_ros client (#345)
  • [chaplus_ros][switchbot_ros]fix exec_depend in ros noetic (#332)
  • [switchbot_ros] update ReadMe.md (#324)
  • [switchbot_ros] Sort device_list (#331)
  • [switchbot_ros] remove catching base exception and output more specific key error when the switchbot id not exists on the server (#321)
  • add install section to switchbot_ros/CMakeLists.txt (#294)
  • [switchbot_ros] use python setup to avoid relative import in switchbot_ros (#278)
  • [switchbot_ros] catch the exception when init the node (#279)
  • Contributors: Kei Okada, Koki Shinjo, Naoya Yamaguchi, Shingo Kitagawa, Yoshiki Obinata, Iory Yanokura

2.1.24 (2021-07-26)

2.1.23 (2021-07-21)

  • add rosnode for switchbot (#260)
  • Contributors: Yoshiki Obinata

2.1.22 (2021-06-10)

2.1.21 (2020-08-19)

2.1.20 (2020-08-07)

2.1.19 (2020-07-21)

2.1.18 (2020-07-20)

2.1.17 (2020-04-16 21:51)

2.1.16 (2020-04-16 15:21)

2.1.15 (2019-12-12)

2.1.14 (2019-11-21)

2.1.13 (2019-07-10)

2.1.12 (2019-05-25)

2.1.11 (2018-08-29)

2.1.10 (2018-04-25)

2.1.9 (2018-04-24)

2.1.8 (2018-04-17)

2.1.7 (2018-04-09)

2.1.6 (2017-11-21)

2.1.5 (2017-11-20)

2.1.4 (2017-07-16)

2.1.3 (2017-07-07)

2.1.2 (2017-07-06)

2.1.1 (2017-07-05)

2.1.0 (2017-07-02)

2.0.20 (2017-05-09)

2.0.19 (2017-02-22)

2.0.18 (2016-10-28)

2.0.17 (2016-10-22)

2.0.16 (2016-10-17)

2.0.15 (2016-10-16)

2.0.14 (2016-03-20)

2.0.13 (2015-12-15)

2.0.12 (2015-11-26)

2.0.11 (2015-10-07 14:16)

2.0.10 (2015-10-07 12:47)

2.0.9 (2015-09-26)

2.0.8 (2015-09-15)

2.0.7 (2015-09-14)

2.0.6 (2015-09-08)

2.0.5 (2015-08-23)

2.0.4 (2015-08-18)

2.0.3 (2015-08-01)

2.0.2 (2015-06-29)

2.0.1 (2015-06-19 21:21)

2.0.0 (2015-06-19 10:41)

1.0.71 (2015-05-17)

1.0.70 (2015-05-08)

1.0.69 (2015-05-05 12:28)

1.0.68 (2015-05-05 09:49)

1.0.67 (2015-05-03)

1.0.66 (2015-04-03)

1.0.65 (2015-04-02)

1.0.64 (2015-03-29)

1.0.63 (2015-02-19)

1.0.62 (2015-02-17)

1.0.61 (2015-02-11)

1.0.60 (2015-02-03 10:12)

1.0.59 (2015-02-03 04:05)

1.0.58 (2015-01-07)

1.0.57 (2014-12-23)

1.0.56 (2014-12-17)

1.0.55 (2014-12-09)

1.0.54 (2014-11-15)

1.0.53 (2014-11-01)

1.0.52 (2014-10-23)

1.0.51 (2014-10-20 16:01)

1.0.50 (2014-10-20 01:50)

1.0.49 (2014-10-13)

1.0.48 (2014-10-12)

1.0.47 (2014-10-08)

1.0.46 (2014-10-03)

1.0.45 (2014-09-29)

1.0.44 (2014-09-26 09:17)

1.0.43 (2014-09-26 01:08)

1.0.42 (2014-09-25)

1.0.41 (2014-09-23)

1.0.40 (2014-09-19)

1.0.39 (2014-09-17)

1.0.38 (2014-09-13)

1.0.37 (2014-09-08)

1.0.36 (2014-09-01)

1.0.35 (2014-08-16)

1.0.34 (2014-08-14)

1.0.33 (2014-07-28)

1.0.32 (2014-07-26)

1.0.31 (2014-07-23)

1.0.30 (2014-07-15)

1.0.29 (2014-07-02)

1.0.28 (2014-06-24)

1.0.27 (2014-06-10)

1.0.26 (2014-05-30)

1.0.25 (2014-05-26)

1.0.24 (2014-05-24)

1.0.23 (2014-05-23)

1.0.22 (2014-05-22)

1.0.21 (2014-05-20)

1.0.20 (2014-05-09)

1.0.19 (2014-05-06)

1.0.18 (2014-05-04)

1.0.17 (2014-04-20)

1.0.16 (2014-04-19 23:29)

1.0.15 (2014-04-19 20:19)

1.0.14 (2014-04-19 12:52)

1.0.13 (2014-04-19 11:06)

1.0.12 (2014-04-18 16:58)

1.0.11 (2014-04-18 08:18)

1.0.10 (2014-04-17)

1.0.9 (2014-04-12)

1.0.8 (2014-04-11)

1.0.7 (2014-04-10)

1.0.6 (2014-04-07)

1.0.5 (2014-03-31)

1.0.4 (2014-03-29)

1.0.3 (2014-03-19)

1.0.2 (2014-03-12)

1.0.1 (2014-03-07)

1.0.0 (2014-03-05)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/switchbot.launch
      • token
      • secret [default: '']
      • respawn [default: true]
      • pub_status [default: false]
      • pub_status_rate [default: 0.1]
      • pub_device_name [default: bot74a]

Services

No service files found

Plugins

No plugins found.

Recent questions tagged switchbot_ros at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.1.28
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_3rdparty.git
VCS Type git
VCS Version master
Last Updated 2024-12-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

use switchbot with ros

Additional Links

No additional links.

Maintainers

  • Kei Okada
  • Yoshiki Obinata

Authors

  • Yoshiki Obinata

switchbot_ros

This is the package for using switchbot by ROS.

System Component

Screenshot from 2021-07-17 12-43-06 JSK members can edit the original file here.

How to use?

Setup switchbot

  1. Install the switchbot app to your phone(iPhone, Android) and create your switchbot account.
  2. Prepare the switchbot devices and setup by your phone.

Especially, please set your device name and enable cloud service.

  1. Get your token
    On switchbot App, profile -> settings, and press version for 10 times and you can get token.

For JSK members, please see this slide for account and token details and installed switchbots for our lab.

How to launch switchbot ros

Execute roslaunch switchbot_ros switchbot.launch token:=YOUR_TOKEN and publish ActionGoal.

ROS API

The switchbot_ros node provides APIs below.

~/devices topic ( Type: switchbot_ros/DeviceArray )

This topic provides devices list available with switchbot_ros server.

~/switch action ( Type: switchbot_ros/SwitchBotcommandAction )

This action provide command interface to switchbot devices.

From command line

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/eng2/7f/73b2/test/button'
  command: 'press'
  parameter: ''
  command_type: ''"

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/myroom/light'
  command: 'turnOn'
  parameter: ''
  command_type: ''"

Please see here for command details.

Client libraries

There are rospy/roseus client libraries for switchbot_ros server.

roseus

(setq msg (get-devices)) ;; get device list
(dolist (device (send msg :devices)) (format t "name: ~A, type: ~A~%" (send device :name) (send device :type))) ;; print device list
(control-device "/eng2/7f/73b2/light/upper/switch" "turnOn") ;; control some device
(control-device "/eng2/7f/73b2/light/lower/switch" "turnOn")

rospy

import rospy
from switchbot_ros.switchbot_ros_client import SwitchBotROSClient

rospy.init_node('hoge')
client = SwitchBotROSClient()

devices = client.get_devices()
print(devices)

client.control_device('/eng2/7f/73b2_bot_kitchen', 'turnOn')

An example of controlling the elevator at Eng2 building at The University of Tokyo

Please see here for controlling elevator example code by JSK Spot robot.

CHANGELOG

Changelog for package switchbot_ros

2.1.28 (2023-07-24)

2.1.27 (2023-06-24)

  • fix package.xml/CMakeLists.txt to supress catkin_lint errors (#479)
  • Contributors: Kei Okada

2.1.26 (2023-06-14)

  • add LICENSE files (#476)
  • Contributors: Kei Okada

2.1.25 (2023-06-08)

  • [switchbot_ros] add actionlib_msgs and std_msgs as build_depend (#357)
  • [switchbot_ros] add obinata as maintainer for switchbot_ros (#358)
  • Pr/add switchbot device list publisher (#344)
  • [switchbot_ros] update switchbot_ros client (#345)
  • [chaplus_ros][switchbot_ros]fix exec_depend in ros noetic (#332)
  • [switchbot_ros] update ReadMe.md (#324)
  • [switchbot_ros] Sort device_list (#331)
  • [switchbot_ros] remove catching base exception and output more specific key error when the switchbot id not exists on the server (#321)
  • add install section to switchbot_ros/CMakeLists.txt (#294)
  • [switchbot_ros] use python setup to avoid relative import in switchbot_ros (#278)
  • [switchbot_ros] catch the exception when init the node (#279)
  • Contributors: Kei Okada, Koki Shinjo, Naoya Yamaguchi, Shingo Kitagawa, Yoshiki Obinata, Iory Yanokura

2.1.24 (2021-07-26)

2.1.23 (2021-07-21)

  • add rosnode for switchbot (#260)
  • Contributors: Yoshiki Obinata

2.1.22 (2021-06-10)

2.1.21 (2020-08-19)

2.1.20 (2020-08-07)

2.1.19 (2020-07-21)

2.1.18 (2020-07-20)

2.1.17 (2020-04-16 21:51)

2.1.16 (2020-04-16 15:21)

2.1.15 (2019-12-12)

2.1.14 (2019-11-21)

2.1.13 (2019-07-10)

2.1.12 (2019-05-25)

2.1.11 (2018-08-29)

2.1.10 (2018-04-25)

2.1.9 (2018-04-24)

2.1.8 (2018-04-17)

2.1.7 (2018-04-09)

2.1.6 (2017-11-21)

2.1.5 (2017-11-20)

2.1.4 (2017-07-16)

2.1.3 (2017-07-07)

2.1.2 (2017-07-06)

2.1.1 (2017-07-05)

2.1.0 (2017-07-02)

2.0.20 (2017-05-09)

2.0.19 (2017-02-22)

2.0.18 (2016-10-28)

2.0.17 (2016-10-22)

2.0.16 (2016-10-17)

2.0.15 (2016-10-16)

2.0.14 (2016-03-20)

2.0.13 (2015-12-15)

2.0.12 (2015-11-26)

2.0.11 (2015-10-07 14:16)

2.0.10 (2015-10-07 12:47)

2.0.9 (2015-09-26)

2.0.8 (2015-09-15)

2.0.7 (2015-09-14)

2.0.6 (2015-09-08)

2.0.5 (2015-08-23)

2.0.4 (2015-08-18)

2.0.3 (2015-08-01)

2.0.2 (2015-06-29)

2.0.1 (2015-06-19 21:21)

2.0.0 (2015-06-19 10:41)

1.0.71 (2015-05-17)

1.0.70 (2015-05-08)

1.0.69 (2015-05-05 12:28)

1.0.68 (2015-05-05 09:49)

1.0.67 (2015-05-03)

1.0.66 (2015-04-03)

1.0.65 (2015-04-02)

1.0.64 (2015-03-29)

1.0.63 (2015-02-19)

1.0.62 (2015-02-17)

1.0.61 (2015-02-11)

1.0.60 (2015-02-03 10:12)

1.0.59 (2015-02-03 04:05)

1.0.58 (2015-01-07)

1.0.57 (2014-12-23)

1.0.56 (2014-12-17)

1.0.55 (2014-12-09)

1.0.54 (2014-11-15)

1.0.53 (2014-11-01)

1.0.52 (2014-10-23)

1.0.51 (2014-10-20 16:01)

1.0.50 (2014-10-20 01:50)

1.0.49 (2014-10-13)

1.0.48 (2014-10-12)

1.0.47 (2014-10-08)

1.0.46 (2014-10-03)

1.0.45 (2014-09-29)

1.0.44 (2014-09-26 09:17)

1.0.43 (2014-09-26 01:08)

1.0.42 (2014-09-25)

1.0.41 (2014-09-23)

1.0.40 (2014-09-19)

1.0.39 (2014-09-17)

1.0.38 (2014-09-13)

1.0.37 (2014-09-08)

1.0.36 (2014-09-01)

1.0.35 (2014-08-16)

1.0.34 (2014-08-14)

1.0.33 (2014-07-28)

1.0.32 (2014-07-26)

1.0.31 (2014-07-23)

1.0.30 (2014-07-15)

1.0.29 (2014-07-02)

1.0.28 (2014-06-24)

1.0.27 (2014-06-10)

1.0.26 (2014-05-30)

1.0.25 (2014-05-26)

1.0.24 (2014-05-24)

1.0.23 (2014-05-23)

1.0.22 (2014-05-22)

1.0.21 (2014-05-20)

1.0.20 (2014-05-09)

1.0.19 (2014-05-06)

1.0.18 (2014-05-04)

1.0.17 (2014-04-20)

1.0.16 (2014-04-19 23:29)

1.0.15 (2014-04-19 20:19)

1.0.14 (2014-04-19 12:52)

1.0.13 (2014-04-19 11:06)

1.0.12 (2014-04-18 16:58)

1.0.11 (2014-04-18 08:18)

1.0.10 (2014-04-17)

1.0.9 (2014-04-12)

1.0.8 (2014-04-11)

1.0.7 (2014-04-10)

1.0.6 (2014-04-07)

1.0.5 (2014-03-31)

1.0.4 (2014-03-29)

1.0.3 (2014-03-19)

1.0.2 (2014-03-12)

1.0.1 (2014-03-07)

1.0.0 (2014-03-05)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/switchbot.launch
      • token
      • secret [default: '']
      • respawn [default: true]
      • pub_status [default: false]
      • pub_status_rate [default: 0.1]
      • pub_device_name [default: bot74a]

Services

No service files found

Plugins

No plugins found.

Recent questions tagged switchbot_ros at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.1.28
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_3rdparty.git
VCS Type git
VCS Version master
Last Updated 2024-12-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

use switchbot with ros

Additional Links

No additional links.

Maintainers

  • Kei Okada
  • Yoshiki Obinata

Authors

  • Yoshiki Obinata

switchbot_ros

This is the package for using switchbot by ROS.

System Component

Screenshot from 2021-07-17 12-43-06 JSK members can edit the original file here.

How to use?

Setup switchbot

  1. Install the switchbot app to your phone(iPhone, Android) and create your switchbot account.
  2. Prepare the switchbot devices and setup by your phone.

Especially, please set your device name and enable cloud service.

  1. Get your token
    On switchbot App, profile -> settings, and press version for 10 times and you can get token.

For JSK members, please see this slide for account and token details and installed switchbots for our lab.

How to launch switchbot ros

Execute roslaunch switchbot_ros switchbot.launch token:=YOUR_TOKEN and publish ActionGoal.

ROS API

The switchbot_ros node provides APIs below.

~/devices topic ( Type: switchbot_ros/DeviceArray )

This topic provides devices list available with switchbot_ros server.

~/switch action ( Type: switchbot_ros/SwitchBotcommandAction )

This action provide command interface to switchbot devices.

From command line

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/eng2/7f/73b2/test/button'
  command: 'press'
  parameter: ''
  command_type: ''"

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/myroom/light'
  command: 'turnOn'
  parameter: ''
  command_type: ''"

Please see here for command details.

Client libraries

There are rospy/roseus client libraries for switchbot_ros server.

roseus

(setq msg (get-devices)) ;; get device list
(dolist (device (send msg :devices)) (format t "name: ~A, type: ~A~%" (send device :name) (send device :type))) ;; print device list
(control-device "/eng2/7f/73b2/light/upper/switch" "turnOn") ;; control some device
(control-device "/eng2/7f/73b2/light/lower/switch" "turnOn")

rospy

import rospy
from switchbot_ros.switchbot_ros_client import SwitchBotROSClient

rospy.init_node('hoge')
client = SwitchBotROSClient()

devices = client.get_devices()
print(devices)

client.control_device('/eng2/7f/73b2_bot_kitchen', 'turnOn')

An example of controlling the elevator at Eng2 building at The University of Tokyo

Please see here for controlling elevator example code by JSK Spot robot.

CHANGELOG

Changelog for package switchbot_ros

2.1.28 (2023-07-24)

2.1.27 (2023-06-24)

  • fix package.xml/CMakeLists.txt to supress catkin_lint errors (#479)
  • Contributors: Kei Okada

2.1.26 (2023-06-14)

  • add LICENSE files (#476)
  • Contributors: Kei Okada

2.1.25 (2023-06-08)

  • [switchbot_ros] add actionlib_msgs and std_msgs as build_depend (#357)
  • [switchbot_ros] add obinata as maintainer for switchbot_ros (#358)
  • Pr/add switchbot device list publisher (#344)
  • [switchbot_ros] update switchbot_ros client (#345)
  • [chaplus_ros][switchbot_ros]fix exec_depend in ros noetic (#332)
  • [switchbot_ros] update ReadMe.md (#324)
  • [switchbot_ros] Sort device_list (#331)
  • [switchbot_ros] remove catching base exception and output more specific key error when the switchbot id not exists on the server (#321)
  • add install section to switchbot_ros/CMakeLists.txt (#294)
  • [switchbot_ros] use python setup to avoid relative import in switchbot_ros (#278)
  • [switchbot_ros] catch the exception when init the node (#279)
  • Contributors: Kei Okada, Koki Shinjo, Naoya Yamaguchi, Shingo Kitagawa, Yoshiki Obinata, Iory Yanokura

2.1.24 (2021-07-26)

2.1.23 (2021-07-21)

  • add rosnode for switchbot (#260)
  • Contributors: Yoshiki Obinata

2.1.22 (2021-06-10)

2.1.21 (2020-08-19)

2.1.20 (2020-08-07)

2.1.19 (2020-07-21)

2.1.18 (2020-07-20)

2.1.17 (2020-04-16 21:51)

2.1.16 (2020-04-16 15:21)

2.1.15 (2019-12-12)

2.1.14 (2019-11-21)

2.1.13 (2019-07-10)

2.1.12 (2019-05-25)

2.1.11 (2018-08-29)

2.1.10 (2018-04-25)

2.1.9 (2018-04-24)

2.1.8 (2018-04-17)

2.1.7 (2018-04-09)

2.1.6 (2017-11-21)

2.1.5 (2017-11-20)

2.1.4 (2017-07-16)

2.1.3 (2017-07-07)

2.1.2 (2017-07-06)

2.1.1 (2017-07-05)

2.1.0 (2017-07-02)

2.0.20 (2017-05-09)

2.0.19 (2017-02-22)

2.0.18 (2016-10-28)

2.0.17 (2016-10-22)

2.0.16 (2016-10-17)

2.0.15 (2016-10-16)

2.0.14 (2016-03-20)

2.0.13 (2015-12-15)

2.0.12 (2015-11-26)

2.0.11 (2015-10-07 14:16)

2.0.10 (2015-10-07 12:47)

2.0.9 (2015-09-26)

2.0.8 (2015-09-15)

2.0.7 (2015-09-14)

2.0.6 (2015-09-08)

2.0.5 (2015-08-23)

2.0.4 (2015-08-18)

2.0.3 (2015-08-01)

2.0.2 (2015-06-29)

2.0.1 (2015-06-19 21:21)

2.0.0 (2015-06-19 10:41)

1.0.71 (2015-05-17)

1.0.70 (2015-05-08)

1.0.69 (2015-05-05 12:28)

1.0.68 (2015-05-05 09:49)

1.0.67 (2015-05-03)

1.0.66 (2015-04-03)

1.0.65 (2015-04-02)

1.0.64 (2015-03-29)

1.0.63 (2015-02-19)

1.0.62 (2015-02-17)

1.0.61 (2015-02-11)

1.0.60 (2015-02-03 10:12)

1.0.59 (2015-02-03 04:05)

1.0.58 (2015-01-07)

1.0.57 (2014-12-23)

1.0.56 (2014-12-17)

1.0.55 (2014-12-09)

1.0.54 (2014-11-15)

1.0.53 (2014-11-01)

1.0.52 (2014-10-23)

1.0.51 (2014-10-20 16:01)

1.0.50 (2014-10-20 01:50)

1.0.49 (2014-10-13)

1.0.48 (2014-10-12)

1.0.47 (2014-10-08)

1.0.46 (2014-10-03)

1.0.45 (2014-09-29)

1.0.44 (2014-09-26 09:17)

1.0.43 (2014-09-26 01:08)

1.0.42 (2014-09-25)

1.0.41 (2014-09-23)

1.0.40 (2014-09-19)

1.0.39 (2014-09-17)

1.0.38 (2014-09-13)

1.0.37 (2014-09-08)

1.0.36 (2014-09-01)

1.0.35 (2014-08-16)

1.0.34 (2014-08-14)

1.0.33 (2014-07-28)

1.0.32 (2014-07-26)

1.0.31 (2014-07-23)

1.0.30 (2014-07-15)

1.0.29 (2014-07-02)

1.0.28 (2014-06-24)

1.0.27 (2014-06-10)

1.0.26 (2014-05-30)

1.0.25 (2014-05-26)

1.0.24 (2014-05-24)

1.0.23 (2014-05-23)

1.0.22 (2014-05-22)

1.0.21 (2014-05-20)

1.0.20 (2014-05-09)

1.0.19 (2014-05-06)

1.0.18 (2014-05-04)

1.0.17 (2014-04-20)

1.0.16 (2014-04-19 23:29)

1.0.15 (2014-04-19 20:19)

1.0.14 (2014-04-19 12:52)

1.0.13 (2014-04-19 11:06)

1.0.12 (2014-04-18 16:58)

1.0.11 (2014-04-18 08:18)

1.0.10 (2014-04-17)

1.0.9 (2014-04-12)

1.0.8 (2014-04-11)

1.0.7 (2014-04-10)

1.0.6 (2014-04-07)

1.0.5 (2014-03-31)

1.0.4 (2014-03-29)

1.0.3 (2014-03-19)

1.0.2 (2014-03-12)

1.0.1 (2014-03-07)

1.0.0 (2014-03-05)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/switchbot.launch
      • token
      • secret [default: '']
      • respawn [default: true]
      • pub_status [default: false]
      • pub_status_rate [default: 0.1]
      • pub_device_name [default: bot74a]

Services

No service files found

Plugins

No plugins found.

Recent questions tagged switchbot_ros at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.1.28
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_3rdparty.git
VCS Type git
VCS Version master
Last Updated 2024-12-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

use switchbot with ros

Additional Links

No additional links.

Maintainers

  • Kei Okada
  • Yoshiki Obinata

Authors

  • Yoshiki Obinata

switchbot_ros

This is the package for using switchbot by ROS.

System Component

Screenshot from 2021-07-17 12-43-06 JSK members can edit the original file here.

How to use?

Setup switchbot

  1. Install the switchbot app to your phone(iPhone, Android) and create your switchbot account.
  2. Prepare the switchbot devices and setup by your phone.

Especially, please set your device name and enable cloud service.

  1. Get your token
    On switchbot App, profile -> settings, and press version for 10 times and you can get token.

For JSK members, please see this slide for account and token details and installed switchbots for our lab.

How to launch switchbot ros

Execute roslaunch switchbot_ros switchbot.launch token:=YOUR_TOKEN and publish ActionGoal.

ROS API

The switchbot_ros node provides APIs below.

~/devices topic ( Type: switchbot_ros/DeviceArray )

This topic provides devices list available with switchbot_ros server.

~/switch action ( Type: switchbot_ros/SwitchBotcommandAction )

This action provide command interface to switchbot devices.

From command line

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/eng2/7f/73b2/test/button'
  command: 'press'
  parameter: ''
  command_type: ''"

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/myroom/light'
  command: 'turnOn'
  parameter: ''
  command_type: ''"

Please see here for command details.

Client libraries

There are rospy/roseus client libraries for switchbot_ros server.

roseus

(setq msg (get-devices)) ;; get device list
(dolist (device (send msg :devices)) (format t "name: ~A, type: ~A~%" (send device :name) (send device :type))) ;; print device list
(control-device "/eng2/7f/73b2/light/upper/switch" "turnOn") ;; control some device
(control-device "/eng2/7f/73b2/light/lower/switch" "turnOn")

rospy

import rospy
from switchbot_ros.switchbot_ros_client import SwitchBotROSClient

rospy.init_node('hoge')
client = SwitchBotROSClient()

devices = client.get_devices()
print(devices)

client.control_device('/eng2/7f/73b2_bot_kitchen', 'turnOn')

An example of controlling the elevator at Eng2 building at The University of Tokyo

Please see here for controlling elevator example code by JSK Spot robot.

CHANGELOG

Changelog for package switchbot_ros

2.1.28 (2023-07-24)

2.1.27 (2023-06-24)

  • fix package.xml/CMakeLists.txt to supress catkin_lint errors (#479)
  • Contributors: Kei Okada

2.1.26 (2023-06-14)

  • add LICENSE files (#476)
  • Contributors: Kei Okada

2.1.25 (2023-06-08)

  • [switchbot_ros] add actionlib_msgs and std_msgs as build_depend (#357)
  • [switchbot_ros] add obinata as maintainer for switchbot_ros (#358)
  • Pr/add switchbot device list publisher (#344)
  • [switchbot_ros] update switchbot_ros client (#345)
  • [chaplus_ros][switchbot_ros]fix exec_depend in ros noetic (#332)
  • [switchbot_ros] update ReadMe.md (#324)
  • [switchbot_ros] Sort device_list (#331)
  • [switchbot_ros] remove catching base exception and output more specific key error when the switchbot id not exists on the server (#321)
  • add install section to switchbot_ros/CMakeLists.txt (#294)
  • [switchbot_ros] use python setup to avoid relative import in switchbot_ros (#278)
  • [switchbot_ros] catch the exception when init the node (#279)
  • Contributors: Kei Okada, Koki Shinjo, Naoya Yamaguchi, Shingo Kitagawa, Yoshiki Obinata, Iory Yanokura

2.1.24 (2021-07-26)

2.1.23 (2021-07-21)

  • add rosnode for switchbot (#260)
  • Contributors: Yoshiki Obinata

2.1.22 (2021-06-10)

2.1.21 (2020-08-19)

2.1.20 (2020-08-07)

2.1.19 (2020-07-21)

2.1.18 (2020-07-20)

2.1.17 (2020-04-16 21:51)

2.1.16 (2020-04-16 15:21)

2.1.15 (2019-12-12)

2.1.14 (2019-11-21)

2.1.13 (2019-07-10)

2.1.12 (2019-05-25)

2.1.11 (2018-08-29)

2.1.10 (2018-04-25)

2.1.9 (2018-04-24)

2.1.8 (2018-04-17)

2.1.7 (2018-04-09)

2.1.6 (2017-11-21)

2.1.5 (2017-11-20)

2.1.4 (2017-07-16)

2.1.3 (2017-07-07)

2.1.2 (2017-07-06)

2.1.1 (2017-07-05)

2.1.0 (2017-07-02)

2.0.20 (2017-05-09)

2.0.19 (2017-02-22)

2.0.18 (2016-10-28)

2.0.17 (2016-10-22)

2.0.16 (2016-10-17)

2.0.15 (2016-10-16)

2.0.14 (2016-03-20)

2.0.13 (2015-12-15)

2.0.12 (2015-11-26)

2.0.11 (2015-10-07 14:16)

2.0.10 (2015-10-07 12:47)

2.0.9 (2015-09-26)

2.0.8 (2015-09-15)

2.0.7 (2015-09-14)

2.0.6 (2015-09-08)

2.0.5 (2015-08-23)

2.0.4 (2015-08-18)

2.0.3 (2015-08-01)

2.0.2 (2015-06-29)

2.0.1 (2015-06-19 21:21)

2.0.0 (2015-06-19 10:41)

1.0.71 (2015-05-17)

1.0.70 (2015-05-08)

1.0.69 (2015-05-05 12:28)

1.0.68 (2015-05-05 09:49)

1.0.67 (2015-05-03)

1.0.66 (2015-04-03)

1.0.65 (2015-04-02)

1.0.64 (2015-03-29)

1.0.63 (2015-02-19)

1.0.62 (2015-02-17)

1.0.61 (2015-02-11)

1.0.60 (2015-02-03 10:12)

1.0.59 (2015-02-03 04:05)

1.0.58 (2015-01-07)

1.0.57 (2014-12-23)

1.0.56 (2014-12-17)

1.0.55 (2014-12-09)

1.0.54 (2014-11-15)

1.0.53 (2014-11-01)

1.0.52 (2014-10-23)

1.0.51 (2014-10-20 16:01)

1.0.50 (2014-10-20 01:50)

1.0.49 (2014-10-13)

1.0.48 (2014-10-12)

1.0.47 (2014-10-08)

1.0.46 (2014-10-03)

1.0.45 (2014-09-29)

1.0.44 (2014-09-26 09:17)

1.0.43 (2014-09-26 01:08)

1.0.42 (2014-09-25)

1.0.41 (2014-09-23)

1.0.40 (2014-09-19)

1.0.39 (2014-09-17)

1.0.38 (2014-09-13)

1.0.37 (2014-09-08)

1.0.36 (2014-09-01)

1.0.35 (2014-08-16)

1.0.34 (2014-08-14)

1.0.33 (2014-07-28)

1.0.32 (2014-07-26)

1.0.31 (2014-07-23)

1.0.30 (2014-07-15)

1.0.29 (2014-07-02)

1.0.28 (2014-06-24)

1.0.27 (2014-06-10)

1.0.26 (2014-05-30)

1.0.25 (2014-05-26)

1.0.24 (2014-05-24)

1.0.23 (2014-05-23)

1.0.22 (2014-05-22)

1.0.21 (2014-05-20)

1.0.20 (2014-05-09)

1.0.19 (2014-05-06)

1.0.18 (2014-05-04)

1.0.17 (2014-04-20)

1.0.16 (2014-04-19 23:29)

1.0.15 (2014-04-19 20:19)

1.0.14 (2014-04-19 12:52)

1.0.13 (2014-04-19 11:06)

1.0.12 (2014-04-18 16:58)

1.0.11 (2014-04-18 08:18)

1.0.10 (2014-04-17)

1.0.9 (2014-04-12)

1.0.8 (2014-04-11)

1.0.7 (2014-04-10)

1.0.6 (2014-04-07)

1.0.5 (2014-03-31)

1.0.4 (2014-03-29)

1.0.3 (2014-03-19)

1.0.2 (2014-03-12)

1.0.1 (2014-03-07)

1.0.0 (2014-03-05)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/switchbot.launch
      • token
      • secret [default: '']
      • respawn [default: true]
      • pub_status [default: false]
      • pub_status_rate [default: 0.1]
      • pub_device_name [default: bot74a]

Services

No service files found

Plugins

No plugins found.

Recent questions tagged switchbot_ros at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.1.28
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_3rdparty.git
VCS Type git
VCS Version master
Last Updated 2024-12-26
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

use switchbot with ros

Additional Links

No additional links.

Maintainers

  • Kei Okada
  • Yoshiki Obinata

Authors

  • Yoshiki Obinata

switchbot_ros

This is the package for using switchbot by ROS.

System Component

Screenshot from 2021-07-17 12-43-06 JSK members can edit the original file here.

How to use?

Setup switchbot

  1. Install the switchbot app to your phone(iPhone, Android) and create your switchbot account.
  2. Prepare the switchbot devices and setup by your phone.

Especially, please set your device name and enable cloud service.

  1. Get your token
    On switchbot App, profile -> settings, and press version for 10 times and you can get token.

For JSK members, please see this slide for account and token details and installed switchbots for our lab.

How to launch switchbot ros

Execute roslaunch switchbot_ros switchbot.launch token:=YOUR_TOKEN and publish ActionGoal.

ROS API

The switchbot_ros node provides APIs below.

~/devices topic ( Type: switchbot_ros/DeviceArray )

This topic provides devices list available with switchbot_ros server.

~/switch action ( Type: switchbot_ros/SwitchBotcommandAction )

This action provide command interface to switchbot devices.

From command line

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/eng2/7f/73b2/test/button'
  command: 'press'
  parameter: ''
  command_type: ''"

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/myroom/light'
  command: 'turnOn'
  parameter: ''
  command_type: ''"

Please see here for command details.

Client libraries

There are rospy/roseus client libraries for switchbot_ros server.

roseus

(setq msg (get-devices)) ;; get device list
(dolist (device (send msg :devices)) (format t "name: ~A, type: ~A~%" (send device :name) (send device :type))) ;; print device list
(control-device "/eng2/7f/73b2/light/upper/switch" "turnOn") ;; control some device
(control-device "/eng2/7f/73b2/light/lower/switch" "turnOn")

rospy

import rospy
from switchbot_ros.switchbot_ros_client import SwitchBotROSClient

rospy.init_node('hoge')
client = SwitchBotROSClient()

devices = client.get_devices()
print(devices)

client.control_device('/eng2/7f/73b2_bot_kitchen', 'turnOn')

An example of controlling the elevator at Eng2 building at The University of Tokyo

Please see here for controlling elevator example code by JSK Spot robot.

CHANGELOG

Changelog for package switchbot_ros

2.1.28 (2023-07-24)

2.1.27 (2023-06-24)

  • fix package.xml/CMakeLists.txt to supress catkin_lint errors (#479)
  • Contributors: Kei Okada

2.1.26 (2023-06-14)

  • add LICENSE files (#476)
  • Contributors: Kei Okada

2.1.25 (2023-06-08)

  • [switchbot_ros] add actionlib_msgs and std_msgs as build_depend (#357)
  • [switchbot_ros] add obinata as maintainer for switchbot_ros (#358)
  • Pr/add switchbot device list publisher (#344)
  • [switchbot_ros] update switchbot_ros client (#345)
  • [chaplus_ros][switchbot_ros]fix exec_depend in ros noetic (#332)
  • [switchbot_ros] update ReadMe.md (#324)
  • [switchbot_ros] Sort device_list (#331)
  • [switchbot_ros] remove catching base exception and output more specific key error when the switchbot id not exists on the server (#321)
  • add install section to switchbot_ros/CMakeLists.txt (#294)
  • [switchbot_ros] use python setup to avoid relative import in switchbot_ros (#278)
  • [switchbot_ros] catch the exception when init the node (#279)
  • Contributors: Kei Okada, Koki Shinjo, Naoya Yamaguchi, Shingo Kitagawa, Yoshiki Obinata, Iory Yanokura

2.1.24 (2021-07-26)

2.1.23 (2021-07-21)

  • add rosnode for switchbot (#260)
  • Contributors: Yoshiki Obinata

2.1.22 (2021-06-10)

2.1.21 (2020-08-19)

2.1.20 (2020-08-07)

2.1.19 (2020-07-21)

2.1.18 (2020-07-20)

2.1.17 (2020-04-16 21:51)

2.1.16 (2020-04-16 15:21)

2.1.15 (2019-12-12)

2.1.14 (2019-11-21)

2.1.13 (2019-07-10)

2.1.12 (2019-05-25)

2.1.11 (2018-08-29)

2.1.10 (2018-04-25)

2.1.9 (2018-04-24)

2.1.8 (2018-04-17)

2.1.7 (2018-04-09)

2.1.6 (2017-11-21)

2.1.5 (2017-11-20)

2.1.4 (2017-07-16)

2.1.3 (2017-07-07)

2.1.2 (2017-07-06)

2.1.1 (2017-07-05)

2.1.0 (2017-07-02)

2.0.20 (2017-05-09)

2.0.19 (2017-02-22)

2.0.18 (2016-10-28)

2.0.17 (2016-10-22)

2.0.16 (2016-10-17)

2.0.15 (2016-10-16)

2.0.14 (2016-03-20)

2.0.13 (2015-12-15)

2.0.12 (2015-11-26)

2.0.11 (2015-10-07 14:16)

2.0.10 (2015-10-07 12:47)

2.0.9 (2015-09-26)

2.0.8 (2015-09-15)

2.0.7 (2015-09-14)

2.0.6 (2015-09-08)

2.0.5 (2015-08-23)

2.0.4 (2015-08-18)

2.0.3 (2015-08-01)

2.0.2 (2015-06-29)

2.0.1 (2015-06-19 21:21)

2.0.0 (2015-06-19 10:41)

1.0.71 (2015-05-17)

1.0.70 (2015-05-08)

1.0.69 (2015-05-05 12:28)

1.0.68 (2015-05-05 09:49)

1.0.67 (2015-05-03)

1.0.66 (2015-04-03)

1.0.65 (2015-04-02)

1.0.64 (2015-03-29)

1.0.63 (2015-02-19)

1.0.62 (2015-02-17)

1.0.61 (2015-02-11)

1.0.60 (2015-02-03 10:12)

1.0.59 (2015-02-03 04:05)

1.0.58 (2015-01-07)

1.0.57 (2014-12-23)

1.0.56 (2014-12-17)

1.0.55 (2014-12-09)

1.0.54 (2014-11-15)

1.0.53 (2014-11-01)

1.0.52 (2014-10-23)

1.0.51 (2014-10-20 16:01)

1.0.50 (2014-10-20 01:50)

1.0.49 (2014-10-13)

1.0.48 (2014-10-12)

1.0.47 (2014-10-08)

1.0.46 (2014-10-03)

1.0.45 (2014-09-29)

1.0.44 (2014-09-26 09:17)

1.0.43 (2014-09-26 01:08)

1.0.42 (2014-09-25)

1.0.41 (2014-09-23)

1.0.40 (2014-09-19)

1.0.39 (2014-09-17)

1.0.38 (2014-09-13)

1.0.37 (2014-09-08)

1.0.36 (2014-09-01)

1.0.35 (2014-08-16)

1.0.34 (2014-08-14)

1.0.33 (2014-07-28)

1.0.32 (2014-07-26)

1.0.31 (2014-07-23)

1.0.30 (2014-07-15)

1.0.29 (2014-07-02)

1.0.28 (2014-06-24)

1.0.27 (2014-06-10)

1.0.26 (2014-05-30)

1.0.25 (2014-05-26)

1.0.24 (2014-05-24)

1.0.23 (2014-05-23)

1.0.22 (2014-05-22)

1.0.21 (2014-05-20)

1.0.20 (2014-05-09)

1.0.19 (2014-05-06)

1.0.18 (2014-05-04)

1.0.17 (2014-04-20)

1.0.16 (2014-04-19 23:29)

1.0.15 (2014-04-19 20:19)

1.0.14 (2014-04-19 12:52)

1.0.13 (2014-04-19 11:06)

1.0.12 (2014-04-18 16:58)

1.0.11 (2014-04-18 08:18)

1.0.10 (2014-04-17)

1.0.9 (2014-04-12)

1.0.8 (2014-04-11)

1.0.7 (2014-04-10)

1.0.6 (2014-04-07)

1.0.5 (2014-03-31)

1.0.4 (2014-03-29)

1.0.3 (2014-03-19)

1.0.2 (2014-03-12)

1.0.1 (2014-03-07)

1.0.0 (2014-03-05)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/switchbot.launch
      • token
      • secret [default: '']
      • respawn [default: true]
      • pub_status [default: false]
      • pub_status_rate [default: 0.1]
      • pub_device_name [default: bot74a]

Services

No service files found

Plugins

No plugins found.

Recent questions tagged switchbot_ros at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.1.28
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_3rdparty.git
VCS Type git
VCS Version master
Last Updated 2024-12-26
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

use switchbot with ros

Additional Links

No additional links.

Maintainers

  • Kei Okada
  • Yoshiki Obinata

Authors

  • Yoshiki Obinata

switchbot_ros

This is the package for using switchbot by ROS.

System Component

Screenshot from 2021-07-17 12-43-06 JSK members can edit the original file here.

How to use?

Setup switchbot

  1. Install the switchbot app to your phone(iPhone, Android) and create your switchbot account.
  2. Prepare the switchbot devices and setup by your phone.

Especially, please set your device name and enable cloud service.

  1. Get your token
    On switchbot App, profile -> settings, and press version for 10 times and you can get token.

For JSK members, please see this slide for account and token details and installed switchbots for our lab.

How to launch switchbot ros

Execute roslaunch switchbot_ros switchbot.launch token:=YOUR_TOKEN and publish ActionGoal.

ROS API

The switchbot_ros node provides APIs below.

~/devices topic ( Type: switchbot_ros/DeviceArray )

This topic provides devices list available with switchbot_ros server.

~/switch action ( Type: switchbot_ros/SwitchBotcommandAction )

This action provide command interface to switchbot devices.

From command line

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/eng2/7f/73b2/test/button'
  command: 'press'
  parameter: ''
  command_type: ''"

rostopic pub /switchbot_ros/switch/goal switchbot_ros/SwitchBotCommandActionGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  device_name: '/myroom/light'
  command: 'turnOn'
  parameter: ''
  command_type: ''"

Please see here for command details.

Client libraries

There are rospy/roseus client libraries for switchbot_ros server.

roseus

(setq msg (get-devices)) ;; get device list
(dolist (device (send msg :devices)) (format t "name: ~A, type: ~A~%" (send device :name) (send device :type))) ;; print device list
(control-device "/eng2/7f/73b2/light/upper/switch" "turnOn") ;; control some device
(control-device "/eng2/7f/73b2/light/lower/switch" "turnOn")

rospy

import rospy
from switchbot_ros.switchbot_ros_client import SwitchBotROSClient

rospy.init_node('hoge')
client = SwitchBotROSClient()

devices = client.get_devices()
print(devices)

client.control_device('/eng2/7f/73b2_bot_kitchen', 'turnOn')

An example of controlling the elevator at Eng2 building at The University of Tokyo

Please see here for controlling elevator example code by JSK Spot robot.

CHANGELOG

Changelog for package switchbot_ros

2.1.28 (2023-07-24)

2.1.27 (2023-06-24)

  • fix package.xml/CMakeLists.txt to supress catkin_lint errors (#479)
  • Contributors: Kei Okada

2.1.26 (2023-06-14)

  • add LICENSE files (#476)
  • Contributors: Kei Okada

2.1.25 (2023-06-08)

  • [switchbot_ros] add actionlib_msgs and std_msgs as build_depend (#357)
  • [switchbot_ros] add obinata as maintainer for switchbot_ros (#358)
  • Pr/add switchbot device list publisher (#344)
  • [switchbot_ros] update switchbot_ros client (#345)
  • [chaplus_ros][switchbot_ros]fix exec_depend in ros noetic (#332)
  • [switchbot_ros] update ReadMe.md (#324)
  • [switchbot_ros] Sort device_list (#331)
  • [switchbot_ros] remove catching base exception and output more specific key error when the switchbot id not exists on the server (#321)
  • add install section to switchbot_ros/CMakeLists.txt (#294)
  • [switchbot_ros] use python setup to avoid relative import in switchbot_ros (#278)
  • [switchbot_ros] catch the exception when init the node (#279)
  • Contributors: Kei Okada, Koki Shinjo, Naoya Yamaguchi, Shingo Kitagawa, Yoshiki Obinata, Iory Yanokura

2.1.24 (2021-07-26)

2.1.23 (2021-07-21)

  • add rosnode for switchbot (#260)
  • Contributors: Yoshiki Obinata

2.1.22 (2021-06-10)

2.1.21 (2020-08-19)

2.1.20 (2020-08-07)

2.1.19 (2020-07-21)

2.1.18 (2020-07-20)

2.1.17 (2020-04-16 21:51)

2.1.16 (2020-04-16 15:21)

2.1.15 (2019-12-12)

2.1.14 (2019-11-21)

2.1.13 (2019-07-10)

2.1.12 (2019-05-25)

2.1.11 (2018-08-29)

2.1.10 (2018-04-25)

2.1.9 (2018-04-24)

2.1.8 (2018-04-17)

2.1.7 (2018-04-09)

2.1.6 (2017-11-21)

2.1.5 (2017-11-20)

2.1.4 (2017-07-16)

2.1.3 (2017-07-07)

2.1.2 (2017-07-06)

2.1.1 (2017-07-05)

2.1.0 (2017-07-02)

2.0.20 (2017-05-09)

2.0.19 (2017-02-22)

2.0.18 (2016-10-28)

2.0.17 (2016-10-22)

2.0.16 (2016-10-17)

2.0.15 (2016-10-16)

2.0.14 (2016-03-20)

2.0.13 (2015-12-15)

2.0.12 (2015-11-26)

2.0.11 (2015-10-07 14:16)

2.0.10 (2015-10-07 12:47)

2.0.9 (2015-09-26)

2.0.8 (2015-09-15)

2.0.7 (2015-09-14)

2.0.6 (2015-09-08)

2.0.5 (2015-08-23)

2.0.4 (2015-08-18)

2.0.3 (2015-08-01)

2.0.2 (2015-06-29)

2.0.1 (2015-06-19 21:21)

2.0.0 (2015-06-19 10:41)

1.0.71 (2015-05-17)

1.0.70 (2015-05-08)

1.0.69 (2015-05-05 12:28)

1.0.68 (2015-05-05 09:49)

1.0.67 (2015-05-03)

1.0.66 (2015-04-03)

1.0.65 (2015-04-02)

1.0.64 (2015-03-29)

1.0.63 (2015-02-19)

1.0.62 (2015-02-17)

1.0.61 (2015-02-11)

1.0.60 (2015-02-03 10:12)

1.0.59 (2015-02-03 04:05)

1.0.58 (2015-01-07)

1.0.57 (2014-12-23)

1.0.56 (2014-12-17)

1.0.55 (2014-12-09)

1.0.54 (2014-11-15)

1.0.53 (2014-11-01)

1.0.52 (2014-10-23)

1.0.51 (2014-10-20 16:01)

1.0.50 (2014-10-20 01:50)

1.0.49 (2014-10-13)

1.0.48 (2014-10-12)

1.0.47 (2014-10-08)

1.0.46 (2014-10-03)

1.0.45 (2014-09-29)

1.0.44 (2014-09-26 09:17)

1.0.43 (2014-09-26 01:08)

1.0.42 (2014-09-25)

1.0.41 (2014-09-23)

1.0.40 (2014-09-19)

1.0.39 (2014-09-17)

1.0.38 (2014-09-13)

1.0.37 (2014-09-08)

1.0.36 (2014-09-01)

1.0.35 (2014-08-16)

1.0.34 (2014-08-14)

1.0.33 (2014-07-28)

1.0.32 (2014-07-26)

1.0.31 (2014-07-23)

1.0.30 (2014-07-15)

1.0.29 (2014-07-02)

1.0.28 (2014-06-24)

1.0.27 (2014-06-10)

1.0.26 (2014-05-30)

1.0.25 (2014-05-26)

1.0.24 (2014-05-24)

1.0.23 (2014-05-23)

1.0.22 (2014-05-22)

1.0.21 (2014-05-20)

1.0.20 (2014-05-09)

1.0.19 (2014-05-06)

1.0.18 (2014-05-04)

1.0.17 (2014-04-20)

1.0.16 (2014-04-19 23:29)

1.0.15 (2014-04-19 20:19)

1.0.14 (2014-04-19 12:52)

1.0.13 (2014-04-19 11:06)

1.0.12 (2014-04-18 16:58)

1.0.11 (2014-04-18 08:18)

1.0.10 (2014-04-17)

1.0.9 (2014-04-12)

1.0.8 (2014-04-11)

1.0.7 (2014-04-10)

1.0.6 (2014-04-07)

1.0.5 (2014-03-31)

1.0.4 (2014-03-29)

1.0.3 (2014-03-19)

1.0.2 (2014-03-12)

1.0.1 (2014-03-07)

1.0.0 (2014-03-05)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/switchbot.launch
      • token
      • secret [default: '']
      • respawn [default: true]
      • pub_status [default: false]
      • pub_status_rate [default: 0.1]
      • pub_device_name [default: bot74a]

Services

No service files found

Plugins

No plugins found.

Recent questions tagged switchbot_ros at Robotics Stack Exchange