来到JCZB公司的第二天,就接到了开发类似于小米智能家庭APP的任务。组长让我在手机上安装上此款APP,给了我个小米智能插座,就让我开始了解需求。这便开启了我的智能家居旅程。说实话,我也真是out的无边无际,智能家居的概念起源很早,我却对它一无所知。所以一边在心里悄悄嘀咕“自己能完成任务吗?”,一边就开始查各种相关资料进行脑补。

【简介】

  智能家居是在互联网的影响之下物联化体现。智能家居通过物联网技术将家中的各种设备连接到一起,提供各种控制或者定时控制的功能和手段。与普通家居相比,智能家居不仅具有传统的家庭居住功能,同时还兼备建筑、网络通信、信息家电、设备自动化功能,提供全方位的信息交互功能。

  

【两种方式】

  实现智能控制的方法,我了解到的有两种:

  • 一种是通过wifi或者2G、3G、4G网络将手机和智能设备连接起来,实现打开,关闭,设定等操作。

  • 一种是通过蓝牙将手机和智能设备连接起来,实现设备的打开、关闭等操作。

【原理】

  现在我以智能插座为例,按第一种方式(通过WIFI)介绍一下智能家居实现原理。
  WIFI插座(智能插座)工作原理:
  
  
  
  注:WIFI插座中嵌入了WIFI模块

  ①.通过手机端APP中的配置程序,配置模块要连接的路由器的名称(SSID)和密钥;
  ②. 将WIFI模块连接路由器,路由器通过外网连接到服务器,如小米的服务器。完成连接工作。
  ③.手机等控制终端连接远程服务器,下达命令;
  ④.远程服务器将用户指令下发给住宅中的WiFi插座
  ⑤.WiFi插座完成相应的通、断电动作。
  

  这样说,大家可能还是感觉比较晕乎。比如,我家里有个WIFI插座,我在第一次使用时用手机将WIFI插座和家里的路由连接好,家里的路由也能通外网。保证WIFI插座与路由,路由与外网之间的通信没有问题。然后在我下班到家之前,我想做一壶热水,我首先要把插座开关打开。然后我就打开手机上的APP,只要手机连着网(WIFI或者2G、3G、4G网都可以),点击界面上的“开”的按钮就可以让家里的插座通电了。

【总结】

  智能家居系统

  
  
  智能家居为我们提供了很多方便。炎炎夏日,在到家之前就把空调打开,进门之后,我们就能享受阵阵清凉。整个过程其实可看作两个阶段:一是通过手机,让WIFI模块接入网络,而是通过网络,使用手机对模块发送指令。

 

【Android开发—智能家居系列】(一):智能家居原理的更多相关文章

  1. [Android开发学iOS系列] 工具篇: Xcode使用和快捷键

    [Android开发学iOS系列] 工具篇: Xcode使用和快捷键 工欲善其事必先利其器. 编辑 Cmd + N: 新建文件 Option + Cmd + N: 新建文件夹 Cmd + / : 注释 ...

  2. [Android开发学iOS系列] iOS写UI的几种方式

    [Android开发学iOS系列] iOS写UI的几种方式 作为一个现代化的平台, iOS的发展也经历了好几个时代. 本文讲讲iOS写UI的几种主要方式和各自的特点. iOS写UI的方式 在iOS中写 ...

  3. [Android开发学iOS系列] Auto Layout

    [Android开发学iOS系列] Auto Layout 内容: 介绍什么是Auto Layout. 基本使用方法 在代码中写约束的方法 Auto Layout的原理 尺寸和优先级 Auto Lay ...

  4. Android开发中Eclipse里的智能提示设置

    今天开始学习一下Android开发,直接在Android Developers下载的一个开发工具包,然后再下了一个JDK,配置完环境变量等一系列的工作后环境就搭建好了,在新建好第一个Android项目 ...

  5. android开发学习笔记系列(2)-android应用界面编程

    前言 本篇博客将会简要介绍andriod开发过程中的一些界面元素和编程的实现,我将大家走进安卓的XML世界,当然可能会涉及到java代码,当然本文主要是介绍XML文件的界面布局. 那么我们的XML存在 ...

  6. android开发学习笔记系列(1)-android起航

    前言 在学习安卓的过程中,我觉得非常有必要将自己所学的东西进行整理,因为每每当我知道我应该是如何去实现功能的时候,有许多细节问题我总是会遗漏,因此我也萌生了写一系列博客来描述自己学习的路线,让我的an ...

  7. [Android开发学iOS系列] 语言篇: Swift vs Kotlin

    Swift vs Kotlin 这篇文章是想着帮助Android开发快速学习Swift编程语言用的. (因为这个文章的作者立场就是这样.) 我不想写一个非常长, 非常详尽的文章, 只是想写一个快速的版 ...

  8. Android开发进阶——自定义View的使用及其原理探索

    在Android开发中,系统提供给我们的UI控件是有限的,当我们需要使用一些特殊的控件的时候,只靠系统提供的控件,可能无法达到我们想要的效果,这时,就需要我们自定义一些控件,来完成我们想要的效果了.下 ...

  9. android开发学习笔记系列(4)--android动态布局

    前言 在做一个有关苏果APP的项目中,但是fuck的是,我完全使用相对布局之后及线性布局之后发现坑爹的事情了,屏幕不能适配,这是多大的痛,意味着,必须使用相应的代码实现动态布局!呵呵,不做项目不知道, ...

  10. android开发学习笔记系列(6)--代码规范

    在开发android的时候,我对自己写的代码很是不满,原因在于自己看到别人的代码,很是头痛,原因很简单,别人写的代码,我就要去猜他的意思,极其烦恼,嗯,就是他没有遵循代码规范,因此我在博客园上寻找一篇 ...

随机推荐

  1. 【Java_基础】Java内部类详解

    1.四种内部类 java中的四种内部类:成员内部类.静态内部类.局部内部类和匿名内部类.其中匿名内部类用到的最多. 1.1.成员内部类 若一个类定义在另一个类的内部作为实例成员,我们把这个作为实例成员 ...

  2. 编译openwrt_MT7688_hiwooya

    参考链接: 无涯论坛地址: http://www.hi-wooya.com/forum.php openwrt官网地址:https://openwrt.org/zh-cn/doc/howto/buil ...

  3. Python中如何将数据存储为json格式的文件

    一.基于json模块的存储.读取数据 names_writer.py import json names = ['joker','joe','nacy','timi'] filename='names ...

  4. PAT Basic 1024

    1024 科学计数法 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1 ...

  5. Java实现——Dom4j读写XML文件

    1. dom4j概述 解析DOM4J是一个开源XML解析包,采用了Java集合框架并完全支持DOM,SAX和JAXP. 最大的特色是使用了大量的接口,主要接口都在org.dom4j里定义. 2. do ...

  6. dp的两个不错的题

    C - Cheapest Palindrome Keeping track of all the cows can be a tricky task so Farmer John has instal ...

  7. J2EE 中间件 JVM 集群

    [转]J2EE 中间件 JVM 集群 博客分类: 企业应用面临的问题 Java&Socket 开源组件的应用 jvm应用服务器weblogicjvm集群 1 前言 越来越多的关键任务和大型应用 ...

  8. iOS第三方-百度地图地图SDK(一)

    前言 最近项目忙完了准备把百度地图的方法都熟悉一遍,基于百度地图2.10.0,写demo的同时也写下博客来记录下 模拟器设置 我直接就复制我以前写过的一篇的图了,懒得截图... 获取百度地图KEY 让 ...

  9. BZOJ 2595 [Wc2008]游览计划 ——斯坦纳树

    [题目分析] 斯坦纳树=子集DP+SPFA? 用来学习斯坦纳树的模板. 大概就是用二进制来表示树包含的点,然后用跟几点表示树的形态. 更新分为两种,一种是合并两个子集,一种是换根,换根用SPFA迭代即 ...

  10. leetcode 350

    找两个数组的交叉部分,可以用map进行标记 首先对第一个数组进行记录,第二个数组在第一个数组记录基础上进行判断,如果在第一个数组出现过,就记录 class Solution { public: vec ...