饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿

简介: 饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿

来这里 发现更多有趣案例

HaaS趣味案例



1、简介

 

自动投食器是一种可以自动投喂宠物粮的设备,致力于解决当家中无人时宠物无法喂养的问题。该设备具备云端接入能力,可通过手机进行控制,拥有两种投喂模式可供选择,即在手机端手动点击投喂,或定时进行周期性的投喂;另外,还可对剩余宠物粮进行实时监控,方便用户实时了解宠物们碗中是否有粮可吃。


1.1、准备

硬件列表


Haas EDU K1开发板一个

电源转接板一个

步进电机及uln2003驱动板一套

HX711电子秤传感器一个

杜邦连接线若干

Haas EDU K1开发板与转接板、步进电机及电子秤传感器之间的硬件连线


硬件 uln2003步进电机驱动板 HX711电子秤传感器 Haas EDU K1开发板 电源转接板

端口标识 GND GND GND GND

- VCC 3.3V -

VCC - - 5V

IN1 - P04 P04

IN2 - P05 P05

IN3 - P06 P06

IN4 - P07 P07

- CLK P02 P02

- DT P03 P03

硬件说明 步进电机驱动器详情 - 快速开始详细端口定义 -

 

硬件连线图如下所示:




2、物联网平台开发

 

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


创建产品(设备模型)

定义产品功能(物模型)

创建设备及获取三元组

 

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


 

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




2.1、创建产品(设备模型)

 

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




 

进入新建产品页面,设定“产品名称”,这里我们命名为“宠物粮投喂器”,读者也可以根据自己的喜好来命名。在“所属品类”中,选择“自定义品类”。


 

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


 

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




 

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




 

点击“前往定义物模型”




2.2、定义产品功能(物模型)

 

进入功能定义,点击编辑草稿,选择添加自定义功能,依次添加“自动投喂开关”“投喂计数清零”“手动投喂”“已投喂次数”“剩余宠物粮”五个功能项,如下所示:




 

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






 

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


2.3、创建设备及获取三元组

 

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




 

生成的设备如下。




 

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




 

点击右上角的“查看”按钮,就能看到设备的三元组信息了。

三元组是物联网设备端和物联网云端设备相关联的唯一标识符,在设备端连接云端的时候会使用三元组信息和云端进行鉴权,鉴权通过之后云端会认为设备已激活并上线。




 

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

选中“实时刷新”,可以看到数据实时从设备上报到物联网平台。设备上云成功。




3、设备端开发

3.1、开发环境

 

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


3.2、创建解决方案

 

如下图所示,在Haas Studio中创建项目。先选择左侧的“开发板型号”再从右侧的案例中选择“自动投食器”案例点击“立即创建”即可。




填写Wi-Fi名称及密码

 

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


# wifi连接的的ssid和pwd定义

wifi_ssid = "请填写您的路由器名称"

wifi_password = "请填写您的路由器密码"

修改设备端三元组

 

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


# 三元组信息

productKey     = "产品key"

deviceName     = "设备名称"

deviceSecret   = "设备密钥"

4、物联网应用开发

 

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


4.1、新建“普通项目”

 

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






4.2、关联产品与设备

 

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


 

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





 

在项目控制台,点击左侧的“设备”,点击“关联物联网平台设备”。此时可以看见我们创建的“pet_food_feeder”。点击选中。


4.3、创建“移动应用”

 

在项目控制台,点击左侧主页,选择刚刚创建的项目,选择移动应用-新建,填写应用名称,最后点击确定来完成创建。




4.4、编辑“移动应用”

 

点击编辑进入应用的编辑页面





编辑应用标题





编辑自动投喂控制开关,并添加时间显示控件





编辑余粮统计控件,用于实时显示宠物粮剩余情况





编辑投喂次数显示控件,用于显示宠物粮已投放次数





编辑投喂次数清零控件,用于将宠物粮投放次数显示清零





编辑开始投喂控件,用于远程手动控制宠物粮投放






点击右上角的保存按钮,之后可通过预览按钮进行预览,也可通过手机扫描二维码然后在手机端进行控制。






————————————————

版权声明:本文为CSDN博主「HaaS技术社区」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/HaaSTech/article/details/125204384

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
4月前
|
搜索推荐 Python
Python上下文管理器DIY指南:从入门到精通,轻松驾驭资源管理
【7月更文挑战第6天】Python的上下文管理器是资源管理的利器,简化文件操作、网络连接等场景。通过定义类及`__enter__`、`__exit__`方法,可自定义管理器,如示例中的`MyContextManager`,实现资源获取与释放。使用with语句,提升代码可读性和维护性,不仅用于基本资源管理,还可扩展到事务控制、自动重试等高级应用,让编程更加高效和灵活。
60 0
|
6月前
|
前端开发 关系型数据库 MySQL
基于python+mysql的宠物领养网站系统
基于python+mysql的宠物领养网站系统
93 2
|
6月前
|
小程序 Python
用 Python 制作一个桌面宠物,好玩!
用 Python 制作一个桌面宠物,好玩!
|
6月前
|
小程序 Python
用Python制作一个桌面宠物,真好玩!
用Python制作一个桌面宠物,真好玩!
165 2
|
2月前
|
机器学习/深度学习 监控 TensorFlow
使用Python实现深度学习模型:智能宠物监控与管理
使用Python实现深度学习模型:智能宠物监控与管理
72 0
|
4月前
|
数据库连接 数据库 Python
惊!Python 上下文管理器竟能如此 DIY,你的代码管理从此焕然一新🎉
【7月更文挑战第3天】Python的上下文管理器是资源管理的关键,保证了如文件或数据库连接的适时打开和关闭,提升代码可读性和可靠性。使用`with`语句结合`__enter__`和`__exit__`方法能简洁地处理异常和资源释放,例如在文件操作中,避免了手动关闭文件的需要。这降低了出错风险,使代码更整洁。
27 0
|
SQL 前端开发 JavaScript
基于python+django的宠物商店-宠物管理系统
该系统是基于python+django开发的宠物商店-宠物管理系统。是给师妹开发的课程作业。现将源码开放给大家。大家学习过程中,如遇问题可以在github咨询作者。
232 0
|
6月前
|
NoSQL 开发工具 数据库
基于Python开发的DIY字符画程序(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
基于Python开发的DIY字符画程序(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
|
开发框架 开发者 Python
Python+ESP32 DIY 一个【赛博朋克逗猫机】 喵喵喵?今天的主子看起来有点奇怪
Python+ESP32 DIY 一个【赛博朋克逗猫机】 喵喵喵?今天的主子看起来有点奇怪
163 1
|
传感器 监控 网络协议
Python + ESP32 DIY自动感应智能皂液器 避免触摸更安全
Python + ESP32 DIY自动感应智能皂液器 避免触摸更安全
202 0