ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
3

ROS for the internet of things

asked 2014-11-28 03:10:33 -0500

Hello everyone! I'm new to ROS and I have a question.

I need to have data that mimic a typical home owner interactions with his smart gadgets at home. So I need to have lots of sensors installed in this virtual environment (e.g. on doors or light bulbs to detect when the owner open and close them, and maybe other sensors to detect temperature, humidity, etc..) and I want to manually control something to act like the home owner while he interacts with these smart gadgets and most importantly, I want to be able to log the data generated from these gadgets.

In a nutshell, a testbed for a typical home usage in the so called "Internet of Things" paradigm.

Can I build something like this using ROS or one of its tools? and how hard it will be?

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
6

answered 2014-11-28 07:28:04 -0500

ahendrix gravatar image

This would definitely be possible with ROS, and it would make a great, easy prototype, but ROS probably isn't suitable for a commercial IoT product.

ROS has some great features that will make prototyping easy:

  • Python API for quick scripts
  • Anonymous pub/sub and remapping for easy re-use of nodes
  • Existing packages like rosserial for hardware integration

But ROS also has some drawbacks that make it unsuitable for commercial deployment:

  • Requires a full Linux OS (Ubuntu)
  • Lots of dependencies; requires several GB of disk space to install.
  • Centralized ROS master needed for connection setup
  • Does not handle lossy or intermittent network connections well

I'm not familiar with the IoT frameworks, but one of them might be more suitable.

edit flag offensive delete link more

Comments

Thanks ahendrix, I'm not interested in any sort of commercial deployment, it's only for research purposes. Also I don't care about the network reliability and it's OK to have the central master node. I just want to have a virtual smart home with lots of sensors to log the user interactions with them

nashamri gravatar image nashamri  ( 2014-11-28 08:45:57 -0500 )edit

Great! I just wanted to make sure that you and future users are aware of the limitations that ROS may have in this sort of setting.

ahendrix gravatar image ahendrix  ( 2014-11-29 18:10:19 -0500 )edit
5

answered 2014-11-28 10:02:46 -0500

corb gravatar image

Check out OpenHAB.org . This is a full open source Home Automation system. It has a very flexible framework with GUI and should give you what you want. I am currently working on a bridge between OpenHAB and ROS (they are both cleanly designed pub/sub systems so its pretty straightforward. This would have OpenHAB control all the home automation sensors and present information to ROS. This would allow you to do things like: OpenHAB detects motion or water leak and ROS dispatches a robot with camera. Or, if you have a Baxter and an IoT clothes dryer, the dryer will signal that the clothes are ready and Baxter would fold them.

The power of OpenHAB is that it has adapters that can talk to the zillions of different protocols currently roaming the IoT. OpenHAB is the guts of the Eclipse SmartHome project.

edit flag offensive delete link more

Comments

Thanks corb, I'm not interested in real physical things and how to control them. I just want a tool that allows me to build virtual environment with virtual smart things. My goal is the data generated from these smart things. I want to build a system that intelligently adapts to the user behaviour.

nashamri gravatar image nashamri  ( 2014-11-28 12:10:47 -0500 )edit

OpenHAB has a demo mode that will display a GUI with on/off for switches, sliders for temperature, completely virtual. The config is a fairly simple text file. OpenHAB is a plug-in architecture so to just download the core is pretty quick and small.

corb gravatar image corb  ( 2014-11-28 12:39:16 -0500 )edit

Thanks corb, I'll check OpenHAB :)

nashamri gravatar image nashamri  ( 2014-12-02 02:47:17 -0500 )edit

Hi, @corb you have news about this integration of OpenHAB with ROS? Thanks.

Carlos Delfino gravatar image Carlos Delfino  ( 2018-12-17 15:29:11 -0500 )edit

@corb What do you think about rosjava? (Only supported in kentic). OpenHAB was written in Java. One of my thoughts was to make rosjava "better" so you can as example use the ROS Publisher and Subscriber and send informations to an ROS robot.

Another solution was maybe the mqtt_bridge. Because you can use MQTT inside OpenHAB.

Michdo93 gravatar image Michdo93  ( 2020-12-04 18:26:03 -0500 )edit

Question Tools

4 followers

Stats

Asked: 2014-11-28 03:10:33 -0500

Seen: 2,196 times

Last updated: Nov 28 '14