涂鸦智能宠物喂食器(鱼缸投食器) 您所在的位置:网站首页 智能喂鱼器 涂鸦智能宠物喂食器(鱼缸投食器)

涂鸦智能宠物喂食器(鱼缸投食器)

2023-11-14 17:52| 来源: 网络整理| 查看: 265

涂鸦智能宠物喂食器(鱼缸投食器) 系统框架①涂鸦IOT平台1.创建产品1.进入IOT平台,注册登录,点击创建产品。2.选择小家电→宠物喂食器→MCU方案→Wi-fi→输入产品名称、型号3.添加标准功能与新建自定义功能:根据实际情况添加。4.硬件开发:选择VWXR2 Wi-fi语音模组5.下载资料 2.绘制自定义面板3.涂鸦模组调试助手V2.0.7 ②硬件介绍1.涂鸦三明治开发套件2.MCU:合泰HT66F45603.水泵、投食器 ③软件介绍1.涂鸦MCU-SDK移植 ④涂鸦智能APP介绍1.智能-自动化 ⑤面板介绍1.上报显示处理2.下发控制处理 ⑥宠物喂食器介绍1.鱼缸投食器 本文章允许涂鸦智能转载使用

github链接: 代码仓库. 视频链接: bilibili视频.

随着互联网技术的高速发展,智能家居的推广已经势不可挡。伴随人们生活水平的提高,在家中养殖观赏鱼已经成为追求高雅的生活方式。观赏鱼需要定时投喂和较好的水质等才能健康成长。针对人们在外管理植物不便的问题,设计了基于TuYa-IOT平台的远程鱼缸喂食器,通过智能手机与物联网实现了远程喂食观赏鱼的目的。在人们无暇照顾观赏鱼的时候也能保证它们健康成长。 ①喂食计划自动喂食;下发设置 ②手动喂食;下发控制 ③水循环;下发控制 ④LED补光灯;下发控制 ⑤温度检测;上报 ⑥电量;上报 ⑦喂食结果;上报

系统框架

Flowchart流程图:

Created with Raphaël 2.2.0 开始 系统初始化 定时采集温度 涂鸦IOT下发 or 按键8ms扫描 1.LED补光灯开关 2.水泵开关 3.投食器开关 4.配网 上报对应数据 && 硬件对应动作 (温度、投食状态、投食次数、电量、配网) -----------------定时请求本地时间----------------- yes no ①涂鸦IOT平台 1.创建产品

参考涂鸦官方教程:涂鸦IOT-五分钟快速入门.

1.进入IOT平台,注册登录,点击创建产品。

点击创建产品

2.选择小家电→宠物喂食器→MCU方案→Wi-fi→输入产品名称、型号

完成产品创建。 在这里插入图片描述

3.添加标准功能与新建自定义功能:根据实际情况添加。

添加标准功能 新建自定义功能

4.硬件开发:选择VWXR2 Wi-fi语音模组

在这里插入图片描述

5.下载资料

下载资料

2.绘制自定义面板

可参考官网: 使用面板工作台帮助文档. 1.使用平台上的快速可视化创建面板 在这里插入图片描述 2.更换兼容浏览器 更换兼容浏览器 3.绘制面板 在这里插入图片描述 4.面板介绍,可前往观看视频

3.涂鸦模组调试助手V2.0.7

参考链接: 模组调试助手. 1.使用调试助手模拟MCU,调通MCU与模组的通信,同时也可以学习一下通信协议。包括重置配网指令、数据上报与下发、获取时间、获取联网状态等 2.使用调试助手模拟模组,调试MCU代码。

②硬件介绍

硬件总体设计方案是由TuYa三明治模块、合泰HT66F0185-MCU、水温传感器DS18B20、投食器模块、补光灯、OLED 显示模块、按键控制模块等模块组成。

1.涂鸦三明治开发套件

链接: 涂鸦三明治 Wi-Fi MCU 通信板. 链接: H 桥直流电机驱动功能板. 链接: 直流供电电源板.

涂鸦三明治语音Wi-Fi 通信板(VWXR2)是方便开发者快速实现各种智能硬件产品原型的一款开发板。您可通过涂鸦三明治语音Wi-Fi 通信板(VWXR2),搭配其他功能电路模块或电路板,实现对应功能。 在这里插入图片描述 涂鸦三明治 H 桥直流电机驱动功能板自带 DC005A 圆形电源输入口,内置 DC 电路,可输出 5V/1A 和 3.3V/1A 两组电源,用于涂鸦三明治其余相关的部件供电。 在这里插入图片描述 该电源开发板具有 DC 12V、DC 5V 两个输入接口,在 DC 12V 输入时,两个 SY8012B 芯片同时工作可为其他开发板部件提供 DC 12V、DC 5V、DC 3.3V。在 DC 5V 输入时,一个 SY8012B 工作,为其他开发板部件提供 DC 5V、DC 3.3V。 在这里插入图片描述

2.MCU:合泰HT66F4560

在这里插入图片描述 周边特性: ● 程序存储器:2K×16~16K×16 ● 数据存储器:128×8~512×8 ● True EEPROM存储器:32×8~128×8 ● 看门狗定时器功能 ● 多达 46 个双向 I/O 口

3.水泵、投食器

采用蠕动水泵;使用成品的投食器结构(内含霍尔传感器,外接四线:VDD、GND、MotorIO、Hall_sensor) 在这里插入图片描述 在这里插入图片描述

③软件介绍 1.涂鸦MCU-SDK移植

参考官网教程链接: MCU SDK 移植.

mcu_sdk包含以下文件: (具体开发指导,可参考readme.txt文件,与protocol.c文件) 在这里插入图片描述 以下列举了一些关键的函数,具体可参考Github链接。 1.初始化函数。

/****************************************************************************** 第一步:初始化 1:在需要使用到wifi相关文件的文件中 #include "wifi.h" 2:在MCU初始化中调用mcu_api.c文件中的wifi_protocol_init()函数 3:将MCU串口单字节发送函数填入protocol.c文件中uart_transmit_output函数内,并删除#error 4:在MCU串口接收函数中调用mcu_api.c文件内的uart_receive_input函数,并将接收到的字节作为参数传入 5:单片机进入while循环后调用mcu_api.c文件内的wifi_uart_service()函数 ******************************************************************************/

2.串口字节发送函数

/****************************************************************************** 2:串口单字节发送函数 请将MCU串口发送函数填入该函数内,并将接收到的数据作为参数传入串口发送函数 ******************************************************************************/ /** * @brief 串口发送数据 * @param[in] {value} 串口要发送的1字节数据 * @return Null */ #include "HT66F4560.h" void uart_transmit_output(unsigned char value) { _acc = _usr; _txr_rxr = value; while(!_tidle); }

3.dp点上报函数

/** * @brief 系统所有dp点信息上传,实现APP和muc数据同步 * @param Null * @return Null * @note 此函数SDK内部需调用,MCU必须实现该函数内数据上报功能,包括只上报和可上报可下发型数据 */ #include "TuYa_JDQ_KEY_LED.h" #include "Drv_Timers.h" #include "dht11.h" #include "ds18b20.h" #define ON 1 #define Off 0 void all_data_update(void) { if(gbv_wifi_Send_Data_Is_300ms) { gbv_wifi_Send_Data_Is_300ms = 0; if(gbv_wifi_Send_JDQ_Water) { gbv_wifi_Send_JDQ_Water = 0; mcu_dp_bool_update(DPID_TUESDAY, JDQ_Water); //BOOL型数据上报; } /*if(gbv_wifi_Send_JDQ_FishFood) { gbv_wifi_Send_JDQ_FishFood = 0; mcu_dp_enum_update(DPID_FEED_STATE,0); //枚举型数据上报; }*/ else if(gbv_wifi_Send_LED1) { gbv_wifi_Send_LED1 = 0; mcu_dp_bool_update(DPID_MONDAY, LED1); //BOOL型数据上报; } else if(gbv_wifi_Send_FeedState) { gbv_wifi_Send_FeedState = 0; //mcu_dp_enum_update(DPID_FEED_STATE,gu8v_FishFood_State); //枚举型数据上报; mcu_dp_enum_update(DPID_FEED_STATE,JDQ_FishFood_MotoIO); //枚举型数据上报; } else if(gbv_wifi_send_FeedTimers) { gbv_wifi_send_FeedTimers = 0; mcu_dp_value_update(DPID_FEED_REPORT,gu8v_FishFood_FeedTimers); //VALUE型数据上报; } } if(gbv_TuYa_Send_Data_Is_10s) { gbv_TuYa_Send_Data_Is_10s = 0; mcu_dp_value_update(DPID_BATTERY_PERCENTAGE,100); //VALUE型数据上报; mcu_dp_value_update(DPID_AIRTEMP,temp_N); //VALUE型数据上报; mcu_dp_value_update(DPID_WATER_TEMP,DS18B20_Temp/1000); //VALUE型数据上报; mcu_get_system_time(); } }

4.获取本地时间函数

#ifdef SUPPORT_MCU_RTC_CHECK /** * @brief MCU校对本地RTC时钟 * @param[in] {time} 获取到的格林时间数据 * @return Null * @note MCU需要自行实现该功能 */ #include "ds1302.h" void mcu_write_rtctime(unsigned char time1[]) { //#error "请自行完成RTC时钟写入代码,并删除该行" /* Time[0] 为是否获取时间成功标志,为 0 表示失败,为 1表示成功 Time[1] 为年份,0x00 表示 2000 年 Time[2] 为月份,从 1 开始到12 结束 Time[3] 为日期,从 1 开始到31 结束 Time[4] 为时钟,从 0 开始到23 结束 Time[5] 为分钟,从 0 开始到59 结束 Time[6] 为秒钟,从 0 开始到59 结束 Time[7] 为星期,从 1 开始到 7 结束,1代表星期一 */ if(time1[0] == 1) { //正确接收到wifi模块返回的本地时钟数据 time[year] = time1[1]; time[week] = time1[7]; time[month] = time1[2]; time[day] = time1[3]; time[hour] = time1[4]; time[min] = time1[5]; time[second] = time1[6]; }else { //获取本地时钟数据出错,有可能是当前wifi模块未联网 } } #endif ④涂鸦智能APP介绍 1.智能-自动化

使用参考链接: 智能自动化使用手册. 在这里插入图片描述

⑤面板介绍

介绍可参考视频。 上区域是显示区域,下区域是控制区域

1.上报显示处理

显示水温、环境温度、电量、当天喂食次数。

2.下发控制处理

喂食一次、LED补光灯开关、水泵开关。 在这里插入图片描述

⑥宠物喂食器介绍 1.鱼缸投食器

两条斗鱼隔空干架中… 在这里插入图片描述

在这里插入图片描述 在这里插入图片描述 最后感谢涂鸦智能给我提供了一次很好的学习机会,使用三明治开发套件快速开发出了宠物喂食器。以后放假再也不担心我的鱼了,真是居家、旅行必备的喂食器呀!后续再添加上语音功能、离线定时喂食功能和显示功能就更好了,下次再见☺。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有