发布者:微信昵称 长江岸边
【项目来源】为了满足新课标中六年级“过程与控制”内容要求,体现跨学科主题“小型开关系统”,结合教学提示中的案例,设计了“远程智能浇花系统”
【项目简介】在“远程智能浇花系统”项目中,学生将使用阿里云ECS服务器搭建的MQTT服务器为中心,让行空板k10和掌控板作为MQTT服务器的终端进行联结,由k10行空板获取掌控板端的土壤湿度传感器的值并显示在k10屏幕上,对着k10行空板说"你好小新"唤醒语音识别状态后,就可以说语音“打开”来启动水泵浇水,说语音“关闭”就关闭水泵停止浇水。
【项目知识点】
贴合新课标中六年级的内容要求,“远程智能浇花系统”核心教学知识点如下:
1、 学习在购买的阿里云ECS服务器的ubuntu系统上安装EMQX软件并配置EMQX来搭建MQTT服务器
2、 学习用行空板k10和掌控板向MQTT服务器订阅与发布消息
3、 学习用掌控板获取土壤湿度传感器的值并发布消息给行空板k10
4、 通过行空板k10向掌控板发出消息控制掌控板端水泵的打开或者关闭
【项目原理图】

【硬件介绍】
在“远程智慧浇花系统”中,使用行空板K10、掌控宝、土壤湿度传感器(连接掌控板)、水泵(连接掌控板)

【硬件连接图】

【流程图】

【项目制作过程的详细步骤】
一、购买阿里云ECS服务器及ubuntu安装过程
浏览器输入阿里云网址https://www.aliyun.com/ , 注册后登录,点击左侧的此图标
选择【云服务器ECS】
选择【创建实例】
选择【自定义购买】-【付费类型】按需选-【地域】按需选-【实例】架构按需选-【镜像】选ubuntu,版本选22.04-【登录凭证】选自定义密码-【登录名】选root – 【登录密码】要求有大小写字母及数字和部分字符, 其它未列出选择都默认。
选择右边的【购买时长】按需选-勾上同意协议-【确认下单】后支付
支付完成后,ECS服务器就开始启动。
为了在ECS服务器上使用EMQX,还需要开放1883、18083这2个端口,步骤如下
点击【ECS服务器】-【实例】-点击实例名称-会看到【实例详情】-【安全组】
-【管理规则】 -【入方向】-【手动添加】
如图的两个端口
二、在ubuntu22.04上安装EMQX并配置
1、点击ECS服务器下的【实例】-【远程连接】-【Workbench远程连接】-【立即登录】输入前面的root的密码,即可登录ubuntu22.04系统,如图

2、在ubuntu中由root身份运行下面三条命令即可使用EMQX
配置 EMQX Apt 源:curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash
安装 EMQX:sudo apt-get install emqx
启动 EMQX:sudo systemctl start emqx
3、配置EMQX

从上图中找到自己实例的公网IP地址,如上图39.104.169.71(请修改为自己的实例公网IP)
浏览器地址栏输入: 39.104.169.71/18083,对话框中输入用户名:admin,密码:public,(用户名与密码均是系统默认,可修改),即可启动EMQX管理面板,点击左侧导航栏的【访问控制】-【客户端认证】-面板右侧点击【创建】-【认证方式】选Password-Based
点击下一步,数据源这里选择【内置数据库】-【账号类型】选username, 【密码加密方式】选plain, 【加盐方式】选disable,最后点击【创建】

点击下图中的【内置数据库】

选择【用户管理】标签-点击右侧的加号
在弹出的对话框中输入用户名“k10”,并设置密码,是否为超级用户选“否”后,即认证了一个名为k10的客户端(程序中的k10行空板将会用这里的用户名k10和密码连接EMQX,
同样的方法再为掌控板创建用户名与密码,如下

三、学习用行空板k10和掌控板向MQTT服务器订阅与发布消息
在行空板k10的程序中按下图填写行空板k10的MQTT信息

在掌控板的程序中按下图填写掌控板handboard的MQTT信息

四、学习用掌控板获取土壤湿度传感器的值并发布消息给行空板k10

五、 通过行空板获取掌控板发布的土壤湿度主题来判断土壤情况

六、通过行空板k10向掌控板发出on或者off消息控制掌控板端的水泵打开或者关闭
行空板发送on或者off消息到k10/button主题

掌控板根据k10/button主题中的on或off消息打开或关闭水泵

【重点程序截图】
(一) 用mind+1.8.0写的K10行空板终端程序截图

(一) 用mPython 0.8.5写的掌控板终端程序截图

【程序源码下载】
请下载附件
评论