我们之前所测试和实现的功能都是在本地的,并不能满足我们物联网“联网”的功能,所能实现的功能和效果都是有限的。
为了实现网络远程的感知和控制,我们就需要发布Web服务,将本地Arduino板的感知和控制封装成一个接口发布出去,供其他平台调用,实现网络平台对Arduino板的控制,从而实现我们“物物联网”的效果。
搭建Web服务的方法有很多种,大家可以选择 LAMP、 LNMP 架构,或者JDK+Tomcat+JS的架构,还有基于Python的Django、Tornado、Flask、Twisted等等,根据大家掌握的技能和兴趣可以随意选择,只要能实现我们的服务发布功能就行。
本文提供一种基于Python的Django实现Web发布的方法,一是因为Python的Django框架功能强大,前景良好;二是因为我们之前的代码基本都是基于Python实现的,再用Python的WEB架构更有利于我们学习和掌握Python;还有一个重要的原因,本人不会PHP,也没学过JSP,现在正好借这个机会学一下Django...... (真是书到用时方恨少呀 ---- 。---- )
好啦,话不多说,进入正题~~~(本人做到后面发现Django太大了,有点不太适合我们的小项目,所以就转用更为轻量级的flask了,大家可以参考后面的博文。(如果对Django感兴趣,可以继续参考本文))
Django综述
Django的特点及结构
Django框架的特点
相对于Python的其他Web框架,Django的功能是最完整的,Djangi定义了服务发布、路由映射、模版编程、数据处理的一整套功能。这也意味着Django模块之间精密耦合,开发者需要学习Django自己定义的这一整套技术。
Django的主要特点如下:
- 完善的文档
- 集成数据访问组件
- 强大的URL映射技术
- 后台管理系统自动生成
- 错误信息非常完整
Django的组成结构
Django是遵循MVC架构的Web开发框架,其主要由以下几部分组成。
- 管理工具(Management):一套内置的