##介绍

关于内容的选择，这是一个有意思的话题，因为我们很难判断不同的开发者用的是怎样的语言，用的是怎样的框架。

于是我们便自作主张地选择了那些适合于理论学习的语言、框架、硬件，去除掉其他一些我们不需要考虑的因素，如语法，复杂度等等。当然，这些语言、框架、硬件也是最流行的。

- Arduino: 如果你从头开始学过硬件的话，那么你会爱上它的。
- Raspberry PI: 如果你从头编译过GNU/Linux的话，我想你会爱上她的。
- Python: 简单地来说，你可以方便地使用一些扩展，同时代码就表达了你的想法。
- PHP : 这是一门容易部署的语言，我想你只需要在你的Ubuntu机器上，执行一下脚本就能完成安装了。而且，如果你是一个硬件开发者的话，你会更容易地找到其他开发者。
- Javascript : 考虑到javascript这门语言已经无处不在了，而且会更加流行。所以，在这里CoAP、MQTT等版本是基于Nodejs的。
- HTML、CSS : 这是必须的，同样，他们仍然无处不在。
- GNU/Linux: 作为部署到服务器的一部分——你需要掌握他。当然如果你要用WAMP也是可以的。
- CoAP: 用NodeJS构建IOT CoAP物联网

###为什么没有C ?

``C都不懂还跑过来干嘛``。

###为什么不是JAVA ?

大有以下两个原因

- 学习JAVA的人很多，但是它不适合我们集中精力构建与学习，因为无关的代码太多了。
- 之前以及现在，我还是不喜欢JAVA (我更喜欢脚本语言，可以提高工作效率)。

##如何阅读

这只是一个小小的建议，仅针对于在选择阅读上没有经验的读者。

当前状态  | 建议 |
| ------- | -----|
软件初学者| 从头阅读
硬件开发者| 从头阅读
没有web经验的开发者| 从第二部分开始

我们会在前面十章里简单介绍一些必要的基础知识，这些知识将会在后面我们构建物联网系统时用到。
