使用STM32、WIFI模组,亲手打造一款智能宠物喂食器

发布时间:2023-04-03  

1、前言

我从小就喜欢小动物,工作了之后养了一只可爱的小泰迪,取名叫COCO。白天,我上班把COCO独自锁在家中;晚上回家,COCO热情相迎,这种感觉很治愈。

有时候出短差,就把COCO自己锁在家中,也正是这个原因,很想自己做一个宠物喂食器,可以实现远程喂食和定时喂食的功能,无奈,不懂Android/IOS编程无法实现云端和客户端的功能,一直在搁浅。

幸好,最近我参与了一个调查问卷,以开发者的身份参与了涂鸦智能的开源项目,获得的了涂鸦智能所提供的开发套件,今天就和大家分享一下这个开源项目,并介绍一下参与开发的流程,有兴趣或者有时间想玩的朋友们可以扫描以下二维码报名参与,本次活动免费为你准备了模组以及元器件,还有直播培训教程,手把手教你开发一款宠物喂食器,还是相当不错的

依托涂鸦的智能模组,可以“轻代码”编程,轻松实现客户端的配置,打通了云端、MCU端的“轻代码”甚至“零代码”开发。所用到的硬件资源和平台如下:

STM32F103C8T6最小系统板;

涂鸦wifi语音模组VWXR2;

涂鸦H-Bridge电机驱动板;

5V直流减速电机;

涂鸦IOT平台;

keil5编程环境;

所采用的模组为涂鸦VWXR2,可以轻松实现配网,还具有语音功能。该wifi语音模组的链接如下:

https://developer.tuya.com/cn/docs/iot/device-development/module/wifi-module/vwxr-series-module/vwxr2?id=K9eipxhzap92z

2、模组配网

对于WiFi模组而言,最重要的就是配网,所谓配网,就是让模组接入路由器,实现云端和模组的数据交互。通过USB/TTL将电脑和wifi模组连接。模组上用到的串口为TXD1和RXD1,需要和USB/TTL的串口交叉连接

在配网的时候接上喇叭,可以发出相应的语音提示,非常的方便。



云串口助手的配网流程如链接所示:


涂鸦提供了云串口调试助手,技能实现云端的模拟,又能实现MCU的模拟。配网时,选择MCU模拟,联网协议选择Wi-Fi通用协议。


功能点调试文件,需要选择IOT平台所生产的json文件,这一点在后面的IOT平台会说到。json文件加载成功后,会显示16为的PID字符串,点击“开始调试”后会交互数据流,数据流都在左侧,这些数据流可以帮助开发者很快的了解“串口通讯协议”。在界面下方的操作-基础功能中,点击重置,会开始配网流程。这时候,打开手机“涂鸦智能”APP,


注意,目前只支持2.4G的路由器,如果路由器是5G的,需要根据提示设置一下。

3、IOT平台搭建

涂鸦智能可以做到“轻代码”设置“零代码”开发,因为在涂鸦的IOT平台上都给开发者配置好了,平台可以根据所用的IOT模组生成代码,开发者只需要移植代码就可以了。下面介绍详细的开发步骤。

首先注册IOT平台,之后选择右上角的“IOT平台”,如下图所示。



选择“创建产品”:



选择“小家电”,拉到底部选择“宠物喂食器”:


填写产品名称、产品型号等信息,通讯协议选择WI-Fi


之后,可以根据平台提供的功能裁剪自己所需要的功能,如喂食计划、开关、小夜灯等。



之后配置APP的界面,IOT平台提供了很多公版面板可供用户选择



之后,可以打开“涂鸦智能”APP扫面二维码,就可以在手机端生成界面。



手机端生成的界面如下图所示。



4、硬件配置&下载固件

在“硬件开发”界面,选择硬件,这里的硬件指的就是所使用的IOT模组,我所选用的模组是VWXR2模组,带语音功能。



硬件选择好之后,平台会自动生成基于该硬件的资料文档和SDK代码,需要开发者下载



下载开发资料,里面包含需要移植的mcu_sdk代码、json配置文件、串口通讯协议文件、云串口调试助手等文件。



其中json文件,就是《2-模组配网》中云串口助手索要加载的“功能点调试文件”。

5、mcu_sdk移植

在移植之前,我们需要一套代码,该代码能跑通串口程序。我上手有STM8和STM32的最小系统板,刚开始用STM8移植的,移植完后代码的大小为9K,而我的STM8只有8K的空间。所以,最后换成了STM32,开发环境为Keil5。

首先,把mcu_sdk文件复制到keil的工程目录

在左侧新建MCU_SDK工作组,并把mcu_sdk中的mcu_api.c、protocol.c以及system.c加载进去

在keil中,右键属性或者点击菜单栏的魔法棒,在C/C++下添加mcu_sdk的路径



之后按照开发者文档中MCU_SDK移植的操作流程进行移植,链接如下:

https://developer.tuya.com/cn/docs/iot/device-development/embedded-software-development/mcu-development-access/wifi-mcu-sdk-solution/overview-of-migrating-tuyas-mcu-sdk?id=K9hhi0xr5vll9



通过研究protocol.c中的代码可以知道,IOT平台把功能都做成了单独的函数,函数的命名方式为:

dp_download_xxx_handle(),xxx是不同的功能,如小夜灯为light,开关为switch。只需要在相应的函数下面添加操作就可以了,比如我的STM32最小系统板上有一个LED指示灯。我写的LED点亮函数为LED_Turn_ON(),LED熄灭函数为LED_Turn_OFF(),只需要把语句填上即可。



这时候,通过涂鸦智能APP就可以控制板子上灯的亮灭状态。

要实现宠物喂食器,还需要一个减速电机,减速电机还在购买中,没有到货。到货后继续。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>