先下载github代码,下面的操作,都是基于这个版本来的!

https://github.com/987334176/Intelligent_toy/archive/v1.3.zip

注意:由于涉及到版权问题,此附件没有图片和音乐。请参考链接,手动采集一下!

请参考链接:

https://www.cnblogs.com/xiao987334176/p/9647993.html#autoid-3-4-0

一、多玩具端的遥控功能

地址统一管理

进入flask项目,修改 templates—>index.html

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图1 View Code

进入 HBuilder项目MyApp,查看mui.js。

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图2

window.ws_serv = 192.168.11.40:9528;

window.serv = http://192.168.11.40:9527;

window.serv_imge = window.serv+/get_image/;

window.serv_audio = window.serv+/get_audio/;

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图3

这里面,已经是统一化管理了

昨天内容,已经实现了简单的对话。但是点歌功能被删掉了,今天需要开启一下。

进入flask项目,修改im_serv.py,增加msg_type。用来做消息类型判断!

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图4 View Code

这里最重要的是msg_ytpe

修改 templates—>index.html,做msg_type判断

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图5 View Code

进入 HBuilder项目,**修改index.html**,修改send_music监听事件。统一格式,发送to_user

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图6 View Code

进入flask项目,根目录下新建文件夹 chat

此时项目结构如下:

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图7 View Code

进入目录 audio,将里面所有 amr和amr.mp3文件全部删掉!

这些文件,会自动放到chat目录

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图8

修改 settings.py,增加 CHAT_FILE变量

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图9 View Code

修改 get_file.py,增加get_chat视图函数

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图10 View Code

访问网页,让2个玩具页面开机!

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图11

使用模拟器访问页面,点击一首歌曲,点击发送给 小甜甜

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图12

此时浏览器第二个页面,就是小甜甜。会自动播放音乐!

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图13

注意:必须要web玩具和手机APP,都连接上websocket才行。否则会导致点歌不成功!

自动重连websocket

为了避免后续操作,因为websocket连接而导致的问题。修改相关代码,可以自动重连!

进入 HBuilder项目MyApp,修改index.html,增加ws.onclose

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图14 View Code

进入 flask项目,修改 templates—>index.html,增加ws.onclose

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图15 View Code

重启 im_serv.py,就可以了!

二、简单的双向聊天

由于时间关系,详细步骤略…

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图16

三、聊天记录存放数据库

由于时间关系,详细步骤略…

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图17

四、消息提醒

由于时间关系,详细步骤略…

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图18

五、玩具主动发起消息

由于时间关系,详细步骤略…

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图19

六、玩具主动发起点播

由于时间关系,详细步骤略…

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图20

可以点击歌曲,比如我要听 新年恰恰

今日总结:

Day130 多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播 - 图21 View Code

由于时间关系,无法演示效果…

完整代码,参考github:

https://github.com/987334176/Intelligent_toy/archive/v1.4.zip

未完待续…