| 研究生: |
陳冠升 Chen, Guan-Sheng |
|---|---|
| 論文名稱: |
設計與實作路燈管理系統:配置與佈署 Design and Implementation of a Street Light Management System: Configuration and Deployment |
| 指導教授: |
楊竹星
Yang, Chu-Sing |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2019 |
| 畢業學年度: | 107 |
| 語文別: | 英文 |
| 論文頁數: | 81 |
| 中文關鍵詞: | 路燈管理系統 、容器虛擬化 、串流直播 、SSH Tunnel |
| 外文關鍵詞: | Streetlight Management System, Containerization, Live Streaming, SSH Tunnel |
| 相關次數: | 點閱:129 下載:3 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
如今,越來越多的裝置連上網際網路以提供多元化的服務。路燈作為最常見的基礎設施之一,在智慧城市的概念中扮演著重要的角色。透過在路燈上結合各種感測器及嵌入式設備,可以實現一個資料收集的入口並讓這項大型基礎建設有機會轉型成為一個數位城市的平台。
本論文的主要目標為設計與實作一個路燈管理系統,其中邊緣運算裝置包括單晶片電腦、微控制器、傳感器和 IP 攝影機。除了路燈的照明控制,本系統還有提供即時的環境感測數據、影像串流直播,以及歷史資訊查詢的 API。為了方便管理及提高可擴展性,本研究提出了基於容器虛擬化技術部署所有運行於雲端伺服器及邊緣運算裝置之服務的方法,並且以初步的效能測試來驗證於效能較差的邊緣運算裝置同時執行多個容器化服務之可行性。此外,雲端伺服器與邊緣運算裝置之間的所有資料傳輸都需經過以非對稱式金鑰建立之 SSH 加密通道,並且所有服務在建立連線時會再以 Token 進行合法裝置的驗證。
Nowadays, more and more physical devices communicate and interact with others over the Internet. Streetlight, as a pervasive urban infrastructure, plays an important role in moving towards the smart city concept. Through integrating various sensors and embedded devices provides the opportunity to transform this large-scale infrastructure into a multifunctional digital urban platform.
In this thesis, our main objective is to design and implement a web-based streetlight management system that includes a set of edge devices (single-board computers, microcontrollers, sensors, and IP cameras). In addition to lighting control, this platform provides live streaming and real-time environmental sensor data, as well as a historical information query API. To increase the manageability and scalability, we propose a novel architecture to deploy both the cloud and edge services based on the containerization technology, and the preliminary performance evaluation shows the feasibility of running multiple containers in resource-constrained edge devices. Furthermore, communications between cloud and edge are secured with token verification and transmitted over an SSH tunnel.
[1] Global LED and Smart Street Lighting: Market Forecast (2017–2027). Northeast Group, 2017.
[2] R. Sairam, S. S. Bhunia, V. Thangavelu, and M. Gurusamy, “Netra: Enhancing iot security using nfv-based edge traffic analysis,” IEEE Sensors Journal, 2019.
[3] R. Álvarez, F. Duarte, A. AlRadwan, M. Sit, and C. Ratti, “Re-imagining streetlight infrastructure as a digital urban platform,” Journal of Urban Technology, vol. 24, no. 2, pp. 51–64, 2017.
[4] Docker, Build and Ship. Today Software Magazine, 2016.
[5] “Docker Images and layers.” https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/#images-and-layers.
[6] J. D. D. H. Diego, J. Saldana, J. Fernández-Navajas, and J. Ruiz-Mas, “Iotsafe, decoupling security from applications for a safer iot,” IEEE Access, vol. 7, pp. 29942–29962, 2019.
[7] “SSL Server Test (Powered by Qualys SSL Labs).” https://www.ssllabs.com/ssltest/.
[8] “sysstat—Performance monitoring tools for Linux.” https://github.com/sysstat/sysstat.
[9] United Nations, “World Urbanization.” https://www.un.org/development/desa/publications/2018-revision-of-world-urbanization-prospects.html, 2018.
[10] H. Ritchie, “How is an urban area defined?.” https://ourworldindata.org/how-urban-is-the-world, 2018.
[11] N.-C. Huang, S.-F. Kung, and S. Hu, “The relationship between urbanization, the built environment, and physical activity among older adults in taiwan,” International journal of environmental research and public health, vol. 15, no. 5, p. 836, 2018.
[12] K. O’Brien, “From Smart City To Future City: The 21st-Century Urbanization Challenge.” https://www.digitalistmag.com/improving-lives/2018/01/26/from-smart-city-to-future-city-21st-century-urbanization-challenge-05809136, 2018.
[13] D. Evans, How the Next Evolution of the Internet Is Changing Everything. CISCO IBSG, 2011.
[14] J. Bélissent, Getting Clever About Smart Cities: New Opportunities Require New Business Models. Forrester Research, 2010.
[15] J. Jin, J. Gubbi, S. Marusic, and M. Palaniswami, “An information framework for creating a smart city through internet of things,” IEEE Internet of Things journal, vol. 1, no. 2, pp. 112–121, 2014.
[16] “Internet of Things.” https://en.wikipedia.org/wiki/Internet_of_things.
[17] A. Gharaibeh, M. A. Salahuddin, S. J. Hussini, A. Khreishah, I. Khalil, M. Guizani, and A. Al-Fuqaha, “Smart cities: A survey on data management, security, and enabling technologies,” IEEE Communications Surveys & Tutorials, vol. 19, no. 4, pp. 2456– 2501, 2017.
[18] “2018 OWASP Internet of Things Top 10.” https://www.owasp.org/images/1/1c/OWASP-IoT-Top-10-2018-final.pdf.
[19] “2016 Dyn cyberattack.” https://en.wikipedia.org/wiki/2016_Dyn_cyberattack.
[20] C. Kolias, G. Kambourakis, A. Stavrou, and J. Voas, “Ddos in the iot: Mirai and other botnets,” Computer, vol. 50, no. 7, pp. 80–84, 2017.
[21] SCC Europe Staff, “How the EU’s GDPR will be a game changer for cities using open data.” https://eu.smartcitiescouncil.com/article/how-eus-gdpr-will-be-game-changer-cities-using-open-data, 2018.
[22] Y. Cao, Z. Xu, P. Qin, and T. Jiang, “Video processing on the edge for multimedia iot systems,” arXiv preprint arXiv:1805.04837, 2018.
[23] M.-h. Jia, Y.-q. Chen, G.-y. Zhang, P. Jiang, H. Zhang, and J. Wang, “A web service framework for astronomical remote observation in antarctica by using satellite link,” Astronomy and Computing, vol. 24, pp. 17–24, 2018.
[24] F. Campos, A. Simões, I. Sousa, R. Almeida, and P. Daniel, “Smart ip–central management system for public lighting in portugal,” CIRED-Open Access Proceedings Journal, vol. 2017, no. 1, pp. 1479–1481, 2017.
[25] P. T. Daely, H. T. Reda, G. B. Satrya, J. W. Kim, and S. Y. Shin, “Design of smart led streetlight system for smart city with web-based management system,” IEEE Sensors Journal, vol. 17, no. 18, pp. 6100–6110, 2017.
[26] G. Jia, G. Han, A. Li, and J. Du, “Ssl: Smart street lamp based on fog computing for smarter cities,” IEEE Transactions on Industrial Informatics, vol. 14, no. 11, pp. 4995– 5004, 2018.
[27] D. M. L. Escriva, J. Torres-Sospedra, and R. Berlanga-Llavori, “Smart outdoor light desktop central management systém,” IEEE Intelligent Transportation Systems Magazine, vol. 10, no. 2, pp. 58–68, 2018.
[28] P. Sharma, L. Chaufournier, P. Shenoy, and Y. Tay, “Containers and virtual machines at scale: A comparative study,” in Proceedings of the 17th International Middleware Conference, p. 1, ACM, 2016.
[29] “Linux namespaces.” http://man7.org/linux/man-pages/man7/namespaces.7.html.
[30] “Linux Control Group v2.” https://www.kernel.org/doc/Documentation/cgroup-v2.txt.
[31] “VMware vSphere Hypervisor.” https://www.vmware.com/products/vsphere-hypervisor.html.
[32] “KVM—Kernel-based Virtual Machine.” https://www.vmware.com/products/vsphere-hypervisor.html.
[33] “Docker, Inc..” https://www.docker.com/.
[34] “Libcontainer—a native Go implementation for creating containers.” https://github.com/opencontainers/runc/tree/master/libcontainer.
[35] D. Messina, “5 years later, where are you on your Docker journey?.” https://blog.docker.com/2018/03/5-years-later-docker-journey/, 2018.
[36] Q. Zhang, L. Liu, C. Pu, Q. Dou, L. Wu, and W. Zhou, “A comparative study of containers and virtual machines in big data environment,” arXiv preprint arXiv:1807.01842, 2018.
[37] S. Maheshwari, S. Deochake, R. De, and A. Grover, “Comparative study of virtual machines and containers for devops developers,” arXiv preprint arXiv:1808.08192, 2018.
[38] “LXC—Linux Containers.” https://linuxcontainers.org/.
[39] “Oracle VirtualBox.” https://www.virtualbox.org/.
[40] P. Bellavista and A. Zanni, “Feasibility of fog computing deployment based on docker containerization over raspberrypi,” in Proceedings of the 18th international conference on distributed computing and networking, p. 16, ACM, 2017.
[41] R. Morabito, “Virtualization on internet of things edge devices with container technologies: a performance evaluation,” IEEE Access, vol. 5, pp. 8835–8850, 2017.
[42] K. Kaur, T. Dhand, N. Kumar, and S. Zeadally, “Container-as-a-service at the edge: Trade-off between energy efficiency and service availability at fog nano data centers,” IEEE wireless communications, vol. 24, no. 3, pp. 48–56, 2017.
[43] L. Deshpande and K. Liu, “Edge computing embedded platform with container migration,” in 2017 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computed, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI), pp. 1–6, IEEE, 2017.
[44] R. Morabito, I. Farris, A. Iera, and T. Taleb, “Evaluating performance of containerized iot services for clustered devices at the network edge,” IEEE Internet of Things Journal, vol. 4, no. 4, pp. 1019–1030, 2017.
[45] S. Badiger, S. Baheti, and Y. Simmhan, “Violet: A large-scale virtual environment for internet of things,” in European Conference on Parallel Processing, pp. 309–324, Springer, 2018.
[46] “Docker Swarm.” https://docs.docker.com/engine/swarm/.
[47] “Kubernetes: Production-Grade Container Orchestration.” https://kubernetes.io/.
[48] T. Bui, “Analysis of docker security,” arXiv preprint arXiv:1501.02967, 2015.
[49] R. Yasrab, “Mitigating docker security issues,” arXiv preprint arXiv:1804.05039, 2018.
[50] “Docker Engine.” https://docs.docker.com/engine/docker-overview/.
[51] “Docker Hub.” https://hub.docker.com/.
[52] “Live streaming web audio and video.” https://developer.mozilla.org/en-US/docs/Web/Guide/Audio_and_video_delivery/Live_streaming_web_audio_and_video.
[53] “RFC 2326—RTSP/1.0.” https://tools.ietf.org/html/rfc2326.
[54] “Real-Time Messaging Protocol (RTMP) Specification.” https://www.adobe.com/devnet/rtmp.html.
[55] “RFC 8216—HTTP Live Streaming.” https://tools.ietf.org/html/rfc8216.
[56] “ISO/IEC 23009—Dynamic Adaptive Streaming over HTTP.” https://mpeg.chiariglione.org/standards/mpeg-dash.
[57] “Browser support Media Source Extensions.” https://caniuse.com/#feat=mediasource.
[58] “hls.js—JavaScript HLS client.” https://github.com/video-dev/hls.js/.
[59] “dash.js—JavaScript MPEG-DASH client.” https://github.com/Dash-Industry-Forum/dash.js.
[60] “flv.js—HTML5 FLV Player.” https://github.com/bilibili/flv.js.
[61] “nginx-rtmp-module—NGINX-based Media Streaming Server.” https://github.com/arut/nginx-rtmp-module.
[62] “nginx-http-flv-module—Media streaming server based on nginx-rtmp-module.” https://github.com/winshining/nginx-http-flv-module.
[63] J. D. de Hoz, J. Saldana, J. Fernández-Navajas, J. Ruiz-Mas, R. G. Rodríguez, and F. d. J. M. Luna, “Ssh as an alternative to tls in iot environments using http,” in 2018 Global Internet of Things Summit (GIoTS), pp. 1–6, IEEE, 2018.
[64] “RFC 4251—The Secure Shell (SSH) Protocol Architecture.” https://tools.ietf.org/html/rfc4251.
[65] “RFC 7540—HTTP/2.” https://tools.ietf.org/html/rfc7540.
[66] “zlib—A massively spiffy yet delicately unobtrusive compression library.” https://zlib.net/.
[67] “Docker CE.” https://docs.docker.com/install/linux/docker-ce/ubuntu/.
[68] “iptables.” https://netfilter.org/projects/iptables/index.html.
[69] “Docker Compose.” https://docs.docker.com/compose/.
[70] “YAML—a human friendly data serialization standard.” https://yaml.org/.
[71] “Nginx—an HTTP and reverse proxy server.” https://nginx.org/.
[72] “inotify-tools (inode notify)—provide a simple interface to inotify.” https://github.com/rvoicilas/inotify-tools.
[73] “Alpine Linux.” https://alpinelinux.org/.
[74] “Django.” https://www.djangoproject.com/.
[75] “RFC 6455—WebSocket.” https://tools.ietf.org/html/rfc6455.
[76] “WSGI (Python Web Server Gateway Interface).” https://www.python.org/dev/peps/pep-3333/.
[77] “ASGI (Asynchronous Server Gateway Interface).” https://asgi.readthedocs.io/en/latest/specs/main.html.
[78] “Supervisor.” http://supervisord.org/.
[79] “Gunicorn.” https://gunicorn.org/.
[80] “Gevent.” http://www.gevent.org/.
[81] “Daphne.” https://github.com/django/daphne.
[82] “BusyBox.” https://busybox.net/.
[83] “Logrotate—automatic rotation compression, removal log files.” https://github.com/logrotate/logrotate.
[84] “MongoDB.” https://www.mongodb.com/.
[85] “Redis.” https://redis.io/.
[86] “SSH daemon—AUTHORIZED_KEYS file format.” http://man7.org/linux/man-pages/man8/sshd.8.html#AUTHORIZED_KEYS_FILE_FORMAT.
[87] “RFC 2818—HTTP Over TLS.” https://tools.ietf.org/html/rfc2818.
[88] “OpenSSH Portable Release.” https://www.openssh.com/portable.html.
[89] “Let’s Encrypt.” https://letsencrypt.org/.
[90] “Certbot.” https://certbot.eff.org/.
[91] “Network Operation Center of NCKUEE.” https://noc.ee.ncku.edu.tw/homepage/index.html.
[92] “FFmpeg—A complete, cross-platform solution to record, convert and stream audio and video.” https://ffmpeg.org/.
[93] “RFC 7159—JavaScript Object Notation (JSON).” https://tools.ietf.org/html/rfc7159.
[94] “jQuery Schedule—A schedule management with jQuery.” https://github.com/Yehzuna/jquery-schedule.
[95] “Ajax—Asynchronous JavaScript + XML.” https://developer.mozilla.org/en-US/docs/Web/Guide/AJAX.
[96] “bootstrap-datetimepicker—Date and Time picker widget based on twitter bootstrap.” https://github.com/smalot/bootstrap-datetimepicker.
[97] “SwarmKit—A toolkit for orchestrating distributed systems at any scale..” https://github.com/docker/swarmkit.
[98] “autossh—Automatically restart SSH sessions and tunnels.” https://www.harding.motd.ca/autossh/.
[99] “websocket-client—websocket client for python.” https://github.com/websocket-client/websocket-client.
[100] “pyserial—Python serial port access library.” https://github.com/pyserial/pyserial.
[101] “buildx—Docker CLI plugin for extended build capabilities with BuildKit.” https://github.com/docker/buildx.
[102] “Docker Swarm Visualizer—A visualizer for Docker Swarm Mode.” https://github.com/dockersamples/docker-swarm-visualizer.
[103] “live555proxyserverdocker—LIVE555 Proxy Server for Docker.” https://hub.docker.com/r/migoller/live555proxyserverdocker.