【毕设参考】“摸鱼”神器,用 ESP32 + HaaS Python DIY一款全功能鱼缸 控温、过滤、换水一键执行
时间:2023-08-27 00:07:01
智能水族箱
?? 下图是本案例除硬件连线外的3步导学,每个步骤中实现的功能请参考图中的说明。
简介
?? 随着人们生活水平的提高,养鱼已经成为一种新的时尚,各种桌面鱼缸层出不穷,但市场上的鱼缸系统大多相对简单。智能鱼缸很少,价格也很高。有鉴于此,我们HaaS该团队创建了一个智能水族馆案例。鱼缸生态通过监测水温、水位和水质,然后通过物联网平台的功能动态调节。
?? 本案中使用的传感器较多,包括TDS、水温和压力传感器(用于测水位)充分应用于我们的日常生活,如水质仪、净水器、温控热水壶、胎压仪、体重秤等。
准备
?? 本案例打造需要如下硬件:
- Nodemcu32S一台
- HX710AB一个气压传感器
- 18B一个20水温传感器
- TDS传感器一个
- 继电器三个
- 杜邦线若干
- MicroUSB数据线一条
硬件连线图
?? 如下图所示:硬件连线图:
?? 建议购买继电器外部泵、加热棒和过滤器的低压直流设备。如果确实需要强电设备,请注意强电隔离和保护。
开发物联网平台
?? 整个过程包括以下四个步骤:
- 开放公共实例
- 创建产品(设备模型)
- 定义产品功能(物模型)
- 创建设备及获取三元组
开放公共实例
?? 对于第一次使用物联网平台的读者,需要打开使用物联网平台功能的实例。免费公共实例可用于开发。
?? 在物联网平台中,左上角选择华东2-上海,点击公共实例打开。打开后,单击公共实例进入控制台创建产品。
创建产品(设备模型)
?? 进入公共实例控制台,点击创建产品按钮进入新产品页面。
?? 进入新产品页面,设置产品名称智能水族箱读者也可以根据自己的喜好来命名。在所属类别中,选择自定义类别。
?? 产品节点类型选择直接连接设备,数据格式选择ICA标准数据格式,默认设置检验类型和认证方法。开发人员可以根据自己的需要在产品描述页面添加产品描述。
?? 对于 ESP32 等搭载 Wi-Fi 对于设备,联网方式选择Wi-Fi”。
?? 点击确认按钮完成产品创建。
?? 点击前往定义模型
定义产品功能(物模型)
?? 开发者可以使用准备好的物模型文件来进行快速导入。点击左上角“快速导入”,选择物模型文件智能水族箱物模型并上传,就能够生成案例对应的物模型。
?? 产生后的效果如下:
?? 定义物体模型后,需要在线发布物体模型并发布产品,以使变更生效。
?? 该产品的设备可以在产品及其物体模型创建后创建。
创建设备和获取三元组
?? 点击左栏中的设备,选择要在筛选框中添加设备的产品,点击添加设备。我们在这里命名为test_device开发人员也可以根据自己的喜好来命名。
?? 生成的设备如下。
?? 开发人员还可以选择批量添加,一次添加多个设备,生成随机设备DeviceName。
点击查看按钮,查看设备的详细信息。
?? 点击右上角的查看按钮,查看设备的三元组信息。 三元组是唯一与物联网设备端和物联网云设备相关的识别符号。当设备端连接到云时,将使用三元组信息和云进行识别。识别通过后,云将认为设备已被激活并在线。
?? 再次访问物联网平台的设备信息页面。如果设备运行正确,应看到设备名称右侧的状态从未激活变为在线。 选择实时刷新
设备端开发
开发环境
?? 下一步前请确保ESP32开发环境已建成。详情请参考esp开发环境的说明。
创建解决方案
如下图所示,打开VS Code之后在新建一个基础helloworld的python设置工程名称(smart_aquarium工作区路径后,选择硬件类型ESP32点击立即创建,创建一个Python轻应用解决方案。
下载设备端代码并解压,将解压后的所有脚本复制并覆盖刚创建的项目目录,然后修改如下代码。
Python详情请参考脚本嵌入的文字版注释
- 填写Wi-Fi名称及密码
?? 在main.py填写可用的Wi-Fi名称及密码。
# wifi连接的的ssid和pwd定义 wifiSsid = "请填写您的路由器名称" wifiPassword = "请填写您的路由器密码"
- 修改设备端三元组
?? 在main.py在中间,填写创建的设备三元组信息。获取设备三元组请参考"创建设备和获取三元组"中的步骤。
# 三元组信息 productKey = "产品key" deviceName = "设备名称" deviceSecret = "设备密钥"
运行结果
在物联网平台上查看设备数据
?? 再次访问物联网平台的设备信息页面。如果设备运行正确,应看到设备名称右侧的状态从未激活变为在线。
物联网应用开发
IoT Studio 它提供了快速应用开发的能力,可以很容易地与物联网平台联系起来。本节的开发也将围绕 IoT Studio展开。
新建普通项目
打开IoT Studio官方网站,在项目管理中新建一个空白项目,如下图所示,将该项目命名为智能水族箱项目开发人员也可以根据自己的喜好来命名。
关联产品
为了获得目标设备的定位信息,我们首先需要将该项目绑定到我们在前一节创建的产品智能水族馆中。
在项目控制台上,点击左侧的产品和相关物联网平台产品。此时,我们可以看到我们创建的智能水族馆。点击选择并检查相关产品与所有设备相关,以便项目可以访问所有设备的信息。
创建“移动应用”
界面开发及交互配置
如下图所示,将控件依次拖入界面,可根据需要添加所需控件。请参考每个组件的说明IoT Studio组件说明。
如下图所示,为每个按钮配置交互行为,点击特定按钮时,设备模型标签为相应值。首先,配置传感器数据。
配置开关按钮对应的数据源。
应用程序的预览和发布
点击右上角的按钮预览或发布,可以在手机上使用,随时随地实现远程控制。
来这里探索更多有趣的案例
HaaS开发框架HaaS积木方案,赋能生态开发者,让您快速找到自己需要的解决方案,硬件主板与外设,以及各种应用组件。https://haas.iot.aliyun.com/solution