智能家居-3.基于esp8266的语音控制系统(软件篇)
赞赏支持 QQ:505645074
树莓派安装及配置
镜像文件下载地址
https://www.raspberrypi.org/downloads/
安装apache apollo(MQTT代理服务器)
sudo tar -zxvf apache-apollo-1.7.1-unix-distro.tar.gz apache-apollo-1.7.1
cd apache-apollo-1.7.1/bin
sudo ./apollo create /opt/broker
cd /opt/broker/bin/
sudo ./apollo-broker run
安装teamview
sudo dpkg -i teamviewer-host_12.1.83885_armhf.deb
teamviewer
安装mysql数据库
pi@raspberrypi:~ $ wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lamp
安装jdk-8u192-linux-arm32-vfp-hflt.tar.gz
sudo tar zxvf jdk-8u141-linux-arm32-vfp-hflt.tar.gz -C /usr
serviceboot.sh(开机自启动服务脚本)
#!/bin/sh
# SSH
sudo /etc/init.d/ssh start
# MQTT
cd /opt/broker/bin/
sudo ./apollo-broker run
加入开机启动
pi@raspberrypi:$ sudo gedit /etc/rc.local
添加
softboot.sh(开机自启动软件-带界面)
#!/bin/sh
cd /home/pi/
sudo java -jar mqttagent/mqttagent.jar &
cd /home/pi/restserver
sudo python app.pyc &
$ mkdir .config/autostart
$ gedit .config/autostart/softboot.desktop
文件内容如下:
[Desktop Entry]
Type=Application
Name=testboot
NoDisplay=true
Exec=/home/pi/softboot.sh
文件结构图
源码示意图
arduino_esp8266:硬件程序(功能:红外学习,控制,存储,wifi连接,mqtt通信)
homeapp:android手机app(功能:设备管理,mqtt通信)
mqttagent:mqtt代理程序(功能:心跳包,添加订阅,mqtt通信)
restserver:http post服务器(功能:数据存储,同步)
功能截图
1.添加房间
2.添加设备(设备管理界面可直接控制设备开关)
3.添加指令(添加完设备后自动生成开关指令)
功能:通信测试
功能:红外学习(工作指示灯亮)
当ESP8266处于红外学习状态时,遥控器发射端对准ESP8266红外接收,超时10秒退出
功能:红外控制(工作指示灯亮)
当ESP8266处于红外控制状态时,ESP8266红外发射对准红外设备
视频地址:
https://v.youku.com/v_show/id_XNDAwNTYwMzI4MA==.html?spm=a2h3j.8428770.3416059.1
语音控制功能
图灵机器人聊天功能
控制唤醒指令:二师兄
识别中文指令为指令管理界面的中文命令
控制结束指令:不玩了
数据同步功能:
相同账户APP登录后查询服务端各个数据表版本,低于最新版本进行数据更新;在app使用过程中,使用mqtt发布数据更新信息,达到数据一致
智能家居-3.基于esp8266的语音控制系统(软件篇)的更多相关文章
- 智能家居-2.基于esp8266的语音控制系统(硬件篇)
智能家居-1.基于esp8266的语音控制系统(开篇) 智能家居-2.基于esp8266的语音控制系统(硬件篇) 智能家居-3.基于esp8266的语音控制系统(软件篇) 赞赏支持 QQ:505645 ...
- Diy智能家居-1.基于esp8266的语音控制系统(开篇)
目录Diy智能家居-1.基于esp8266的语音控制系统(开篇) https://blog.csdn.net/arno1988/article/details/82628589 Diy智能家居-2.基 ...
- 智能家居-1.基于esp8266的语音控制系统(开篇)
智能家居-1.基于esp8266的语音控制系统(开篇) 智能家居-2.基于esp8266的语音控制系统(硬件篇) 智能家居-3.基于esp8266的语音控制系统(软件篇) apache-apollo安 ...
- 基于ZigBee和STM32的智能家居控制系统的设计与实现(三)
基于ZigBee和STM32的智能家居控制系统的设计与实现(三) 自从前两篇博客介绍了智能家居系统的基本实现机理后,收到了好多朋友的来信,和我讨论了好多的这方面的知识,在此很高兴,虽然自己做的这个所谓 ...
- 基于能量收集的智能家居-2013国家级大学生创业实践项目申报_商业计划书_V0.2
SmartHome项目商业计划 基于能量收集的 免电池无线智能家居系统 IA-SmartHome团队 2012.12 l 基于无线的智能家居解决方案,节省施工成本: l 基于能 ...
- 基于Linux的智能家居的设计(5)
4 软件设计 软件设计部分主要包含uboot移植.内核编译.系统移植.设备驱动编程.应用程序编程(QT编程.mysql数据库编程.控制系统编程).各个模块的功能函数(部分是在windows以下的IA ...
- 基于ESP32的智能家居管理系统的设计与实现
基于ESP32的智能家居管理系统的设计与实现 ESP32的智能家居管理系统访问链接: https://www.cnblogs.com/easyidea/p/13101165.html 一.需求分析 1 ...
- 一百元的智能家居——Asp.Net Mvc Api+讯飞语音+Android+Arduino
大半夜的,先说些废话提提神 如今智能家居已经不再停留在概念阶段,高大上的科技公司都已经推出了自己的部分或全套的智能家居解决方案,不过就目前的现状而言,大多还停留在展厅阶段,还没有广泛的推广起来,有人说 ...
- 基于Laravel+Swoole开发智能家居后端
基于Laravel+Swoole开发智能家居后端 在上一篇<Laravel如何优雅的使用Swoole>中我已经大概谈到了Laravel结合Swoole的用法. 今天,我参与的智能家居项目基 ...
随机推荐
- vscode 设置代码格式化缩进为2个空格
打开文件——>首选——>设置 输入搜索 tabsize 按照下图设置即可,然后打开 注意:如果不将Detect Indentation 勾选取消 以前用tab创建的忘记依然为4个空格
- SAP MM 公司间STO发货单输出报错 - 合并工厂AUC1和存储位置6002没有货物收货地点 - 之对策
SAP MM 公司间STO发货单输出报错 - 合并工厂AUC1和存储位置6002没有货物收货地点 - 之对策 昨天收到客户业务部门报错,说是业务对交货单0080022298做POD失败.相关交货单的输 ...
- TICK技术栈(一)TICK技术栈介绍
1.什么是TICK技术栈? 1.1 简介 TICK 是由 InfluxData开发的一套开源工具栈,由 Telegraf, InfluxDB, Chronograf, Kapacitor 四个工具的首 ...
- [日常] 解决github速度特别慢
执行下面这俩命令,找到对应的IP,增加host就能解决 nslookup github.global.ssl.fastly.Netnslookup github.com root@tao-PC:/va ...
- openresty配置
目录 环境 wsl安装 openresty安装 openssl版本问题 Lua模块安装 openresty使用 nginx常用命令 nginx.conf 配置 lua 的一些坑 OpenResty缓存 ...
- ntp服务设置开机自启动失败
设置了ntpd开机自启动,重启服务器ntpd没有自启动 1.需要禁掉chronyd.service: systemctl disable chronyd.service 2.手动启动ntpd: sys ...
- 使用Azure进行自动化机器学习
什么是自动化机器学习? 自动化的机器学习,也称为 AutoML,让数据科研人员. 分析人员和开发人员,同时维护模型质量构建具有高缩放性. 效率和工作效率的机器学习模型. 自动化机器学习生成的机器学习模 ...
- 执行DOS命令并返回结果
public static String excuteCommand(String command){ Runtime runtime = Runtime.getRuntime(); try { Pr ...
- python 生成sql语句
1. 别名 s = '' name = ['张三', '李四', '王五'] for i in range(len(name)): s += "'" + name[i] + &qu ...
- Node.js中的模块接口module.exports
在写node.js代码时,我们经常需要自己写模块(module).同时还需要在模块最后写好模块接口,声明这个模块对外暴露什么内容.实际上,node.js的模块接口有多种不同写法.在此做了个简单的总结. ...