智能水族箱

   下图是本案例除硬件连线外的3步导学,每个步骤中实现的功能请参考图中的说明。

简介

   伴随着人们生活水平的提高,养鱼已经成为了一种新的时尚,各种桌面鱼缸层出不穷,但是市面上的鱼缸系统多是比较简单的,智能鱼缸可谓是凤毛麟角,同时也价格不菲。鉴于此,我们HaaS团队打造了一款智能水族馆案例。通过监测水温,水位,以及水质,继而通过物联网平台的功能动态的调节鱼缸生态。

   本案例中用到的传感器比较多,其中包括TDS、水温,以及压力传感器(用于测水位),充分应用到我们的日常生活中,比如水质仪,净水器,温控热水壶,胎压仪,体重秤等等。

准备

   本案例打造需要如下硬件:

  • Nodemcu32S一台
  • HX710AB气压传感器一个
  • 18B20水温传感器一个
  • TDS传感器一个
  • 继电器三个
  • 杜邦线若干
  • MicroUSB数据线一条

硬件连线图

   硬件连线图如下图所示:

   继电器外接的水泵,加热棒,以及过滤器,建议采购低压直流设备,如确需强电设备,请注意强电隔离,做好防护。

物联网平台开发

   整个过程包含以下4个步骤:

  1. 开通公共实例
  2. 创建产品(设备模型)
  3. 定义产品功能(物模型)
  4. 创建设备及获取三元组

开通公共实例

   对于第一次使用物联网平台的读者,需要开通实例以使用物联网平台的功能。这里可以使用免费的公共实例进行开发。

   在物联网平台中,左上角选择“华东2-上海”,点击“公共实例”,即可开通。开通后点击“公共实例”,即可进入控制台进行产品创建。

创建产品(设备模型)

   进入公共实例控制台,点击“创建产品”按钮,即可进入新建产品页面。

   进入新建产品页面,设定“产品名称”,这里我们命名为“智能水族箱”,读者也可以根据自己的喜好来命名。在“所属品类”中,选择“自定义品类”。

   产品的节点类型选择“直连设备”,数据格式选择“ICA标准数据格式”,检验类型和认证方式选择默认设定即可。开发者可根据自己的需求在“产品描述”页面添加针对此产品的描述。

   对于 ESP32 等搭载 Wi-Fi 的设备而言,联网方式选择“Wi-Fi”。

   点击“确认”按钮,即可完成产品创建。

   点击“前往定义物模型”

定义产品功能(物模型)

   开发者可以使用准备好的物模型文件来进行快速导入。点击左上角“快速导入”,选择物模型文件智能水族箱物模型并上传,就能够生成案例对应的物模型。

   生成后的效果如下:

   定义好物模型后,需要发布物模型上线,并发布产品,以使变更生效。

   产品及其物模型创建完成后就可以创建这个产品的设备了。

创建设备及获取三元组

   点击左侧栏中“设备“,在筛选框中选择要添加设备的产品,点击“添加设备”。这里这里我们命名为“test_device”,开发者也可以根据自己的喜好来命名。

   生成的设备如下。

   开发者也可以选择“批量添加”,一次性添加多个设备,并生成随机的DeviceName。

点击前往“查看”按钮,就可以看到此设备的详细信息了。

   点击右上角的“查看”按钮,就能看到设备的三元组信息了。 三元组是物联网设备端和物联网云端设备相关联的唯一标识符,在设备端连接云端的时候会使用三元组信息和云端进行鉴权,鉴权通过之后云端会认为设备已激活并上线。

   再次前往物联网平台的设备信息页面,若设备运行正确,此时应该可以看到设备名右侧的状态由“未激活”变为“在线”。 选中“实时刷新”,可以看到数据实时从设备上报到物联网平台。设备上云成功。

设备端开发

开发环境

   在进行下一步之前请确保ESP32开发环境已经搭建完毕。详情请参考esp32开发环境的说明。

创建解决方案

如下图所示,打开VS Code之后在新建一个基于helloworld的python工程,设定好工程名称(“smart_aquarium”)及工作区路径之后,硬件类型选择ESP32,点击立即创建,创建一个Python轻应用的解决方案。

下载设备端代码并解压,将解压后的所有脚本复制覆盖刚刚创建的工程目录下,之后,对代码进行如下修改。

Python脚本的详细说明请参考脚本内嵌的文字版注释

  1. 填写Wi-Fi名称及密码

   在main.py中,填写可用的Wi-Fi名称及密码。

# wifi连接的的ssid和pwd定义
wifiSsid = "请填写您的路由器名称"
wifiPassword = "请填写您的路由器密码"
  1. 修改设备端三元组

   在main.py中,填写创建的设备三元组信息。关于设备三元组的获取,请参考"创建设备及获取三元组"中的步骤。

# 三元组信息
productKey     = "产品key"
deviceName     = "设备名称"
deviceSecret   = "设备密钥"

运行结果

在物联网平台上查看设备数据

   再次前往物联网平台的设备信息页面,若设备运行正确,此时应该可以看到设备名右侧的状态由“未激活”变为“在线”。

物联网应用开发

IoT Studio 提供了应用快速开发的能力,可以很方便地与物联网平台进行联动。本节的开发工作也将围绕 IoT Studio展开。

新建“普通项目”

打开IoT Studio官网,在项目管理中新建一个空白项目,如下图所示,将此项目命名为“智能水族箱项目”,开发者也可以根据自己的喜好来命名。

关联产品

为了使本项目能够获取到目标设备的定位信息,我们首先需要将该项目和我们在前一节创建的产品“智能水族箱”绑定。

在项目控制台,点击左侧的“产品”,点击“关联物联网平台产品”。此时可以看见我们创建的“智能水族箱”。点击选中,并勾选“关联产品同时关联其下所有设备”,以便该项目可以访问到所有设备的信息。

创建“移动应用”

界面开发及交互配置

按下图所示依次将控件拖入界面中,可以根据自己需要添加所需要的控件。各组件的说明请参考IoT Studio组件说明。

按下图所示,为每一个按钮配置交互行为,当点击特定按钮时,设置设备物模型标签为对应值。首先配置传感器数据。

接下来配置开关按钮对应的数据源。

预览及发布应用

点击右上角按钮预览或发布,即可在手机上使用应用,可以实现随时随地远程控制啦。

来这里探索更多有趣案例

HaaS开发框架HaaS积木方案,赋能生态开发者,让您快速找到自己需要的解决方案,硬件主板与外设,以及各种应用组件。https://haas.iot.aliyun.com/solution

【毕设参考】“摸鱼”神器,用 ESP32 + HaaS Python DIY一款全功能鱼缸 控温、过滤、换水一键执行相关推荐

  1. 【摸鱼神器】— 五子棋

    这个点快到下班或者休息吃饭的时间了吧,不知道现在有没有人,我来分享一个摸鱼神器 - 五子棋 . 用python写出来的!明天上班的时候就能拿出来摸摸鱼 ~ 但是还是要注意时间哈,被老板发现了可不能怪我 ...

  2. 一键摸鱼神器火了!专为Windows系统打造,老板在身后也可以很淡定

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 哪个打工 ...

  3. 【摸鱼神器】基于python的BOSS识别系统

    [摸鱼神器]基于python的BOSS识别系统 前言 一.整体设计 二.调用摄像头 三.人脸识别 1. 构建白名单库 2. 人脸匹配 四.切换屏幕 五.完整代码 写在最后 前言 Tip:本文仅供技术学 ...

  4. 摸鱼神器:悄悄股票盯盘_stockAssistant 功能介绍

    此软件是一款办公室摸鱼神器,能神不知,鬼不觉的将股市行情波动一览无余,避免被领导或者同事发现. 友好的登陆界面:祝福您股市亨通,心想事成. 该软件可以使用任意名称进行注册,不保留用户信息,做到绝对隐蔽 ...

  5. 一键摸鱼神器火了,专为打工人量身定做,老板在身后也可以依然淡定!

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 哪个打工人,还没点摸鱼小技巧了? 这不最近,有一个摸鱼工具,名叫Loaf,就有点火,还冲上过微博热搜. 在你安装好 ...

  6. 一键摸鱼神器火了专为Windows系统打造,老板在身后也可以很淡定

    点击"终码一生",关注,置顶公众号 每日技术干货,第一时间送达! 哪个打工人,还没点摸鱼小技巧了? 这不最近,有一个摸鱼工具,名叫Loaf,就有点火,还冲上过微博热搜. 在你安装好 ...

  7. 手写了个 BOSS 来了的摸鱼神器!

    作者 |小小明 来源 |杰哥的IT之旅 今天我们的目标是就是将Ping整个网段IP的总耗时降低到5秒以内,这样我们就能够在5秒内知道指定mac地址设备的上下线,例如开发一个BOSS来了的摸鱼神器,只要 ...

  8. 你要的职场“摸鱼”神器来了!送书5本!

    你要的职场"摸鱼"神器来了! <Python自动化办公:3分钟完成一天工作> 01 这是什么来头的摸鱼神器 这不是一本让你学编程的技术书, 而是一本介绍如何通过简单程序 ...

  9. 你要的职场“摸鱼”神器来了!(文末送书)

    我是小z 不少同学入坑Python,是为了数据分析 也有很多,目的更加纯粹:用Python自动化办公来提效 给自己更多摸鱼的时间 毕竟,摸鱼赚的钱,才算是真赚的,不然只能算劳动换取报酬(逃~) 所以, ...

最新文章

  1. 【C++】C++11 STL算法(四):二分查找法(Binary search operations)、合并操作
  2. leetcode算法题--Bulls and Cows
  3. myeclipse使用太卡问题
  4. sap转换成基本订单单位
  5. 谈谈战双的战斗机制设计趋同
  6. 51Nod 蜥蜴和地下室(搜索)
  7. c#10中的namespace
  8. Mysql -update - Error Code: 1175. You are using safe update mode and you tried to update a table wit
  9. IP地址定位计算机,怎么通过ip地址定位到具体位置
  10. Java生成32位UUID
  11. 微信小程序中的常用布局方式(总结)
  12. 国内最好的B端设计资源,都在这里了
  13. tensorflow2 serving
  14. 电网企业 财务管理创新
  15. python通过鼠标点击进行图像截图,类似QQ截图
  16. 如何将PDF图片旋转90度,盘点这个小方法
  17. Android开发 读取手机通讯录
  18. 基辛格等分享: ChatGPT 预示着一场智能革命,而人类还没有准备好
  19. 新浪校招php笔试题,新浪笔试题 PHP
  20. Windows 11和安全启动

热门文章

  1. 翻译翻译什么TMD叫EXPLAIN
  2. 使用ESM做elasticsearch数据迁移
  3. scapy(一):简介及实现ARP攻击
  4. 局部非饱和性的含义_范里安-微观经济学现代观点讲义(new)
  5. 《文化相对论》:危机重重的世界,对话才能产生转机
  6. flutter gridview item 有空隙
  7. 笔记:《高效能人士的七个习惯》第八章 习惯五 知彼解己——移情沟通的原则
  8. JavaScriptJQuery_jQuery简介
  9. PHP1c型GNAS,8盘位HP ML110 G9开箱测试,刷群晖改装20盘位
  10. OpenGL全屏显示背景贴图