##介绍

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

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

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

###为什么没有C ?

如果你还想用C学理论的话，呵呵。C并不适合于学习相关理论的硬件

###为什么不是JAVA ?

大致有下面两个原因

- JAVA学的人很多，然而不适合我们将主要精力集中于构建与学习，因为无关的代码太多了。
- 当时以及现在，我还是不喜欢JAVA(ps:更喜欢脚本语言，可以在更少的时间做更多的事)。

###为什么没有Android ？

在IOT的repo中: [https://github.com/phodal/iot](https://github.com/phodal/iot) 是有Android的示例，然而这些理论不适合在这里讨论。

##如何阅读

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

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