查看: 1606|回复: 1

[评测分享] 【机智云GoKit3开发板试用体验】+ ④SoC接入机智云

[复制链接]
  • TA的每日心情
    奋斗
    昨天 21:59
  • 签到天数: 2299 天

    连续签到: 381 天

    [LV.Master]伴坛终老

    发表于 2020-6-1 09:46:13 | 显示全部楼层 |阅读模式
    分享到:
       前面也有提到该GoKit3开发板兼容MCU与SoC版,此次使用GoKit3(S)开发板,基于esp8266模块上的SoC方案,开发的微信宠物屋项目为例,分享一下如何将设备快速接入机智云,实现硬件智能化。无线控制化。    首先我们需要一个机智云开发者账号,登录进开发者中心,然后选择个人项目,点击创建新产品,流程与创建独立MCU方案大体相似,不同的是编译工程的环境不一样,独立MCU方案是以STM32F103为核心,使用Keil或者STM32CubeMX工具来编译或配置工程,而SoC方案则是在Linux环境下,执行app文件夹下的脚本文件进行编译,在Windows下通过串口使用“ESP_DOWNLOAD_TOOL_V2.4.exe”软件下载。
    创建新产品.png
       然后输入产品名称:微信宠物屋
    输入产品名称.png
        接着点击创建数据点
    新建数据点.png
       这里我们需要创建9个数据点,数据点对应的功能信息如下
    设备功能.png
        创建一个数据点,设置完该数据点的变量属性,并要点击应用才能生效
    创建一个数据点.png
    点击应用.png
       按照上述同样的方法,手动创建9个数据点,设置好对应数据变量的属性
    手动创建9个数据点.png
       确认好设置的数据点属性后,点击“MCU开发”然后选择SOC方案,点击生成代码包
    生成SOC代码包.png
       将生成的代码包下载至电脑的本地
    下载代码包.png
        工程压缩包解压下得到如下文件列表目录
    工程解压后.png
        针对这个文件列表目录,机智云有详细说明
    文件结构.png
       然后使用SourceInsight创建一个工程,将代码包中的源文件导入进工程中
    建立SourceInsight工程,并添加相关代码.png
       根据应用功能,在关键的几个源文件中添加部分代码,以实现创建的9个数据点功能对接。
      主要文件及协议API说明如下:
    主要文件说明.png
    协议API说明.png
       然后前往机智云下载中心,下载“微信宠物屋for GoKit3(S) ESP8266 V03000003”SoC源码库,案例里面包含了红外传感器,温湿度传感器,小电机,RGB灯,用户按键等几个外设的驱动,此次借助官方源码移植到云端自动生成SOC源码工程中,使ESP8266功能板实现RGB灯的控制,温湿度数据的采集上报,电机的无线控制。
      将官方的驱动源文件添加进“Gokit\app\driver”下,驱动头文件添加“Gokit\app\include\driver”下,在SourceInsight工程中添加并同步一下。移植各功能模块的驱动文件,具体步骤可分为如下:
    ①、首先在gizwits_product.c文件和user_main.c文件里面添加头文件
    ②、在gizwits_product.c文件添加只读型传感器数据点相关的代码
    ③、在gizwits_product.c文件的userHandle()函数中添加只读型传感器数据点相关的代码
    ④、在gizwits_product.c文件的userInit()函数中添加各sensor的初始化
    ⑤、接着在“gizwitsEventProcess()”函数里面的“//user handle”部分添加完成写类型外设的事件处理的代码,例如控制微信宠物屋的灯光,驱动电机马达
    ⑥、接着在user_main.c文件的key2ShortPress()和key2LongPress()函数中添加配网按键指示灯
       完成以上步骤后,打开虚拟机。这里介绍使用VMware Workstation工具搭建编译环境。打开VMware,将官方提供的“ESP8266_lubuntu_20141021.ova”导入进去。
    VMware中导入镜像.png
       导入完成后需要设置其共享目录,因此需要安装VMwareTools,具体的安装办法这里不再赘述,如有疑问,欢迎留言咨询。
    安装VMwareTools.png
       接着设置共享目录,如下图所示:
    建立共享目录.png
        然后到app目录下执行“gen_misc.sh”脚本文件,编程ok。如下图所示
    生成二进制文件.png
       将功能板的Micro USB与电脑相连接,ESP8266的小核心板下TX、RX、GND通过杜邦线与USB转串口模块正确连接后,将USB转串口模块与电脑相连接,在设备管理列表中可以正常显示其串口号,说明已经正确安装了驱动,否则需要安装对应的驱动文件哦
    串口号.png
        然后打开SecureCRT串口调试工具,并设置对应的串口号为COM16,打开ESP_DOWNLOAD_TOOL_V2.4下载工具,并将编译工程中的对应bin文件加载进相对应的地址中,并设置对应FLASH SIZE等参数,然后点击START,再确保ESP8266小核心上的拨码开关拨到GND上,同时按一下小核心板上的RESET按钮,显示下载界面如下:
    烧录程序.png
       直至下载完成后,我们再将小核心板上的拨码开关拨到KEY1上,再按一下小核心板上的RESET按钮,在SecureCRT工具中则会打印启动的log信息。这次显示正常了,上次搭建环境篇中显示乱码可能是因为没有重启的原因。
    完成下载.png
    正常打印log信息.png
        综上结果分析,功能板已经启动了SoC方案,使用手机端的机智云app也能正常连接,但是启动完成后,在SecureCRT中每隔1秒后打印“@@@@ dh11Read error!”,具体添加的只读型传感器数据点相关的代码如下:
    1. void ICACHE_FLASH_ATTR userHandle(void)
    2. {
    3.         uint8_t ret = 0;
    4.         uint8_t curTemperature = 0;
    5.         uint8_t curHumidity = 0;
    6.         uint8_t curIr = 0;
    7.         static uint8_t thCtime = 0;
    8.         static uint8_t irCtime = 0;
    9.         thCtime++;
    10.         irCtime++;
    11.        
    12.         //红外传感器数据获取
    13.         if(INF_TIMEOUT < irCtime)
    14.         {
    15.                 irCtime = 0;
    16.                 curIr = irUpdateStatus();
    17.                 currentDataPoint.valueInfrared = curIr;
    18.         }
    19.        
    20.         //温湿度传感器数据获取
    21.         if(TH_TIMEOUT < thCtime)
    22.         {
    23.                 thCtime = 0;
    24.                 ret = dh11Read(&curTemperature, &curHumidity);
    25.                 if(0 == ret)
    26.                 {
    27.                         currentDataPoint.valueTemperature = curTemperature;
    28.                         currentDataPoint.valueHumidity = curHumidity;
    29.                 }
    30.                 else
    31.                 {
    32.                         os_printf("@@@@ dh11Read error!\n");
    33.                 }
    34.         }
    35.     system_os_post(USER_TASK_PRIO_2, SIG_UPGRADE_DATA, 0);
    36. }
    复制代码
       暂时还未找到问题点,本次分享就到这里啦,五月就跟这样拜拜啦,六月即将开始。最后附上SoC方案上功能板的原理图,如有不同见解,欢迎留言回复,谢谢!
    GoKit3(S)-ESP8266转接板原理图.PDF (201.56 KB, 下载次数: 1)
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-23 13:34 , Processed in 0.123292 second(s), 19 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.