注:本人内容的准确性仅限于笔者写该篇文章时的情况,不保证后续与实际项目代码一致。实时内容还请关注Github项目托管页面:https://github.com/GenialX/hestia-server

树莓派,一个五脏俱全,集几乎所有功能于一身的微型计算器。大约一两月之前,屈屈300百大洋收入囊中。

入手之后,出于对自动化的兴趣,慢慢地研究如何实现室内家电的智能自动化控制。在断断续续地,不断地摸索之后,有了若干想实现的点子,迄今为止也有所实践。

点子

利用红外线传感器智能控制空调、电视等基于红外遥控的家电设备;

智能控制家中的灯泡设备(部分基于网络协议);

(待更新...)

方案

硬件

首先,除了树莓派之外,还需要如下硬件:

  • 移动端设备 iPhone一台(安卓手机当然也没问题,但是本案例中只基于iPhone做了实现)
  • 外网可直接访问的服务器一台(本案例使用阿里云服务器)
  • 基于树莓派的传感器若干
    • 基于光敏电阻的光线传感器一个

软件

此外,本案例同样需要如下软件环境的支持(注:如果您完全不懂软件,且不愿意为实现本案例的结果而学习软件知识,那么下面的需要软件知识的相关内容可以不用深究):

  • 主要涉及的编程语言:Java、Python、Swift(iOS)
  • 基于Linux系统的公网服务器
  • 基于较新版本的iOS系统设备iPhone(之所以标注“较新”是因为笔者对iOS 软件研发理解尚浅,未能进行多种版本的兼容测试,所以只提供一个版本参考:iOS系统版本11.1.2亲测有效)
  • 基于raspberry系统的树莓派

架构

系统大致分为三部分

  • 服务端

    • Hestia Server 部署在公网服务器中的项目
  • 客服端
    • Hestia RPi 部署在树莓派中的项目
    • Hestia iOS 部署在iPhone移动设备中的项目

各部分的主要用途

  • Hestia Server 用于连接、监控其他客服端,传输命令信息
  • Hestia RPi 用于接受服务端信息、控制传感器等设备
  • Hestia iOS 用于发送当前地理位置信息

整体系统架构

Hestia Server 系统架构

项目

Hestia Server https://github.com/GenialX/hestia-server

Hestia RPi https://github.com/GenialX/hestia-rpi

Hestia iOS https://github.com/GenialX/hestia-ios

实现功能

  • 实时监控主人的地理位置,并推送给主人的手机中移动端设备iPhone

    • 通过GPS实时将当前的经纬度信息发送给服务器,服务器将当前位置信息推送给iPhone

Hestia iOS发送经纬度到服务器,并接收当前位置信息的推送

Instapush 接收推送信息的截图

  • 基于室内光线明亮程度,在主人离家与回家时会智能控制灯泡的开关

    • 基于移动设备iPhone的位置信息与室内光线传感器的信息来智能控制室内宜家灯泡的开关,对室内灯泡的控制是基于tcp协议的

总结

未完待续...

基于树莓派的智能家居项目的设想与实现 Hestia的更多相关文章

  1. 基于ESP32的智能家居管理系统的设计与实现

    基于ESP32的智能家居管理系统的设计与实现 ESP32的智能家居管理系统访问链接: https://www.cnblogs.com/easyidea/p/13101165.html 一.需求分析 1 ...

  2. 基于Linux的智能家居的设计(3)

    2  硬件设计 本课题的硬件设计包含主控制器.传输数据设计.数据採集设计.控制驱动设计.显示设计.门禁设计. 2.1  主控制器 依据方案三选择S3C6410主控芯片,S3C6410是由Samsung ...

  3. 基于Linux的智能家居的设计(4)

    3  开发环境的搭建 本次课题使用的开发环境比較特殊.没有一个现成的集成开发环境,需要自己一步一步的搭建开发环境,开发环境的搭建的过程十分复杂,并且假设没有这个开发环境本次课题就无法进行. 因此.在进 ...

  4. 基于Linux的智能家居的设计(2)

    1  系统整体设计方案 智能家居系统的是一个实时查询家庭的温湿度.照明控制.自己主动控制的设定.集家庭娱乐.智能安防为一体,大量数据快处理.可靠的系统,因此在硬件和软件上都有非常大的要求,因此在这里进 ...

  5. 基于ZigBee模块与51单片机之间的简化智能家居项目简介(学生版本)

    5月份学校举行比赛,我们团队报名<智能家居>的项目,设计的总体思路用:QT写的上位机与ZigBee无线通信加51作为终端的简易版智能家居 电路连接:PC机->cc2530(协调器)- ...

  6. 基于Linux的智能家居的设计(5)

    4  软件设计 软件设计部分主要包含uboot移植.内核编译.系统移植.设备驱动编程.应用程序编程(QT编程.mysql数据库编程.控制系统编程).各个模块的功能函数(部分是在windows以下的IA ...

  7. 智能家居项目(2):项目project框架的搭建

    项目管理器: Linux中的项目管理器"make"有些类似于windows中的Visual C++里的"project",它是一种控制编译或者反复编译软件的工具 ...

  8. 智能家居项目(3):编译工具makefile

    board文件夹中,基本的代码结构分为了src,include两个子文件夹.分别存放源码文件. #CC=arm-linux-gcc CC=gcc CFLAGS=-lpthread INCPATH=-I ...

  9. MQTT+esp32+nodered+springboot 智能家居项目 -- 项目准备

    1.后台系环境:idea  jdk8.0以上  maven   tomcat   spring boot 2.前端环境  nodejs  nodered 3.硬件环境: audrion   esp32 ...

随机推荐

  1. JAVA中子类会不会继承父类的构造方法

    声明:刚刚接触java不久,如果理解有错误或偏差望各位大佬强势批判 java中子类能继承父类的构造方法吗? 父类代码: class Father { String name ; //就不set/get ...

  2. JFinal快速上手及注意事项

    官方手册虽然写的很详细但是忽略的很多小的细节方面,不看源码,网络资料又少,很多新手找不到解决办法.所以养成出了问题,多看源码的习惯 部署helloJFinal 项目结构 - 相关代码 `package ...

  3. JAVA提高七:类加载器

    今天我们学习类加载器,关于类加载器其实和JVM有很大关系,在这里这篇文章只是简单的介绍下类加载器,后面学习到JVM的时候还会详细讲到类加载器,本文分为下面几个小节讲解: 一.认识类加载器 1.什么是类 ...

  4. 异步任务--celery发送邮件

    安装两个python包: pip install celery==3.1.25 pip install django-celery==3.1.17 在配置文件settings.py中做如下配置: a) ...

  5. JAVA基础知识总结:九

    二.面向对象特性之继承 1.什么是继承? 如果两个或者两个以上的类具有相同的属性和方法,我们可以抽取一个类出来,在抽取出来的类中声明各个类中公共的部分 被抽取出来的类-------父类,基类,超类 两 ...

  6. mybatis xml中使用where 条件中的in方法

    <select id="queryCount" resultType="cn.bnsr.edu_yun.view.FileView"> SELECT ...

  7. js判断值为null

    今天在做项目的时候,犯了一个着实不应该的错误,拿到data为null,然后判断如果为null执行A,否则执行B 我错误的代码是 if(data===null){ A; }else{ B; } 怎么调试 ...

  8. Fibonacci Numbers

    Fibonacci Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...

  9. 【每天半小时学框架】——React.js的模板语法与组件概念

           [重点提前说:组件化与虚拟DOM是React.js的核心理念!]        先抛出一个论题:在React.js中,JSX语法提倡将 HTML 和 CSS 全都写入到JavaScrip ...

  10. sql脚本

    Windows下执行命令 \. d:\book.sql 这里使用了case when 这个小技巧来实现批量更新.//一个字段 UPDATE categories      SET display_or ...