涂鸦的这套宠物SDK设计,真香

我应该在之前的文章里面说过,我之前创业的时候做过宠物方面的产品,而且我们当时用的是乐鑫的芯片。最近知道在涂鸦工作的朋友也在研究这方面,他给我寄了几个小板子,还有涂鸦的IOT SDK,我玩了几天,觉得真的很香,如果当时我能有这套SDK,就不会自己折腾那么多东西了。

b0027a6c553ee3099e638a0b20b5dd05.png

先说下涂鸦的这个硬件设备

Wi-Fi&BLE SoC NANO主控板(BK7231N)

62c3307d5b3e301d90170c39ecd1cb0d.png

原理图:

346b43ed18af6866b60de1f11eaf7114.png

硬件设备的链接如下:

https://developer.tuya.com/cn/docs/iot/tuya-sandwich-wifi-and-ble-soc-board-BK7231N?id=Kao72e6net3bs

这是一个双模Wifi+BLE的芯片,价格 17元。

b11741a108dce1e58d5b3b9b1068cdda.png

芯片的参数信息

因为是控制类芯片,CPU主频已经足够使用,定时器和GPIO口这些常见的外设有都有,关键是可以支持串口下载。

硬件真随机数应该也是一个亮点。

ce60d436aa267655cceacfe31db69d94.png

2584c679a894aab1d15ef5d5a72a5483.png

SDK介绍

我使用的SDK是找涂鸦申请的,据在涂鸦工作的朋友说,他们还在给这个SDK做迭代。

收到的SDK是一个压缩包,直接放到ubuntu服务器上就能编译。

9ccc4e79f223899023a1234b321278ae.png

代码目录结构

c2711cb2ac81668dfceffd3757927dd8.png

涂鸦SDK介绍

https://developer.tuya.com/cn/docs/iot-device-dev/tuya-common-wifi-sdk?id=K9glcmvw4u9ml

905ffc2abfe0f663e1387b17c3ec40cb.png

作为用户程序,我们使用的宠物代码位于apps下面,如果你想自定义自己的用户程序,也可以在apps下面创建。

4288c3ca7140e132a7640722136e3a21.png

53aa6e44b52cd78588ccf3aae1b97476.png

SDK编译

编译环境安装可以参考下面的链接

https://developer.tuya.com/cn/docs/iot/SoC-redevelopment_Windows?id=Kauqrxxka0wv6

在SDK的根目录下执行

./build_app.sh apps/tuya_bk7231n_pet_feed_demo/ tuya_bk7231n_pet_feed_demo 0.0.0.1

tuya_bk7231n_pet_feed_demo 是 apps子目录,这个不能随便修改,最后写的是版本号。

第一次编译的时候会需要下载一些东西

bf2b4b8c886aef7efb4a8d5c5999f03e.png

之后每次编译就会很快

c2c5a976f41cedf686b2eb495d7589b6.png

编译的产物在output目录下

fc4c8e70cab54550730c3bb021fd0984.png

  • QIO是生产固件,生产时下载

  • UA是用户固件,本地调试用原厂工具烧录时使用

  • UG是升级固件

9c86105accf5f74a8af9b69d52495cad.png

ad351d9e9d0b161f93c02bfb30911e92.png

烧录

烧录的设计非常优雅,用USB线连接开发板,把拨动开关如图设置,就可以用烧录器进行烧录。并且,USB线还可以用来查看模组日志,是不是很beautiful?我们平时在调试的时候,都是用烧录器烧录,然后再焊接串口线看日志,这个小小的模块可以集烧录和日志调试一体化。以前做STM32,我也很不喜欢大大的jlink,总觉得不够优雅,涂鸦的这个设计,确实优雅的一批。

3059b4b31878cfbc3ff6c90fa828d810.png

设备有两个串口,一个用于烧录,一个用户查看日志

两个串口:

c11925846e9a3a765c7c35ec83a6d9ba.png

其中

l  A可以作为程序下载使用的

l  B通常是用来打印日志的

模块烧录文档详情如下

https://blog.csdn.net/sandwich_iot/article/details/119824194

我这里使用的是原厂的烧录工具,使用原厂烧录工具就不需要烧录授权的那些东西了。

76f9a0d29348ecde5da400fec2388489.png

烧录成功后的串口日志

a978cf6d268e0ed1a9c06e1d2c58922c.png

拍一下我控制LED的视频

93b973e7715587c199beabe32873f73d.png

开机流程

因为底层封装了一些涂鸦的IOT库,我们从事应用是在应用层开发,我们更多关注的是自己的业务逻辑。

但是对开机流程熟悉是必须的,这样更方便我们排查问题。

ed562efe5fd20e819c906fcaa3579aae.png

df196cf98303694a7eaf874db896d256.png

宠物喂食部分的介绍

作为宠物硬件设备,最重要的内容是控制和安全,控制是为了让宠物设备正常运转,安全当然是为了保护宠物的安全。

下面是基本功能介绍

957a40f3d0d6758ffd0cbe7c5d941350.png

在后台程序,定时有看门狗在运行,监控系统的正常运转

cdcfe2b01a55e0ba7748f76c5cf104e4.png

571312874c610fbb98c90f0e2ccafbca.png

视频介绍

想体验SDK的可以联系下面涂鸦朋友申请

232dcac261fc78e9e67a6f1ae69635f1.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

准备 KVM 实验环境 - 每天5分钟玩转 OpenStack(3)

转载:http://cloudman.blog.51cto.com/10425448/1747415 KVM 是 OpenStack 使用最广泛的 Hypervisor,本节介绍如何搭建 KVM 实验环境 安装 KVM 上一节说了,KVM 是 2 型虚拟化,是运行在操作系统之上的,所以我们先要装一…

电子美图高清系列漫画分享给大家欣赏!

电子漫画搞电子的大家或多或少都会收集了电子漫画和表情到,小编找了一份比较全高清无码的电子美图漫画,供大家欣赏,提供下面三种下载方式!1、GitHub:https://github.com/chiphome/Electronic-Comics2、Gitee&#xff1…

如何提高网页中图片显示的用户体验(附源码下载)

文章中加入适量的图片不仅可以更好的说明和补充文章的内容,而且还可以极大的减缓阅读者在阅读较长篇幅文章时的疲劳和不安。所以图文混排较好的文章能给阅读者更好的用户体验和享受。但是令人遗憾的是很多的网页图片的显示并不十分理想,非但没有给阅读者…

全开源最小电压表:24位ADC,测量0~2V,五位半

1、项目背景2015年5月份评估完十几种24位ADC后就从第一份工作岗位上离职了,做的24位AD都没有达到实际的效果,一直耽搁困扰了好久。是硬件设计的问题?还是软件开发的问题?还是24位ADC真的不咋地?还是要离职了干活就不负…

小小Table

图1 图2(加了蓝色,让问题更清楚)说明:1.工作需要要做这样一个图形(图1),而且要求不用表(table)套表(table)即一个table画出。2.素材有图表两张:(12*14),(12*13) 颜色为Red感兴趣的朋友…

文件断点续传原理与实现

文件断点续传原理与实现 在网络状况不好的情况下,对于文件的传输,我们希望能够支持可以每次传部分数据。首先从文件传输协议FTP和TFTP开始分析, FTP是基于TCP的,一般情况下建立两个连接,一个负责指令,一个负…

Windows Forms、MFC、WTL、WxWidgets、Qt、GTK综合比较

图形界面库Windows Forms、 MFC、WTL、 WxWidgets、Qt、GTK 综合比较见下表: 总结: GTK主要用在X Window上,整个设计的架构和许多概念和MFC以及一般 Windows 上的程序开发大异其趣,入门门槛较高,而且最主要的特色是&am…

G3,是塔克和阿德巴约的热火队

这一场,是塔克和阿德巴约的热火队G2的比赛,波斯顿人的数据如下G3的比赛,波斯顿人的数据如下如果说田忌赛马可以用在篮球场上,那这场堪称经典热火和波斯顿人的第三场比赛,火队是客场作战,客场作战的热火在第…

微信小程序--数据存储

对本地缓存数据操作分为同步和异步两种。同步方法有成功回调函数,表示数 据处理成功后的操作。下面是小程序提供本地缓存操作接口: 以Sync结尾都是同步方法。同步方法和异步方法的区别是: 同步方法会堵塞当前任务,直到同步方法处理…

RTMPdump 源代码分析 1: main()函数

http://blog.csdn.net/leixiaohua1020/article/details/12952977 rtmpdump 是一个用来处理 RTMP 流媒体的工具包,支持 rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps:// 等。之前在学习RTMP协议的时候,发现没有讲它源代码的,只好自己分…

项目分享| 自制巡线机器人

本次分享机器人项目由myyerrol制作,是他的第一个基于RISC-V的机器人项目。以下文字详细记录了机器人制作的软硬件组成、核心算法等,对机器人感兴趣的朋友可收藏,也可关注他的知乎账号(myyerrol)或GitHub(ht…

CUDA线程、线程块、线程束、流多处理器、流处理器、网格概念的深入理解

一.与CUDA相关的几个概念:thread,block,grid,warp,sp,sm。 sp: 最基本的处理单元,streaming processor 最后具体的指令和任务都是在sp上处理的。GPU进行并行计算,也就是很多个sp同时…

.Net环境下基于Ajax的MVC方案

现在,越来越多人开始尝试基于Ajax进行无刷新的Web开发,不过,在.Net环境下,应用Ajax并不是非常方便,这主要可能是由以下一些原因造成的: •由于Ajax基于javascript的本质,使得开发者必须对javasc…

一道C语言指针的题目

早上看到的题目,但是现在去找没看到了。我当时还把图片放在小号里面了,大家可以看看。大家看看这个代码输出什么?如果想让它输出77要怎么用指针写呢?凭记忆写一下#include "stdio.h"#include "stdint.h" int …

Linux IO多路复用之epoll网络编程,高并发的使用例子 (含源码)

本章节是用基本的Linux基本函数加上epoll调用编写一个完整的服务器和客户端例子,可在Linux上运行,客户端和服务端的功能如下: 客户端从标准输入读入一行,发送到服务端 服务端从网络读取一行,然后输出到客户端 客户端收到服务端…

c#中Excel数据的导入、导出

/**//// <summary>/// 导出到 Excel 文件/// </summary>/// <param name"fileName">含完整路径</param>/// <param name"dataTable">含字段标题名</param>publicvoidExpExcel(stringfileName ,DataTable dataTable){ …

你对Linux下的实时性应该多点了解

作者简介顺刚(网名:沐多)&#xff0c;一线码农&#xff0c;从事工控行业&#xff0c;目前在一家工业自动化公司从事工业实时现场总线开发工作&#xff0c;喜欢钻研Linux内核及xenomai&#xff0c;个人博客 wsg1100&#xff0c;欢迎大家关注&#xff01;本文讲述一些有利于提高x…

DHCP机制

DHCP概念&#xff1a;局域网的网络协议&#xff0c;使用UDP协议工作&#xff0c;在工作过程中&#xff0c;它有两个对象&#xff0c;DHCP客户端和DHCP服务端&#xff0c;DHCP服务运行在&#xff16;&#xff17;端口和&#xff16;&#xff18;端口。 用途&#xff1a;&#xf…

一号团队-团队任务3:每日立会(2018-12-01)

一.基本信息 团队序号&#xff1a;一号 开发的软件名称&#xff1a;Java教学官网 撰写人&#xff1a;张浩洋 学号:2016035107283 职务:项目经理 二.团队汇报 1.汇报文字版 一号团队全体成员与2018年12月01日在第一组项目群中针对2018年11月30日工作任务进行汇报&#xff0c;汇总…

40 岁的中年失业

大家好&#xff0c;我是写代码的篮球球痴&#xff0c;昨天发了一篇文章&#xff0c;有一个朋友转发了&#xff0c;然后看到有人评论&#xff0c;如下&#xff1a;前两天有朋友问我&#xff0c;说腾讯裁员好严重&#xff0c;还有如何如何&#xff0c;我是这样回答的。很多事情我…