所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开

小麦同学—基于SIOT的智慧家

rzyzzxw rzyzzxw 2020-01-31 17:22:40

拖稿一时爽

赶稿忙断肠

projectImage

这个假期格外长

这个春节很难忘

还好创客们组织了小活动,爱学习的我们用自己的力量奉献给社会很多好玩的项目。

【2020】”春节宅家一起造“线上小创马 https://mc.dfrobot.com.cn/thread-302549-1-1.html 

【2020】春节宅家小创马项目集合 https://www.labplus.cn/posts/5e32d2ff61dfe9591ae8c87c

可是,我还是要完成我的作业,AI比赛的第二轮。

复杂的项目也做不了,就做一个简单的基于MIND+AI,SIOT和掌控板物联的智慧家。

projectImage

【项目规划】 

 树莓派搭建SIOT服务器 MIND+AI语音识别,通过SIOT控制掌控板 掌控板通过网络接入SIOT,驱动外设执行相关动作 

 计划用到,Yeelight物联灯,千里马小车,舵机或者电机,灯带等 

 【SIOT】

 SIoT为“虚谷物联”项目的核心软件,是为了帮助中小学生理解物联网原理,并且能够基于物联网技术开发各种创意应用。 SIoT是一个为中小学STEM教育定制的跨平台的开源MQTT服务器程序,S指科学(Science)、简单(Simple)的意思。SIoT重点关注物联网数据的收集和导出,是采集科学数据的最好选择之一。  

projectImage

【MQTT】 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一个基于客户端-服务器的消息发布/订阅传输协议。 MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。 教学学习用的物联网比较简单,但是理解了简单的,复杂的也不太难了。 不同设备有不同的设备号,一个设备可以有多个主题。 服务器端和设备端设备/主题要一一照应。

projectImage
材料清单 材料清单
1x
树莓派
3x
掌控板
3x
掌控扩展板(掌控宝和百灵鸽)
1x
千里马(N+的掌控板小车)
1x
Yeelight 1S彩光版
1x
360舵机
1x
耗材及工具
1x
全向麦
projectImage
步骤1 步骤1
SIOT服务器准备

这一步纯属画蛇添足,电脑上是可以方便运行SIOT的。

参考:

K12物联网神器-SIoT(掌控板) https://mc.dfrobot.com.cn/thread-281102-1-1.html 

【所以用电脑运行SIOT跳过此直接进入步骤2】

可以我有树莓派,并且还有树莓派上运行的SIOT,所以就拿来用下。(不用白不用,用了也白用。)

参考教程:

树莓|K12物联网神器-SIoT(树莓派) https://mc.dfrobot.com.cn/thread-302035-1-1.html

树莓派SIOT服务器优点,一键启动,自动填写IP地址。

古德微树莓派系统镜像2.1.1已经集成了SIOT,一键启动,一键关闭,无需安装。

1、 树莓上电开机(树莓要接入WIFI),电脑登录http://www.gdwrobot.cn/,进入软件平台,登录帐号,连接树莓。

用这个服务器的好处也是有的,如果是不用Mind+实时模式,不用开电脑,那么用树莓派会比较节能。

无论哪种IOT,服务器都是要先开机,其它设备才能接入的,SIOT也是这样子,可是因为是自搭的服务器,有时会忘记开启,我在用掌控板时就会接不上SIOT而报错。树莓SIOT一直开机就可以避免这种情况。

projectImage
projectImage
projectImage
projectImage

登录后可以看到树莓派的IP地址,也就是SIOT启用后的IP了。

请注意这个IP是会变化的,所以后面的程序要及时修改,保证一致。

2、从物联网-常用-找到下面指令

projectImage

3、写如下程序,运行

树莓SIOT启动,IP:192.168.0.121

因为不需要从树莓发送消息,所以就这样简单启动SIOT,不关树莓派,一直就有SIOT了。

projectImage

4、电脑浏览输入树莓IP地址进入SIOT服务器 

默认帐号:siot(小写) 

默认密码:gdwrobot

projectImage
步骤2 步骤2
Mind+程序准备

1、Mind+用实时模式编程,当前最新版本是1.6.2。

我想试试在线编程,直接网页版会不会稍稍快点呢(离线试过了哎,可不是慢一点点,吐槽吐槽),我试试看on Mind+。

https://ide.mindplus.top/

projectImage

然而,现实迅速打脸。在线版暂不支持,好吧,回到离线版。前面进行了一些基本测试,今天就记录一下吧。

projectImage

2、程序开头,初始化SIOT,我用的树莓SIOT,所以密码有不同,SIOT  IP192.168.0.121

计划5个掌控设备,完成多个任务。

百度AI用独立帐号。[此处不再啰嗦]

projectImage

运行初始化程序,向5个设备/主题发送消息,建立5个Topic。

projectImage

查看一下SIOT,5 个Topic已经建立。

如果不查看实验数据,后台其实也不用打开查看。

SIOT服务器就像一个默默的邮局,在那儿,接收消息,转发消息,接收消息,转发消息。

projectImage

初步的测试中,我用了三个掌控板,分别对应前三个Topic。

xiao/led   客厅灯    掌控1     板载RGB测试

chi/led     卧室灯    掌控2     板载RGB测试

lun/led     餐厅灯    掌控3     控制Yelight1S彩光版测试

在这个基础上,第二阶段加上千里马小车,电机或者360舵机控制,制作一些模型,完成美化及整体调试。

(我发现我现在有一个问题,好像不喜欢做结构件,是因为做了还要拆还是因为喜欢指导学生做还是手里缺少器材切割机还有机械知识缺乏。)


projectImage

3、mind+实时模式运行的相当于一个语音控制中心,通过SIOT发送消息给掌控板。

掌控板的灵魂在物联。【火箭语】

和其它常用教学主控相比,ESP32芯片的WIFI功能让掌控天然有了物联的基因。

projectImage

4、识别出关键词后进行判断,向不同掌控板发送控制消息。分支太多了,识别判断都慢,我用了下面方法,是不是快点了,我没有明显感觉。

projectImage
projectImage
projectImage
附件 附件
步骤3 步骤3
掌控A,B

掌控板A和B,分别对应Topic0和1。

掌控板A模拟客厅灯,后面可以尝试接灯带或者灯串或者接继电器控制强电灯照明。

掌控板B模拟卧室灯,后面可以尝试接灯带或者灯串或者接电机开关窗帘啊什么的。

MInd+的wifi和RGB灯有时会冲突,其实也可以用的,这里我用mPythonX来写掌控的程序。

【谁让咱会的多呢】

软件下载:

http://static.steamaker.cn/files/mpythonx-0.5.1-win.exe


掌控A  代表客厅灯  设备/主题   xiao/led

附件 附件
projectImage
projectImage

掌控B  代表卧室灯 chi/led

两者程序相同,只有设备与主题不同

【这个测试早就完成了,拖稿子拖得我家WIFI帐号密码都换了一次了】

附件 附件
projectImage
projectImage

掌控C用来连接Yeelight灯

mind+呢当前还不能直接控制它,就来个曲线点灯吧。

projectImage

那掌控C的程序是这样子的。

软件:mPythonX  

附件 附件
projectImage
projectImage
projectImage
projectImage

三个掌控的程序分别上传。

准备测试吧。

【曾经设想做一个模型出来,房子,客厅什么的,可是却只是想想……比如用上做的小灯笼】

projectImage
步骤4 步骤4
测试视频

测试1,小麦同学语音控制Yeelight灯。

测试2,小麦同学语音控制掌控灯模拟卧室和客厅灯。

请勿视邻居家的狗叫声。

【宅在家里,忙2020活动,其实有时间,可是心却回不来,希望mind+能继续加油,把AI做到和喵喵家的一样快】

我做的不是一个完整的作品,顶多只能算个模型,但是AI+万物互联,是我们多么向往的方向啊。

2020,一起加油!

projectImage
Makelog作者原创文章,未经授权禁止转载。
1
2
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
|
[[c.comment_content]]