never 发表于 2016-12-26 18:27:25

Gokit2及Gokit3(STM32版)测试资料整理

本帖最后由 never 于 2016-12-30 13:35 编辑

本次是将Gokit2及Gokit3(STM32版)测试所需资料整理到一起,并对硬件开发做一个简单的介绍。希望能给大家对机智云的这两款硬件开发套件做一个全面的认识,希望可以帮到大家,和大家共同进步,教程中有错误的地方希望指正出来大家共同进步。好了先上图:

首先是Gokit2的:
Gokit2底板原理图:attach://8363.pdf
Gokit2功能版原理图:attach://8364.pdf
这里需要对Gotkit2做一个说明,Gokit2采用的wifi+MCU的方式wifi只做数据通信左右,因此没有必要关心wifi内的代码。若是需要采用Soc方案请使用Gokit3。
好了有了这两个文档就可以对gokit的硬件资源有有一个整体的认识,如果对stm32熟悉的话便可从官网下载中心找到底板源码,这里我将最近的代码整理到本贴中方便大家使用。attach://8366.zip
这里需要注意的是如果需要测试宠物屋代码的需要添加宠物屋的密钥:6f3074fe43894547a4f1314bd7e3ae0b


Gokit3语音版:Gokit3底板原理图与Gokit2的底板是一样的这里就不添加了
Gokit3的功能板是Gokit3硬件更新的一大亮点:attach://8367.pdf
Gokit3语音管理软件:attach://8368.rar
开发文档:Gokit3开发文档
Gokit3Soc版:
开发Gokit3Soc版的时候就不需要Gokit3底板了。
这里将开发资料整理到此:attach://8369.zip

这里我说下我的个人感受Gokit Soc板是目前最完美的,或许大家对ESP8266不是很熟悉,但是我们可以看下demo的入口函数:
/**
* @brief 程序入口函数

* 在该函数中完成用户相关的初始化
* @param none
* @return none
*/
void ICACHE_FLASH_ATTR user_init(void)
{
    uint32 system_free_size = 0;
      struct devAttrs attrs;

    wifi_station_set_auto_connect(1);
    wifi_set_sleep_type(NONE_SLEEP_T);//set none sleep mode
    espconn_tcp_set_max_con(10);
    uart_init_3(9600,115200);
    UART_SetPrintPort(1);
    os_printf( "---------------SDK version:%s--------------\n", system_get_sdk_version());
    os_printf( "system_get_free_heap_size=%d\n",system_get_free_heap_size());

    struct rst_info *rtc_info = system_get_rst_info();
    os_printf( "reset reason: %x\n", rtc_info->reason);
    if (rtc_info->reason == REASON_WDT_RST ||
      rtc_info->reason == REASON_EXCEPTION_RST ||
      rtc_info->reason == REASON_SOFT_WDT_RST)
    {
      if (rtc_info->reason == REASON_EXCEPTION_RST)
      {
            os_printf("Fatal exception (%d):\n", rtc_info->exccause);
      }
      os_printf( "epc1=0x%08x, epc2=0x%08x, epc3=0x%08x, excvaddr=0x%08x, depc=0x%08x\n",
                rtc_info->epc1, rtc_info->epc2, rtc_info->epc3, rtc_info->excvaddr, rtc_info->depc);
    }

    if (system_upgrade_userbin_check() == UPGRADE_FW_BIN1)
    {
      os_printf( "---UPGRADE_FW_BIN1---\n");
    }
    else if (system_upgrade_userbin_check() == UPGRADE_FW_BIN2)
    {
      os_printf( "---UPGRADE_FW_BIN2---\n");
    }

    //user init
    //rgb led init
    rgbGpioInit();
    rgbLedInit();

      //key init
    keyInit();
   
      //motor init
    motorInit();
    motorControl(MOTOR_SPEED_DEFAULT);
   
    //temperature and humidity init
    dh11Init();

    //Infrared init
    irInit();
   
    //gizwits InitSIG_UPGRADE_DATA
    gizwitsInit();

    system_os_task(gizwitsUserTask, USER_TASK_PRIO_0, userTaskQueue, userQueueLen);

    //user timer
    os_timer_disarm(&userTimer);
    os_timer_setfn(&userTimer, (os_timer_func_t *)userTimerFunc, NULL);
    os_timer_arm(&userTimer, USER_TIME_MS, 1);

    os_printf("--- system_free_size = %d ---\n", system_get_free_heap_size());
}可以看到代码并不是很难,后续会更新关于Gokit Soc开发教程




NSnewyear 发表于 2016-12-26 21:10:23

不错不错,想找Gokit2底板的原理图,在这里找到了。

Gemini 发表于 2016-12-27 10:09:54

:lol赞一个

never 发表于 2016-12-27 10:43:00

NSnewyear 发表于 2016-12-26 21:10
不错不错,想找Gokit2底板的原理图,在这里找到了。

开发过程中有问题可以发帖:lol

捡垃圾的 发表于 2016-12-28 22:03:14

留个足迹:lol

Lin 发表于 2016-12-29 09:56:34

不错不错,赞赞赞:lol

地方 发表于 2016-12-30 19:28:18

先收藏,有时间研究下:lol
页: [1]
查看完整版本: Gokit2及Gokit3(STM32版)测试资料整理