The 9th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications 21-23 September 2017, Bucharest, Romania On Applicability of Wireless Routers to Deployment of Smart Spaces in Internet of Things Environments Sergey A. Marchenkov, Dmitry G. Korzun Petrozavodsk State University (PetrSU) Petrozavodsk, Russia {marchenk, dkorzun}@cs.karelia.ru

Abstract – The use of wireless technologies is now in- to extend the platform architecture with other protocols evitable in smart spaces development for Internet of Things. by adding new modules. Consequently, the use of wired A smart space is created by deploying a Semantic Informa- and wireless TCP/IP networks is inevitable in Smart-M3- tion Broker (SIB) on a host device. This paper examines the applicability of a wireless for being a SIB host based development of smart spaces. device to deployment of smart spaces in Internet of Things Wi-Fi is the most common wireless technology to environments. CuteSIB is one of SIB implementations of interconnect different IoT-enabled devices. Almost every the Smart-M3 platform and focus is on Qt-based devices. smart space environment is equipped with a wireless We provide a technique for creating an OpenWrt-based embedded system composed of CuteSIB software compo- access point (a wireless router) to ensure interaction nents for a smart spaces deployment using a cross-compiling between SIB and agents that operate on mobile devices method. The resulting embedded system is used to deploy (e.g. smartphones, tablets). In this configuration, SIB is the SmartRoom system—a Smart-M3-based application that deployed on a dedicated host device (e.g. server machine creates a virtual shared workspace in a multimedia equipped or local computer). Deployment of smart spaces in IoT room to support collaborative activity of participants. The conducted experiments confirm that capacity of a wireless environments still faces a number of challenges. Firstly, router is satisfactory for deployment of this class of Smart- deployment of smart spaces is a complex and time- M3 applications. consuming process requiring the installation of more different participating devices and software components. Keywords – Smart Spaces; Smart-M3; Internet of Things (IoT); Embedded Systems; Wireless Router; Smart Room Secondly, there are no packaged product being an open embedded system that would be a generic solution for I.INTRODUCTION deployment of smart spaces in IoT environments. Smart spaces are gaining relevance as promising de- CuteSIB [5] is an implementation variant of Smart- ployment environments for novel classes of applications M3 SIB with the focus on a wide spectrum of Qt-based stemming from the dynamic discovery and interaction IoT devices. This paper examines the applicability of a between smart objects and resources available in their wireless router for being a CuteSIB host device to de- physical localities. The Internet of Things (IoT) supports ployment of smart spaces in IoT environments, in contrast ubiquitous connectivity property for smart spaces [1], [2]. to more common case of server hosting. Such a class The paper considers smart spaces deployed in localized of embedded devices can be evolved towards packaged resource-restricted IoT environments [3]. Such a smart product composed of Smart-M3 software components to space is typically associated with a physical spatial- advance the smart spaces deployment in the wireless and restricted place equipped with a variety of devices. resource-restricted settings of localized IoT environments, A smart space requires a software platform defined as combining in one device a wireless access point, a smart middleware, addressing interoperability across heteroge- space middleware, and part of the application system [6]. neous devices and providing multiple services. This paper Our previous work confirms that a single-board com- considers the Smart-M3 platform, which provides open puter () capacity is enough to host both source middleware for implementation of the smart space CuteSIB and some search service operating with the concept in IoT environments [4]. The Smart-M3 platform public DBpedia service from the Internet [7]. This paper defines an SSAP interaction protocol for its main software considers a wireless router to host CuteSIB. The target components: the semantic information broker (SIB) and class of wireless routers is restricted with OpenWrt-Based agents, called knowledge processors (KPs). As a general firmware such as DD-WRT. A wireless router is designed matter, KPs run on the devices that support TCP/IP- for low cost and low power consumption. Native compil- based network transport protocol, although it is possible ing of Smart-M3 software components may require more resources than are available on this device [8]. Cross- home automation systems. A cost-effective home energy compiling can solve the above problems and provide such saving system based on a small embedded system with important compiling properties as speed, capability and remote controlling feature introduced in [15]. This system flexibility. is composed of an OpenWrt-based wireless router which The contribution of this paper consists of: 1) the tech- gives benefits of saving energy and safety through lighting nique of creating an OpenWrt-based embedded system control. composed of CuteSIB software components for a smart UniGate [16] is a modular universal wireless com- spaces deployment using a cross-compiling method, 2) the munication gateway based on a wireless router with deployment model of the SmartRoom system using a OpenWrt operating systems that enables interconnectivity wireless router to host the SIB. The obtained solutions between devices using different wireless interfaces such as was evaluated based on the SmartRoom system [9]. The WiFi, Bluetooth, WiMAX, Zigbee and USB as pluggable experiments confirm that capacity of a wireless router modules. A feature of this embedded system is to allow is satisfactory for deployment of smart space for this connected devices to share resources such as a webcam, application. hard disk, etc. that connected to the wireless router. The rest of the paper is organized as follows. Section II The above research showed the importance of embed- overviews recent advances in the development and de- ded devices and systems for IoT environments. Recent ployment of smart spaces in IoT environments. Section III IoT application actively use embedded system such as describes our cross-compiling technique for creation of single-board computers and wireless routers to deploy the OpenWrt-based embedded system composed of Cute- IoT middleware on them, creating cost-effective sys- SIB software components. Section IV proposes the de- tems based on a small embedded devices that enable ployment model of the SmartRoom system based on a interconnectivity between different surrounding devices wireless router as a SIB host device. Section V presents and advanced control. CuteSIB, considered in this paper, the performance evaluation for the SmartRoom case study. provides such critical requirements for IoT middleware as Section VI concludes the paper. interoperability across heterogeneous devices and porta- bility on different hardware. Open hardware can open II.RELATED WORK new opportunities for IoT applications created using the In recent years, many research works have focused on Smart-M3 platform. For instance, open hardware can be the development of the IoT software platform defined evolved towards packaged product composed of Smart- as middleware. The role of the middleware for IoT was M3 software components to advance the smart spaces studied in [10], [11]. Those works showed that there exists deployment. no generic middleware which can be applicable across all possible smart environments. Support of semantic III.WIRELESSROUTERAS SIB HOSTDEVICE modeling and managing data volumes, interoperability Let us describe the technique of creating an OpenWrt- across heterogeneous devices using generic interfaces and based embedded system for smart spaces deployment. The portability on different hardware are critical requirements embedded system is composed of CuteSIB software com- of the middleware to operate in IoT environments. ponents using a cross-compiling method. The technique The importance of open hardware for deployment of consists of the following steps: the IoT middleware demonstrated in [12]. There are 1) installing the OpenWrt-based firmware on the wire- an increasing number of open embedded platforms that less router; can be used in place of proprietary commercial devices. 2) setting up the wireless router; Raspberry Pi is one of important devices, which compares 3) cross-compiling of Qt libraries; favorably to commercial devices in terms of performance, 4) cross-compiling of dependent libraries for CuteSIB; power, and cost. Using such a class of devices as a host 5) cross-compiling of CuteSIB itself; devices allows more developers to simplify deployment 6) installing the software components on the router. of IoT environments, which could result in growth in the The above steps are performed for the RT- number of IoT applications. N66U wireless router, which is the typical representative Various kinds of IoT applications based on embedded of an embedded devices. The hardware specification of systems for smart homes were studied. Main equipment the router is summarized in Table I. The router is well of smart home environment is embedded type system equipped to run such OpenWrt-Based Firmware as DD- of intelligent home network control platform [13]. The WRT. Mounting a USB storage device via USB 2.0 port monitoring system which can remotely trace and report can solve the problem of lack of memory providing the status information about the network nodes and nearly-unlimited space to install many applications and servers in smart home environment proposed in [14]. libraries including the CuteSIB dependencies and the In this environment equipped by different sensors and application itself. actuators, there is the central device—Raspberry Pi— DD-WRT is a based alternative OpenSource which acts as a universal data handler for all connected firmware suitable for a great variety of WLAN routers and embedded systems [17]. There is a project’s wiki page nents on x86 systems for a routers with OpenWrt-Based about the ASUS RT-N66U with the firmware installation Firmware with building the packages can be per- instructions [18]. It is required to choose the latest rec- formed using the OpenWrt build system, which is the part ommended K3.X Broadcom build (at present, 26138 is of the OpenWrt Software Development Kit providing a set a recommended build) as USB support does not work in of Makefiles, utilities, and patches that allows developers K2.6 builds. to easily generate both a cross-compiling toolchain and a The floating-point unit (FPU) emulation has been dis- root file system for a wireless routers. abled since revision 20047 of Kernel 3.x build [19], A ipkg package is built using the source code located so packages from NSLU2-Linux [20] is not in the package subdirectory under the SDK directory. In fully supported officially. Optware packages is currently order to tell the OpenWrt build system how to build a in development for Kernel 3.x builds [21]. In order to package from the source code, it is necessary to create a solve FRU emulation problems OpenWrt packages for special BuildPackage Makefile in the package directory the brcm47xx platform with a MIPSel architecture to be with the source code. The BuildPackage Makefile defines used [22]. Furthermore, OpenWrt packages pre-compiled the meta information of the package, where to download for the appropriate platform can be used for different the package, how to configure, how to compile, where Openwrt-based firmwares providing portability. to install the compiled libraries and binaries, etc. The The DD-WRT team works now to merge the code base following command is executed in the SDK directory to of DD-WRT with the OpenWRT firmware. Consequently, build a package example: OpenWRT’s package management system (ipkg) is also make package/example/compile applicable for DD-WRT. Since ipkg is a command line program, SSH is needed into the router to run this The latest release of Qt for embedded Linux can be utility. The Journaling Flash File System (JFFS) should downloaded from the official site of the Qt project [24]. be enabled. Qt Core and Qt Network are necessary and sufficient Qt JFFS is mounted on the USB drive, see DD-WRT modules for CuteSIB operation. Each module must be project’s wiki page [23]. After the preparation and parti- built as a separate ipkg package using the OpenWrt build tion of the drive, USB support needs to be enabled on system. It is necessary to create the Qt package directory the router. Then the following console commands are as described above with all the required files. In order to executed on the router to mount the USB drive (data cross-compile Qt modules for a router with an MIPSel partition) to JFFS: architecture the following way of running the configure script at the BuildPackage created Makefile is used: mount /dev/sda3 /mnt ./configure -arch mipsel -no-c++11 mkdir /mnt/jffs -xplatform linux--g++ -no-strip mount /mnt/jffs/ /jffs -make libs {other options} In order to use ipkg, it is needed to create the folder Other options include disabling unnecessary parts of Qt /jffs/tmp/ipkg. To assure that the install OpenWrt and setting the install paths of the binaries and libraries packages will run stable one must provide compatible for OpenWrt SDK. The qmake tool for Openwrt SDK OpenWrt uClibc library. It is recommended to install requires a specific qmake.conf and qmake.mk files located the latest release of uClibc library (version 0.9.33.2) in Qt package directory. This files describe the platform manually. configuration variables, the qmake configure and compile The cross-compiling process consist of the following options. three steps: (1) cross-compiling of Qt, (2) cross-compiling CuteSIB requires special libraries which are needed of dependent libraries for CuteSIB, (3) cross-compiling to cross-compile it. The majority of dependent libraries of CuteSIB. Cross-compiling of these program compo- are found in the respective packages in the OpenWrt download area for the appropriate release and platform, in Table I. ASUS RT-N66U WIRELESS ROUTER SPECIFICATION this case, it is Attitude Adjustment release and brcm47xx Item Description platform respectively. There are some of the packages Platform Broadcom such as libdb, unixodbc, zlib, etc [25]. However, other BCM4706 dependent libraries are to be built from source code with Target brcm47xx Instruction Set MIPS32 74K series the OpenWrt build system. A list of these libraries is Bootloader CFE summarized in Table II. CPU 600 MHz Each of these libraries relies on Autotools build system Flash memory 32 Mb which may lead to a number of problems in a cross- RAM 256 Mb WLAN 2.4GHz b/g/n compiling setting. The libraries should be compiled as a WLAN 5.0GHz a/n shared libraries. Code that is built into shared libraries USB ports 2 x 2.0 should normally be position-independent code, so that Table II. THE CUTESIB DEPENDENTLIBRARIES IV. SMARTROOMSYSTEMWITHWIRELESSROUTER Name Description libxml2 Software C library for parsing For an example of an application system, where smart (2.9.4) XML documents space is deployed on a wireless router, the paper considers expat Stream-oriented XML C (2.2.0) parser library the SmartRoom system [9], which is a Smart-M3 service- libiconv Character encoding conver- oriented application for assisting such collaboration ac- (1.14) sion library tivity as conference or meeting. The system creates a python Standard library that is dis- (2.7.13) tributed with Python shared SmartRoom space where services are constructed raptor2 Library that provides parsers by software agents running on embedded, mobile, and (2.0.15) and serializers that generate remote devices. The agents are also called knowledge RDF triples rasqal Library that supports RDF processors (KPs) to specify the Smart-M3 focus on in- (0.9.33) query languages formation sharing. The SmartRoom space is deployed librdf Library that provides the RDF within the localized IoT environment of a multimedia (1.0.17) API and triple stores equipped room. The environment is equipped with variety of devices connected to the local area network created by the wireless router. the shared library can readily be loaded at any address In the SmartRoom system, CuteSIB is deployed on the in router memory. The OpenWrt build system can be wireless router to organize the SmartRoom space for the instructed to generate position-independent code using the core services and their clients, as shown in Fig. 1. The -fPIC option in BuildPackage Makefile. core SmartRoom services provide the basic functionality The CuteSIB implementation is based on the Qt frame- associated with automated holding of collaborative activi- work. CuteSIB have plug-ins based architecture in order ties. Conference-service dynamically maintains the activ- to achieve higher extensibility due to the modular ap- ity program (i.e., conference section or agenda of talks). proach. All the components are used as plug-ins. The The result is visualized by Agenda-service. Presentation- architecture allows inclusion/exclusion of certain plug-ins service displays multimedia presentations and videos re- in compilation phase or in runtime. lated to talks of the participants. Content-service keeps multimedia content which is used in activity and provides For cross-compiling of the CuteSIB software compo- the shared content in the SmartRoom space. SmartRoom nents Cmake make system is used. CMake is a flexible participants use their personal mobile devices to access alternative to qmake for automating the generation of services via SmartRoom clients running on the smart- build configurations. It controls the software compila- phone or tablet. Adminclient is used by the chairman and tion process by using simple configuration files, called provides activity control panel (e.g., the chairman controls CMakeLists.txt files. The OpenWRT build system pro- the slide show and other visualization). vides abstraction for the suite of CMake tools using include/cmake.mk file in the SDK root directory. In the basic case, the following devices are needed: The CuteSIB project should have the BuildPackage Makefile with cmake call in Build/Configure define sec- tion. Furthermore, each CuteSIB component is to located in a separate subcategory with the CMakeLists.txt file. The CuteSIB core is built as an executable program using add executable cmake command in CMakeLists.txt. The access point are built as dynamic shared libraries using add library cmake command with SHARED setting property. After cross-compiling of the CuteSIB and all of its dependencies, the prebuilt packages are copied onto the router by using SSH. In order to install the packages on /jffs partition, the following console command is used: ipkg -d root -force-depends install

This cross-compiling technique of creating an embed- ded system composed of CuteSIB software components can be applied to a wide class of wireless routers with OpenWrt-Based firmware. The prebuilt packages can be used directly for a router with the same CPU architecture Figure 1. SmartRoom deployment with a wireless router to without additional preparation steps. host the SIB several local computers for data processing and service construction control, large-format displays for visual ser- vice delivery, personal mobile devices of participants, and a wireless router for the local network. The router is both CuteSIB host device and wireless access point for other participating devices. Conference-service is run along with Content-service on one local computer. This computer acts as a server performing data processing and providing web access to multimedia content. Presentation- service, Agenda-service, and Admin-client run on another local computer, which also serves the three displays.

V. PERFORMANCE EVALUATION The performance of the SmartRoom system in the Figure 3. CPU Usage with increasing update rate λ of a above configurations is evaluated. The simulation testbed virtual client is shown in Fig. 2. The workload was generated by 1 ≤ n ≤ 30 virtual clients in a periodic (deterministic) way, each had update rate 1 ≤ λ ≤ 200 operations per was started on the router and measured the CPU Usage second. The following equipment, application software (%) and Virtual Set Size (VSZ) memory (Mb). components, and utilities were used. Using utility SIBTest, n virtual clients were started to 1) Router ASUS RT-N66U: Wireless router (see Ta- generate background read&write workload for the SIB ble I). with the sum rate is nλ. The utility allows setting n, λ, 2) Two local desktops (CPU Intel Core i5, 4 GB RAM, and the number of subscriptions. 1 TB FlashRam, 100 MBit WAN): Hosting for the One dedicated smartphone (Windows Phone or An- core SmartRoom services. droid) ran a real SmartRoom client to accesses the core 3) CuteSIB ver. 0.5.0 (sourceforge.net/projects/ SmartRoom services. This activity went in parallel with smart-m3/): Implementation of Smart-M3 SIB. the background workload generated by n virtual clients. 4) Core SmartRoom services (sourceforge.net/ In every demo experiment, the SmartRoom client per- projects/smartroom/files/services/). formed random user-driven slide changing during 30 s. 5) Mobile SmartRoom clients for Windows Phone or The measured CPU Usage is shown in Fig. 3. With Android (sourceforge.net/projects/smartroom/files/ increasing the number of clients, the router CPU quickly clients/). reached the capacity limit of 60%. The rest 40% were 6) pidstat: Utility to record workload data on the SIB used by other processes. In particular, the dropbear pro- host machine. cess was responsible for the SSH connection (30 ... 35%) 7) SibTest: Utility for testing the SIB. and the DD-WRT system processes (5 ... 10%). This limit On the computer with Conference-service and Content- shows when the increasing workload saturates the CPU service a SSH connection with the router was established. capacity. CuteSIB was launched on DD-WRT router. Utility pidstat When the router has reached the 60% limit of CPU usage, the available capacity was saturated, and the SIB was overloaded with the stress workload. The number of incoming requests became increasing faster than the SIB could serve the requests, i.e., the SIB internal queue grew monotonically until the available memory was exhausted. Our experiments showed that the CuteSIB process con- sumes the available VSZ memory (300 Mb) in 8 ... 10 minutes. Nevertheless, this property confirms the high de- pendability level of CuteSIB, compared with other Smart- M3 SIB implementations. The standard RAM in router ASUS RT-N66U is 256 Mb. The additional memory can be used from a flash card, similarly the swap file technique in UNIX/Windows systems. The processing time observable on the user side is shown in Fig. 4. The real SmartRoom client was changing slides, and the operation delay (i.e., the response time— the time to complete a slide change) was measured (in Figure 2. Testbed for experiments seconds). Starting from n ≈ 8 ... 10 the delay became [4] F. Viola, A. D’Elia, D. Korzun, I. Galov, A. Kashevnik, and S. Balandin, “The M3 architecture for smart spaces: Overview of semantic information broker implementations,” in Proc. of the 19th Conference of Open Innovations Association FRUCT, S. Balandin and T. Tyutina, Eds. FRUCT Oy, Helsinki, Finland, Nov. 2016, pp. 264–272. [5] I. Galov, A. Lomov, and D. Korzun, “Design of semantic informa- tion broker for localized computing environments in the Internet of Things,” in Proc. 17th Conf. of Open Innovations Association FRUCT. ITMO University, IEEE, Apr. 2015, pp. 36–43. [6] D. G. Korzun, I. V. Galov, and A. A. Lomov, “Smart space deployment in wireless and mobile settings of the Internet of Things,” in Proc. IEEE 3rd International Symposium on Wireless Systems IDAACS:SWS, 2016, pp. 86–91. [7] S. Marchenkov, A. Borodulin, D. Baganov, and D. Korzun, “Cute- SIB demo for Raspberry Pi,” in Proc. 18th Conf. Open Innovations Figure 4. Delay in changing slides from mobile SmartRoom Framework Program FRUCT. ITMO Univeristy, Apr. 2016, pp. client 545–545. [8] S. Mikhailov, “Smart-M3 platform installation to DD-WRT-based Wi-Fi router,” in Proc. 18th Conf. of Open Innovations Association FRUCT, S. Balandin, T. Tyutina, and A. Levina, Eds. ITMO growing fast due to the upcoming SIB overload. For University, Apr. 2016, pp. 564–566. 15 < n ≤ 30 (not shown in Fig. 4) the delay became [9] D. Korzun, I. Galov, A. Kashevnik, and S. Balandin, “Virtual inappropriate for practical use. Nevertheless, the experi- shared workspace for smart spaces and M3-based case study,” in Proc. 15th Conf. of Open Innovations Association FRUCT, ments showed that the router capacity is enough for small S. Balandin and U. Trifonova, Eds. ITMO University, Apr. 2014, collaborative activity with a dozen of participants at most. pp. 60–68. [10] S. Bandyopadhyay, M. Sengupta, S. Maiti, and S. Dutta, “Role of middleware for internet of things: A study,” International Journal VI.CONCLUSION of Computer Science & Engineering Survey (IJCSES), vol. 2, no. 3, pp. 94–105, August 2011. This paper experimentally examined the applicability of [11] A. Whitmore, A. Agarwal, and L. Da Xu, “The Internet of a wireless router to deployment of smart spaces in Internet Things—a survey of topics and trends,” Information Systems of Things environments. First, the cross-compiling of cre- Frontiers, vol. 17, no. 2, pp. 261–274, April 2015. [12] R. Fisher, L. Ledwaba, G. Hancke, and C. Kruger, “Open hard- ating an OpenWrt-based embedded system composed of ware: A role to play in wireless sensor networks?” Sensors (Basel), CuteSIB software components for a smart spaces deploy- vol. 15, no. 3, pp. 6818–6844, March 2015. ment. This technique can be applied to deployment of Qt- [13] L. Nan, “Research on the design and implementation of smart home network system based on the embedded technology,” in based IoT middleware on many other devices of a similar Proc. 2nd International Conference on Electrical, Computer En- class. Second, the smart space deployment model of the gineering and Electronics (ICECEE 2015), 2015, pp. 1702–1706. SmartRoom system with a wireless router was presented. [14] D. Kovac, J. Hosek, P. Masek, and M. Stusek, “Keeping eyes on your home: Open-source network monitoring center for mobile The performance of the deployed system was evaluated. devices,” in Proc. 38th International Conference on Telecommuni- Our experiments indicate that the wireless router capacity cations and Signal Processing (TSP). IEEE, 2015, pp. 612–616. is satisfactory for the considered application case. [15] C. G. Kim and K. J. Kim, “Implementation of a cost-effective home lighting control system on embedded Linux with OpenWrt,” Personal and Ubiquitous Computing, vol. 18, no. 3, pp. 535–542, ACKNOWLEDGMENT 2014. [16] E. Felemban, M. Murad, M. A. Manzoor, and A. A. Sheikh, This research is supported by the Ministry of Education “UniGate: Modular universal wireless gateway,” in Proc. 2014 and Science of Russia within project # 2.5124.2017/8.9 of World Congress on Computer Applications and Information Sys- the basic part of state research assignment for 2017–2019. tems (WCCAIS). IEEE, Jan. 2014, pp. 1–3. [17] About DD-WRT. [Online]. Available: https://www.dd-wrt.com/ site/content/about REFERENCES [18] (2016, Feb.) Asus RT-N66U. [Online]. Available: http://www. dd-wrt.com/wiki/index.php/Asus RT-N66U [1] S. Balandin and H. Waris, “Key properties in the development of [19] (2012, Sep.) Trac: Changeset 20047. [Online]. Available: smart spaces,” in Proc. 5th Int’l Conf. Universal Access in Human- http://svn.dd-wrt.com/changeset/20047 Computer Interaction (UAHCI ’09). Part II: Intelligent and Ubiq- [20] (2009, Oct.) NSLU2-Linux. [Online]. Available: http://www. uitous Interaction Environments, LNCS 5615, C. Stephanidis, Ed. -linux.org/ Springer-Verlag, Jul. 2009, pp. 3–12. [21] (2015, Dec.) OTRW2 (Optware The Right Way Take [2] L. Roffia, F. Morandi, J. Kiljander, A. D. Elia, F. Vergari, F. Viola, 2). [Online]. Available: http://www.dd-wrt.com/wiki/index.php/ L. Bononi, and T. Cinotti, “A semantic publish-subscribe architec- OTRW2 (Optware the right way Take 2) ture for the Internet of Things,” IEEE Internet of Things Journal, [22] (2013, Jun.) Trac: Changeset 21807. [Online]. Available: vol. PP, no. 99, 2016. http://svn.dd-wrt.com/changeset/21807 [3] D. Korzun, A. Kashevnik, S. Balandin, and A. Smirnov, “The [23] (2015, Feb.) USB Storage. [Online]. Available: http://www. Smart-M3 platform: Experience of smart space application de- dd-wrt.com/wiki/index.php/USB storage velopment for Internet of Things,” in Internet of Things, Smart [24] Qt Downloads. [Online]. Available: https://download.qt.io Spaces, and Next Generation Networks and Systems. Proc. 15th [25] (2014, Jul.) OpenWrt: Wireless Freedom. [Online]. Int’l Conf. Next Generation Wired/Wireless Networking and 8th Available: https://downloads.openwrt.org/attitude adjustment/12. Conf. on Internet of Things and Smart Spaces (NEW2AN/ruSMART 09/brcm47xx 2015), LNCS 9247, S. Balandin, S. Andreev, and Y. Koucheryavy, Eds. Springer, Aug. 2015, pp. 56–67.