爱板网论坛

查看: 592|回复: 4

[WiFi] TYDE3.0 涂鸦智能 IoT开发板程序移植——温湿度控制仪

[复制链接]

主题

好友

164

积分

童生

  • TA的每日心情

    2018-3-10 22:10
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2018-2-27 21:32:43 |显示全部楼层
    本帖最后由 baomihuadexiaoqingdiao 于 2018-2-27 21:41 编辑

         敬告:本篇教程图片较多,警惕流量 !非常适合小白学习使用,同时还望大神不吝赐教!
         这段时间一直在研究TYDE3.0 开发板,因为过“
    春劫”,并且有一个嗷嗷待哺的小娃娃,所以耽搁了一些时间,没有更新!抱歉了!
          收到TYDE3.0 已经很长时间了,因为板载的模块十分有限,所以考虑手上现有的模块,从简单的开始吧,因为除了彩灯的demo,还有一个空气净化器的demo,正好手上有一个DHT11,这个应用电路很简单,只需在1,2脚之间并联一个5.1k电路就可以了,电路图如下:

    22.png
    23.jpg
    1519736645607.jpg


         接下来,开始做一个简单的程序移植!
    1.创建产品,首先选择产品功能。

    1.png
    2.png
    3.png
    24.png


    我全选上了,方便以后设计,就不用为重新添加功能而修改程序,当然功能虽然选上了,可以在app定制界面可以隐去,很方便,在编辑完页面后,可以用手机扫一下右面二维码预览一下,界面非常漂亮!接下来到硬件调试界面。

    5.jpg


    下载MCU开发包,接下来开始程序移植吧!
    2.开发软件用的是keil 5,首先看一下,我们应该看一下应该修改哪些地方,我为大家一一标出!
    1.修改产品ID,打开下载的文件包,解压后得到8个文件,其中需要我们修改的是protocol.h和protocol.c。首先打开空气净化器demo的protocol.h文件和下载protocol.h文件,接下来,开始从新产品的MCU一一对应移植到空气净化器demo中。需要移植的内容,我将截图出来

    8.png
    9.png
    10.png


    2.接下来修改protocol.c文件,分别打开这两个文件

    11.png
    12.jpg
    13.png
    14.png
    15.png


    值得注意的是,移植数据上报程序时,需要根据你想实现的功能编写程序。
    eg:
    1. <b><font face="仿宋, 仿宋_GB2312" size="3">static unsigned char dp_download_switch_handle(const unsigned char value[], unsigned short length)
    2. {
    3.   unsigned char ret;
    4.   unsigned char power_switch;
    5.   
    6.   power_switch = mcu_get_dp_download_bool(value,length);
    7.   if(power_switch == 0)
    8.   {
    9.     //开关关
    10.   }
    11.   else
    12.   {
    13.     //开关开
    14.   }
    15.   ret = mcu_dp_bool_update(DPID_SWITCH,power_switch);
    16.   if(ret == SUCCESS)
    17.     return SUCCESS;
    18.   else
    19.     return ERROR;
    20. }</font></b>
    复制代码
    如果你想实现控制继电器
    1. <b><font size="3" face="仿宋, 仿宋_GB2312">static unsigned char dp_download_switch_handle(const unsigned char value[], unsigned short length)
    2. {
    3. unsigned char ret;
    4. unsigned char power_switch;

    5. power_switch = mcu_get_dp_download_bool(value,length);
    6. if(power_switch == 0)
    7. {
    8. //开关关
    9. <blockquote>FlashBuffer.power_switch = SET;</font></b>
    复制代码
    3.接下来,如果你编译的会,会出现很多错误,有很多提示未定义,需要修改include.h,在这里对一些变量进行定义。

    16.png
    17.png


    4.定义输出引脚,需要修改hard文件夹内的文件,因为本次是在demo的基础上修改程序。所以直接修改hal_rgb.h文件即可。
    18.png

    19.jpg


    在这里对输出引脚进行定义。至此,移植程序需要修改的几个文件已经修改完毕,剩下的需要大家多多试验,很容易就可以学会的!
    5.接下来开始编译,需要对keil进行一些设置。

    20.jpg
    21.jpg


    设置完成后,就可以编译了。完成后会在tuya_air_purifier_demo_stm32_v3.0.1\tuya_air_purifier_demo_stm32_v3.0.1\Project\MDK-ARM\obj文件夹内生成一个bin文件。
    6.程序烧写方法,参考官方说明书,值得注意以下几个点。

    26.png

    25.jpg


        到此,一款新产品就可以通过手机控制使用了,是不是很简单!我会在文末附上我得源程序,大家可以直接下载使用!如果有疑问,欢迎留言!
        最后,再次感谢涂鸦科技和爱板网!谢谢!
    温湿度显示仪.zip (5.43 MB, 下载次数: 13)




    回复

    使用道具 举报

    主题

    好友

    164

    积分

    童生

  • TA的每日心情

    2018-3-10 22:10
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2018-2-27 21:41:42 |显示全部楼层
    自己的楼自己坐。。。。
    回复

    使用道具 举报

    主题

    好友

    1948

    积分

    版主

  • TA的每日心情
    奋斗
    2018-6-7 16:32
  • 签到天数: 308 天

    连续签到: 2 天

    [LV.8]以坛为家I

    发表于 2018-2-28 11:11:40 |显示全部楼层
    你的继电器是低电平触发还是高电平触发?
    回复

    使用道具 举报

    主题

    好友

    164

    积分

    童生

  • TA的每日心情

    2018-3-10 22:10
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2018-2-28 13:25:23 |显示全部楼层
    可乐丸子 发表于 2018-2-28 11:11
    你的继电器是低电平触发还是高电平触发?

    继电器是低电平触发,,,,,15字啊啊啊
    回复

    使用道具 举报

    主题

    好友

    164

    积分

    童生

  • TA的每日心情

    2018-3-10 22:10
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2018-2-28 13:29:42 |显示全部楼层
    可乐丸子 发表于 2018-2-28 11:11
    你的继电器是低电平触发还是高电平触发?

    继电器模块一般可以选择高电平/低电平触发!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /4 下一条

    手机版|爱板网

    GMT+8, 2018-6-24 19:00 , Processed in 0.098748 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-5   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001056号

    Powered by Discuz!

    返回顶部