文档章节

智能家居系统地实现

刘小米_思聪
 刘小米_思聪
发布于 2014/07/20 08:50
字数 565
阅读 501
收藏 13

本系统主要由以下几部分组成:openwrt,一些传感器,一盏灯,ios app,android app

我负责的部分是服务器的部分,可能比较偏重于服务器的实现,但是尽可能全面性地介绍整个系统的实现。

服务器最终要跑在openwrt上,配置是 nginx + fastcgi + php  + mysql

  1. openwrt 是一个嵌入式的linux系统,专门针对于无线路由的实现(如果实现的好就可以超越小米盒子的功能)

    服务器就是跑在这个上面的。

    关于我们的openwrt 的配置以及实现,我的队友的博客上有开发笔记,讲的很详细,您可以点击进入查看。

    http://www.cnblogs.com/double-win/

  2. (1) 选择语言

    服务器就是跑在openwrt上的,选择什么语言开发很关键。一开始我想选择python脚本语言,但是由于nginx服务器调用app,app是由uwsgi后台app服务器进行管理的,但是在openwrt软件源中找不到uwsgi安装包,如果自己要进行交叉编译的话,可能未来会有一些问题,因此放弃了。

    我们决定选择 php,现在的配置是 nginx + fastcgi + php  + mysql

    (2) 配置 nginx 服务器

    我们初步先在pc机上模拟服务器与手机端的通信,稍后会移植到openwrt上与网关以及硬件设备通信。

    在ubuntu上配置 nginx 服务器,这个我稍后会写一篇日志,链接稍后加上。

2.     数据同步:MQTT vs HTTP长连接

        MQTT 信息发布协议,是IBM开发的一个针对嵌入式传感器传输保证,低能耗,低内存的消息收发协议,很适合在openwrt上用。我们服务器“主动推送”消息到手机上采用该协议。它是一个应用包,可以直接用它的API进行开发。

        HTTP长连接,是手机端发http请求到服务端,在一定的时间内保持这个请求不关闭,之后的http通信可以通过这个请求,提高复用性。

 

© 著作权归作者所有

刘小米_思聪
粉丝 58
博文 60
码字总数 43955
作品 0
西安
其他
私信 提问
FPGA在物联网智能家居中的应用

摘要:随着物联网技术的不断发展,人们对家的期望以及对家所赋予的定义不再拘泥于传统的生活方式,智能家居也成为近些年来信息技术领域研究的热点方向。本文所体现的物联网智能家居设计是基于...

owen_plus
2017/12/13
0
0
「全屋智能」云米全屋互联网家电 vs 绿米全屋智能产品+服务

随着智能家居市场和技术的进一步发展,越来越多的家居产品实现了智能化。然而如何让这些独立的智能单品跨越平台,实现真正的互联,以及产品的安装、配置、维护等问题,一直困扰着各大小公司和...

smartthings
2018/11/26
0
0
智能、开放及安全,这三道槛,是智能家居最关键的问题!

3月11日,全球三大家电展之中国家电博览会(AWE 2015)在上海拉开帷幕,除了来自传统行业包括海尔、史密斯之类的大小家电厂商之外,包括360、京东、机智云等在内的互联网厂商身影也出现在博览...

AlexMahoneFBI
2015/03/18
107
2
解答智能家居为何采用蓝牙无线通讯技术并教你如何选择蓝牙模块

近年来,随着物联网技术的深入发展和人民生活水平的不断提升,自动化与智能化风潮席卷全球,智能家居概念迅速崛起。从2014年到2017年,智能家居技术开始受到人们的广泛关注,超过60%的消费者...

昇润科技
2018/08/16
0
0
智能家居为何需要大数据, 大数据在智能家居领域的贡献是什么?

  大数据分为大数据存储和大数据分析,属于两种截然不同的计算机技术领域,大数据存储用于大数据分析。大数据存储重点在于研发可以扩展至PB甚至EB级别的数据存储平台;大数据分析关注在最短...

大数据头条
2017/12/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
4
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
3
0
JAVA 利用时间戳来判断TOKEN是否过期

import java.time.Instant;import java.time.LocalDateTime;import java.time.ZoneId;import java.time.ZoneOffset;import java.time.format.DateTimeFormatter;/** * @descri......

huangkejie
昨天
3
0
分页查询

一、配置 /*** @author beth* @data 2019-10-14 20:01*/@Configurationpublic class MybatisPlusConfig { @Bean public PaginationInterceptor paginationInterceptor(){ ......

一个yuanbeth
昨天
6
0
在LINQPad中使用Ignite.NET

LINQPad是进行.NET开发的一款优秀工具,非常有利于Ignite.NET API的快速入门。 入门 下载LINQPad:linqpad.net/Download.aspx,注意要选择64位操作系统的AnyCPU版本; 安装Ignite.NET的NuGet...

李玉珏
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部