Our life is getting filled by Internet of Things (IoT) devices. These devices often rely on closed or poorly documented protocols, with unknown formats and semantics. Learning how to interact with such devices in an autonomous manner is key for interoperability and automatic verification of their capabilities. In this paper, we propose RL-IoT -- a system that explores how to automatically interact with possibly unknown IoT devices. We leverage reinforcement learning (RL) to understand the semantics of protocol messages and to control the device to reach a given goal, while minimizing the number of interactions. We assume only to know a database of possible IoT protocol messages, whose semantics are however unknown. RL-IoT exchanges messages with the target IoT device, learning those commands that are useful to reach the given goal. Our results show that RL-IoT is able to solve simple and complex tasks. With properly tuned parameters, RL-IoT learns how to perform actions with the target device, a Yeelight smart bulb for our case study, completing non-trivial patterns with as few as 400 interactions. RL-IoT opens the opportunity to use RL to automatically explore how to interact with IoT protocols with limited information, and paving the road for interoperable systems.
翻译:我们的生活正被各种事物的互联网(IoT)装置所填满。这些装置往往依赖封闭或记录不全的协议,其格式和语义不明。学习如何以自主方式与这些装置互动是互操作性和自动验证其能力的关键。在本文中,我们提议RL-IoT -- -- 一个探索如何与可能未知的 IoT 设备自动互动的系统。我们利用强化学习(RL)来理解协议信件的语义,控制设备以达到一个特定目标,同时尽量减少互动的次数。我们假设仅仅知道一个可能的 IoT 协议信息数据库,而其语义却仍然未知。RL-IoT 与目标 IoT 设备交换信息,学习那些对于达到既定目标有用的命令。我们的结果显示,RL-IoT 能够解决简单而复杂的任务。我们通过适当调整的参数,RL-IoT 学会如何与目标设备进行动作,同时尽量减少互动。我们案例研究的Yeelight智能灯泡,完成非三维模式,只有400种互动。RL-I-I 与T 自动地对路端操作系统进行互动。