摘要(英) |
In order to promote the development of Internet of Things (IoT), this study designs a complete IoT development platform, which provides a hardware single board computer and a software development environment to help shorten the development and deployment time of IoT applications.
The hardware single board computer is designed with Arm Cortex-M4 architecture microcontroller as the core, equipped with NOR flash memory storage system and Ethernet interface. The software uses the C language development environment, and plans a hierarchical modular project structure, using the GNU GCC toolchain and Makefile to construct application projects, and provides a series of development aids.
In order to simplify the development process, this study designs the In-System-Programming (ISP) programming function, which realizes the host-side command line programming tool and the microcontroller-side bootloader program. It consists of two main functions: UART ISP, which allows firmware updating through the connection with the host side, and Flash IAP, which manages the storage space through the LittleFS embedded file system and allows the boot program to be loaded from the on-board storage system.
In order to provide single board computers with networking capabilities, I designed Ethernet physical layer and media access control layer drivers, and ported lwIP, a lightweight TCP/IP protocol stack, and conducted a series of tests on TCP, UDP, and other protocols to validate their networking capabilities to cover a wide range of possible application scenarios, and finally conducted a conceptual validation of the Ethernet OTA function. Finally, the Ethernet Over-the-Top (OTA) feature was proof-of-concept. |
參考文獻 |
[1] Farooq, M. U. et al. “A Review on Internet of Things (IoT).” International Journal of Computer Applications 113 (2015): 1-7.
[2] Li L, Guo M, Ma L, Mao H, Guan Q. Online Workload Allocation via Fog-Fog-Cloud Cooperation to Reduce IoT Task Service Delay. Sensors. 2019; 19(18):3830. https://doi.org/10.3390/s19183830
[3] Syed AS, Sierra-Sosa D, Kumar A, Elmaghraby A. IoT in Smart Cities: A Survey of Technologies, Practices and Challenges. Smart Cities. 2021; 4(2):429-475. https://doi.org/10.3390/smartcities4020024
[4] Ghazal TM, Hasan MK, Alshurideh MT, Alzoubi HM, Ahmad M, Akbar SS, Al Kurdi B, Akour IA. IoT for Smart Cities: Machine Learning Approaches in Smart Healthcare—A Review. Future Internet. 2021; 13(8):218. https://doi.org/10.3390/fi13080218
[5] F. Guo, F. R. Yu, H. Zhang, X. Li, H. Ji and V. C. M. Leung, "Enabling Massive IoT Toward 6G: A Comprehensive Survey," in IEEE Internet of Things Journal, vol. 8, no. 15, pp. 11891-11915, 1 Aug.1, 2021, doi: 10.1109/JIOT.2021.3063686.
[6] N. Tewari, N. Deepak, M. Joshi and J. S. bhatt, "Comparative Study of IoT Development Boards in 2021: Choosing right Hardware for IoT Projects," 2021 2nd International Conference on Intelligent Engineering and Management (ICIEM), London, United Kingdom, 2021, pp. 357-361, doi: 10.1109/ICIEM51511.2021.9445290.
[7] 陳信合,「IoT 開發平台-ASA 匯流排單板電腦開發」,國立中央大學,光機電工程碩士班,碩士論文,2017。
[8] 朱立宇,「物聯網裝置函式庫及開發環境」,國立中央大學,光機電工程碩士班,碩士論文,2020。
[9] 呂中祐,「物聯網機器人電控系統關鍵模組開發」,國立中央大學,光機電工程碩士班,碩士論文,2021。
[10] 劉文浩,「邊緣運算用單板電腦及函式庫開發」,國立中央大學,光機電工程碩士班,碩士論文,2022。
[11] IEEE Standard for Ethernet," in IEEE Std 802.3-2018 (Revision of IEEE Std 802.3-2015) , vol., no., pp.1-5600, 31 Aug. 2018, doi: 10.1109/IEEESTD.2018.8457469.
[12] RMII consortium, RMII™ Specification, 1998.
[13] Nuvoton Technology Corporation, M487KMCAN Datasheet, 2023. [Online]. Available: https://www.nuvoton.com/products/microcontrollers/arm-cortex-m4-mcus/m487-ethernet-series/m487kmcan/
[14] Microchip Technology Inc., ATmega16U4 Datasheet, 2016. [Online]. Available: https://www.microchip.com/en-us/product/ATMEGA16U4
[15] Winbond Electronics Corporation, W25Q128JV Datasheet, 2021. [Online]. Available: https://www.winbond.com/hq/product/code-storage-flash-memory/serial-nor-flash/index.html?__locale=zh_TW&partNo=W25Q128JV
[16] Texas Instruments Incorporated, DP83848C Datasheet, 2015. [Online]. Available: https://www.ti.com/product/DP83848C
[17] littlefs-project, littlefs project, https://github.com/littlefs-project/littlefs
[18] Dunkels, Adam., Design and implementation of the lwIP TCP/IP stack., Swedish Institute of Computer Science. 2., 2001
[19] Richard Barry, “Mastering the FreeRTOS™ Real Time Kernel A Hands-On Tutorial Guide”, December 4th, 2016, https://www.freertos.org/Documentation/RTOS_book.html
[20] SEGGER Microcontroller GmbH, SystemView User Manual (UM08027), https://www.segger.com/downloads/systemview/
[21] Joseph Yiu, The Definitive Guide to Arm Cortex-M3 and Cortex-M4 processors, Third Edition, 2013
[22] Intel, Intel Hexadecimal Object File Format Specification, 1988
[23] Texas Instruments Incorporated, AN-1469 PHYTER Design & Layout Guide, 2013
[24] cy023,軟體開發環境整合專案樣板,https://github.com/cy023/rtox
[25] cy023,裝置韌體更新系統原始碼,https://github.com/cy023/NuM487BOOT
[26] cy023,乙太網路連網系統原始碼,https://github.com/cy023/NuM487ETH |