{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,11]],"date-time":"2025-11-11T15:46:40Z","timestamp":1762876000319,"version":"build-2065373602"},"reference-count":31,"publisher":"MDPI AG","issue":"7","license":[{"start":{"date-parts":[[2018,7,5]],"date-time":"2018-07-05T00:00:00Z","timestamp":1530748800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100003725","name":"National Research Foundation of Korea","doi-asserted-by":"publisher","award":["2016R1D1A1B03930379"],"award-info":[{"award-number":["2016R1D1A1B03930379"]}],"id":[{"id":"10.13039\/501100003725","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>Many Internet of Things (IoT) applications are emerging and evolving rapidly thanks to widespread open-source hardware platforms. Most of the high-end open-source IoT platforms include built-in peripherals, such as the universal asynchronous receiver and transmitter (UART), pulse width modulation (PWM), general purpose input output (GPIO) ports and timers, and have enough computation power to run embedded operating systems such as Linux. However, each IoT platform has its own way of configuring peripherals, and it is difficult for programmers or users to configure the same peripheral on a different platform. Although diverse open-source IoT platforms are widespread, the difficulty in programming those platforms hinders the growth of IoT applications. Therefore, we propose an easy and convenient way to program and configure the operation of each peripheral using a user-friendly Web-based software framework. Through the implementation of the software framework and the real mobile robot application development along with it, we show the feasibility of the proposed software framework, named SoEasy.<\/jats:p>","DOI":"10.3390\/s18072162","type":"journal-article","created":{"date-parts":[[2018,7,5]],"date-time":"2018-07-05T10:52:44Z","timestamp":1530787964000},"page":"2162","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":9,"title":["SoEasy: A Software Framework for Easy Hardware Control Programming for Diverse IoT Platforms"],"prefix":"10.3390","volume":"18","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5202-7713","authenticated-orcid":false,"given":"Junyoung","family":"Lee","sequence":"first","affiliation":[{"name":"Department of Computer and Communication Engineering, Daegu University, Gyeongsan 38453, Korea"}]},{"given":"Gwang-il","family":"Park","sequence":"additional","affiliation":[{"name":"School of Computer and Communication Engineering, Daegu University, Gyeongsan 38453, Korea"}]},{"given":"Jong-ha","family":"Shin","sequence":"additional","affiliation":[{"name":"School of Computer and Communication Engineering, Daegu University, Gyeongsan 38453, Korea"}]},{"given":"Jin-hae","family":"Lee","sequence":"additional","affiliation":[{"name":"School of Computer and Communication Engineering, Daegu University, Gyeongsan 38453, Korea"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0767-7888","authenticated-orcid":false,"given":"Cormac","family":"Sreenan","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University College Cork, Cork T12 YN60, Ireland"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3626-342X","authenticated-orcid":false,"given":"Seong-eun","family":"Yoo","sequence":"additional","affiliation":[{"name":"School of Computer and Communication Engineering, Daegu University, Gyeongsan 38453, Korea"}]}],"member":"1968","published-online":{"date-parts":[[2018,7,5]]},"reference":[{"key":"ref_1","unstructured":"(2017, November 22). Open Source Hardware Associatoin (OSHWA). Available online: https:\/\/www.oshwa.org\/."},{"key":"ref_2","unstructured":"(2017, November 22). Arduino. Available online: https:\/\/www.arduino.cc."},{"key":"ref_3","unstructured":"(2017, December 19). RASPBERRY PI 2 MODEL B. Available online: https:\/\/www.raspberrypi.org\/products\/raspberry-pi-2-model-b\/."},{"key":"ref_4","unstructured":"Guinard, D., and Trifa, V. (2016). Building the Web of Things: With Examples in Node.js and Raspberry Pi, Manning Publications Co."},{"key":"ref_5","unstructured":"(2017, December 19). Intel Galileo Gen 2 Development Board. Available online: https:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/datasheets\/galileo-g2-datasheet.pdf."},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Jie, L., Ghayvat, H., and Mukhopadhyay, S. (2015, January 15\u201317). Introducing Intel Galileo as a development platform of smart sensor: Evolution, opportunities and challenges. Proceedings of the 2015 IEEE 10th Conference on Industrial Electronics and Applications (ICIEA), Auckland, New Zealand.","DOI":"10.1109\/ICIEA.2015.7334403"},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Serna, M.\u00c1., Sreenan, C.J., and Fedor, S. (2015, January 7\u20139). A visual programming framework for wireless sensor networks in smart home applications. Proceedings of the 2015 IEEE Tenth International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP), Singapore.","DOI":"10.1109\/ISSNIP.2015.7106946"},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"1645","DOI":"10.1016\/j.future.2013.01.010","article-title":"Internet of Things (IoT): A vision, architectural elements, and future directions","volume":"29","author":"Gubbi","year":"2013","journal-title":"Future Gener. Comput. Syst."},{"key":"ref_9","unstructured":"(2017, November 22). Libmraa\u2014Low Level Skeleton Library for Communication on GNU\/Linux Platforms. Available online: https:\/\/github.com\/intel-iot-devkit\/mraa."},{"key":"ref_10","unstructured":"(2017, November 22). Hwio. Available online: https:\/\/github.com\/mrmorphic\/hwio."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"35","DOI":"10.1016\/j.fcij.2017.02.001","article-title":"A survey of IoT cloud platforms","volume":"1","author":"Ray","year":"2016","journal-title":"Future Comput. Inform. J."},{"key":"ref_12","unstructured":"(2017, November 22). Temboo. Available online: https:\/\/temboo.com\/."},{"key":"ref_13","unstructured":"(2017, November 27). LEGO MINDSTORMS. Available online: https:\/\/www.lego.com\/en-us\/mindstorms."},{"key":"ref_14","unstructured":"(2017, November 22). Introduction to Blockly. Available online: https:\/\/developers.google.com\/blockly\/guides\/overview."},{"key":"ref_15","unstructured":"Hsu, T.C., and Hu, H.C. (2017). Application of the Four Phases of Computational Thinking and Integration of Blocky Programming in a Sixth-Grade Mathematics Course, Siu-Cheung KONG The Education University of Hong Kong."},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"200","DOI":"10.1016\/j.chb.2015.05.047","article-title":"A new way of teaching programming skills to K-12 students: Code.org","volume":"52","year":"2015","journal-title":"Comput. Hum. Behav."},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"60","DOI":"10.1145\/1592761.1592779","article-title":"Scratch: Programming for all","volume":"52","author":"Resnick","year":"2009","journal-title":"Commun. ACM"},{"key":"ref_18","unstructured":"Lin, Y.W., Lin, Y.B., Yang, M.T., and Lin, J.H. (2017). ArduTalk: An Arduino Network Application Development Platform Based on IoTtalk. IEEE Syst. J., 1\u20139."},{"key":"ref_19","unstructured":"(2018, June 23). Webduino. Available online: https:\/\/webduino.io\/en."},{"key":"ref_20","first-page":"185","article-title":"Review Article: Complete Reference on Remote Device Control through WebIOPi IoT Framework using BCM 2835 SOC","volume":"10","author":"Saravanan","year":"2016","journal-title":"Aust. J. Basic Appl. Sci."},{"key":"ref_21","unstructured":"(2018, June 23). WebIOPi. Available online: http:\/\/webiopi.trouch.com\/."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"57","DOI":"10.1109\/MCE.2016.2640718","article-title":"Create Your Own Internet of Things: A survey of IoT platforms","volume":"6","author":"Singh","year":"2017","journal-title":"IEEE Consum. Electron. Mag."},{"key":"ref_23","unstructured":"(2018, June 23). Blynk. Available online: https:\/\/www.blynk.cc\/."},{"key":"ref_24","unstructured":"Mochel, P. (2018, July 04). The sysfs filesystem. Available online: https:\/\/www.kernel.org\/doc\/mirror\/ols2005v1.pdf#page=321."},{"key":"ref_25","unstructured":"(2017, November 22). Intel Galileo\u2014Configuring the Serial Port in Linux. Available online: http:\/\/www.malinov.com\/Home\/sergey-s-blog\/intelgalileo-configuringtheserialportinlinux."},{"key":"ref_26","unstructured":"(2017, November 22). WiringPi. Available online: http:\/\/wiringpi.com\/."},{"key":"ref_27","unstructured":"(2017, December 15). Camera Module V2. Available online: https:\/\/www.raspberrypi.org\/products\/camera-module-v2\/."},{"key":"ref_28","unstructured":"Multi Chassis Tank (Rescue vehicle) (2017, November 22). DG012-RP. Available online: http:\/\/www.dagurobot.com\/goods.php?id=56."},{"key":"ref_29","unstructured":"(2017, November 22). [JMOD-MOTOR-1] High Efficient 2 Channel DC Motor Driver Module. Available online: http:\/\/jcnet.co.kr\/?p=347."},{"key":"ref_30","unstructured":"(2017, November 22). Bluetooth Shield. Available online: http:\/\/wiki.seeedstudio.com\/wiki\/Bluetooth_Shield."},{"key":"ref_31","unstructured":"Park, K.I., Shin, J.H., Lee, J.H., and Yoo, S.E. (2016, January 15\u201317). Poster: SoEasy\u2014A Software Framework for Easy Peripheral Control Programming in Diverse Hardware Platforms. Proceedings of the 2016 International Conference on Embedded Wireless Systems and Networks (EWSN \u201916), Graz, Austria."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/18\/7\/2162\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T15:11:21Z","timestamp":1760195481000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/18\/7\/2162"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,7,5]]},"references-count":31,"journal-issue":{"issue":"7","published-online":{"date-parts":[[2018,7]]}},"alternative-id":["s18072162"],"URL":"https:\/\/doi.org\/10.3390\/s18072162","relation":{},"ISSN":["1424-8220"],"issn-type":[{"type":"electronic","value":"1424-8220"}],"subject":[],"published":{"date-parts":[[2018,7,5]]}}}