Design and Implementation of Specialized Integrated Development Environment for IoT Programming Experiment Course

Authors

DOI:

https://doi.org/10.52731/liir.v004.177

Keywords:

Cross-compiling, microcomputer programming, arduino-cli, IoT education

Abstract

The department to which the authors belong started an IoT (Internet of Things) programming experiment for third-year university students in 2021. This experiment involves the development of programs written in the C language, specifically tailored for the M5StickC-Plus platform. In the preceding years, the authors employed tools such as the Arduino IDE, the command-line build tool arduino-cli, and the Visual Studio Code Arduino extension to create their experimental environment. However, configuring these tools for the desired environment proved to be intricate, and managing serial connections during the coding process posed further complexities. To address these challenges, the authors designed a streamlined integrated development  environment (IDE) using Java language. This dedicated IDE excels in presenting an organized array of sample source files, facilitating source code editing, and enabling efficient device programming. Consequently, the issues encountered while using the Arduino IDE and Visual Studio Code were successfully mitigated, resulting in a smoother progression of experiments for the students. 

References

Motoki Miura. IoT Programming (Experimental instructions) . https://cit. istlab.info/m5stickcplus/index.html. (Confirmed at August 20, 2023) (in Japanese).

Arduino SA. Arduino IDE. https://www.arduino.cc/en/software. (Confirmed at August 20, 2023).

The Arduino Team. Arduino CLI. https://github.com/arduino/arduino-cli/. (Confirmed at August 20, 2023).

Johannes Schindelin, Lars Schneider, Edward Thomson, Matthew John Cheetham, and Matthias Aßhauer. Git for Windows. https://gitforwindows.org/, 2015.(Confirmed at August 20, 2023).

Jon Loeliger and Matthew McCullough. Version Control with Git: Powerful tools and techniques for collaborative software development. O’Reilly Media, Inc., 2012.

Fifesoft. RSyntaxTextArea – A Syntax Highlighting Text Component. https: //bobbylight.github.io/RSyntaxTextArea/, 2015. (Confirmed at August 20, 2023).

Fazecast Inc. jSerialComm – Platform-independent serial port access for Java. https: //fazecast.github.io/jSerialComm/ (Confirmed at August 20, 2023).

Sangay Chedup, Dushantha Nalin K. Jayakody, Bevek Subba, and Hassaan Hydher. Performance comparison of arduino ide and runlinc ide for promotion of iot stem ai in education process. In E. S. Gopi, editor, Machine Learning, Deep Learning and Computational Intelligence for Wireless Communication, pages 237–254, Singapore, 2021. Springer Singapore.

Adin Baskoro Pratomo and Riza Satria Perdana. Arduviz, a visual programming ide for arduino. In 2017 International Conference on Data and Software Engineering (ICoDSE), pages 1–6. IEEE, 2017.

M5Stack. UIFlow. https://flow.m5stack.com/. (Confirmed at August 20, 2023).

Downloads

Published

2023-12-20