饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿
Posted HaaS技术社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了饭碗空空 猫猫流泪 用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、编辑“移动应用”
点击编辑进入应用的编辑页面
编辑应用标题
编辑自动投喂控制开关,并添加时间显示控件
编辑余粮统计控件,用于实时显示宠物粮剩余情况
编辑投喂次数显示控件,用于显示宠物粮已投放次数
编辑投喂次数清零控件,用于将宠物粮投放次数显示清零
编辑开始投喂控件,用于远程手动控制宠物粮投放
点击右上角的保存按钮,之后可通过预览按钮进行预览,也可通过手机扫描二维码然后在手机端进行控制。
以上是关于饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿的主要内容,如果未能解决你的问题,请参考以下文章
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧