🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
> 原文出处:http://www.ituring.com.cn/book/1580 > 作者: **[Phodal Huang](http://www.ituring.com.cn/users/165492) ** # 前言 设计物联网系统是件有意思的事情,它需要考虑到软件、硬件、通讯等多个不同方面。通过探索不同的语言,不同的框架,从而形成不同的解决方案。 在这里,我们将对设计物联网系统有一个简单的介绍,并探讨如何设计一个最小的物联网系统。 ## 目标读者 目标读者: 初入物联网领域,希望对物联网系统有一个大概的认识和把握,并学会掌握一个基础的物联网系统的设计。 * 硬件开发人员,对物联网有兴趣。 * 没有web开发经验 * 几乎为0的linux使用经验 * 想快速用于生产环境 * 对硬件了解有限的开发人员。 * 没接触过51、ARM、Arduino * 想了解以下内容: * RESTful与IOT * CoAP协议 * MQTT 本文档对一些概念(如)只做了一些基本介绍,以方便读者理解。如果您想进一步了解这些知识,会列出一些推荐书目,以供参考。 ## 不适合人群 * 如果你是在这方面已经有了丰富经验的开发者。 * 不是为了学习而学习这方面的知识。 ## 介绍 关于内容的选择,这是一个有意思的话题,因为我们很难判断不同的开发者用的是怎样的语言,用的是怎样的框架。 于是我们便自作主张地选择了那些适合于理论学习的语言、框架、硬件,去除掉其他一些我们不需要考虑的因素,如语法,复杂度等等。当然,这些语言、框架、硬件也是最流行的。 * Arduino: 如果你从头开始学过硬件的话,那么你会爱上它的。 * Raspberry PI: 如果你从头编译过GNU/Linux的话,我想你会爱上她的。 * Python: 简单地来说,你可以方便地使用一些扩展,同时代码就表达了你的想法。 * PHP : 这是一门容易部署的语言,我想你只需要在你的Ubuntu机器上,执行一下脚本就能完成安装了。而且,如果你是一个硬件开发者的话,你会更容易地找到其他开发者。 * Javascript : 考虑到javascript这门语言已经无处不在了,而且会更加流行。所以,在这里CoAP、MQTT等版本是基于Nodejs的。 * HTML、CSS : 这是必须的,同样,他们仍然无处不在。 * GNU/Linux: 作为部署到服务器的一部分——你需要掌握他。当然如果你要用WAMP也是可以的。 * CoAP: 用NodeJS构建IOT CoAP物联网 ### 为什么没有C ? 如果你还想用C学理论的话,烦请出门左拐。我想,C并不适合于学习相关硬件的理论。 ### 为什么不是JAVA ? 大有以下两个原因 * 学习JAVA的人很多,但是它不适合我们集中精力构建与学习,因为无关的代码太多了。 * 之前以及现在,我还是不喜欢JAVA (我更喜欢脚本语言,可以提高工作效率)。 ## 如何阅读 这只是一个小小的建议,仅针对于在选择阅读上没有经验的读者。 | 当前状态 | 建议 | | --- | --- | | 软件初学者 | 从头阅读 | | 硬件开发者 | 从头阅读 | | 没有web经验的开发者 | 从第二部分开始 | 我们会在前面十章里简单介绍一些必要的基础知识,这些知识将会在后面我们构建物联网系统时用到。 ## 源码 书中所用到的代码都托管在Github上面: * HTTP 协议 PHP版 [https://github.com/phodal/iot](https://github.com/phodal/iot)。 * CoAP 协议 Javascript版[https://github.com/phodal/iot-coap](https://github.com/phodal/iot-coap)。 `注意`: HTTP版可以在 [http://b.phodal.com](http://b.phodal.com/) 预览及使用。