找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3805|回复: 0
收起左侧

esp8266成功接入机智云平台 控制led 附源程序

[复制链接]
ID:435101 发表于 2019-8-3 13:22 | 显示全部楼层 |阅读模式
https://v.youku.com/v_show/id_XN ... .listitem_page1.5~A 20181009205144259.png 360截图20190803115802983.jpg 360截图20190803115904614.jpg
360截图20190803115948285.jpg 360截图20190803090239688.jpg

1.源码编译方式
  1. cd app/
  2. ./gen_misc.sh
  
2.Gagent库版本
  04020024
  
3.烧录固件
  esp_init_data_default.bin          0x3fc000
  blank.bin                          0x3fe000
  boot_v1.6.bin                      0x00000
  user1.4096.new.6.bin               0x01000
  
  选项:CrystalFreq=26M  SPI_SPEED=40MHz SPI_MODE=QIO FLASH_SIZE=32Mbit-C1, 其他默认,串口115200
  进入uart烧录模式后,点击start下载即可!
  
4.OTA测试
    OTA固件版本号位置:gizwits_product.h
        #define SDK_VERSION                             "25"    //OTA固件版本号,必须为两位数, 默认为当前Gagent库版本号
    MAC:
        查看云端产品管理->运行状态->在线设备详情->设备MAC
    注意:
        1.编译固件时的Makefile与烧录工具的设置:
            "FLASH SIZE" : 32Mbit-C1
            "SPI MODE" : QIO
        2.推送的“OTA固件版本号”必须大于正工作的软件版本。
        3.固件类型:WiFi 推送方式:v4.1

单片机源程序如下:

  1. #include "ets_sys.h"
  2. #include "osapi.h"
  3. #include "user_interface.h"
  4. #include "gagent_soc.h"
  5. #include "user_devicefind.h"
  6. #include "user_webserver.h"
  7. #include "gizwits_product.h"
  8. #include "driver/hal_key.h"
  9. #if ESP_PLATFORM
  10. #include "user_esp_platform.h"
  11. #endif

  12. #include "driver/hal_temp_hum.h"


  13. #ifdef SERVER_SSL_ENABLE
  14. #include "ssl/cert.h"
  15. #include "ssl/private_key.h"
  16. #else
  17. #ifdef CLIENT_SSL_ENABLE
  18. unsigned char *default_certificate;
  19. unsigned int default_certificate_len = 0;
  20. unsigned char *default_private_key;
  21. unsigned int default_private_key_len = 0;
  22. #endif
  23. #endif

  24. /**@} */

  25. /**@name Key related definitions
  26. * @{
  27. */
  28. #define GPIO_KEY_NUM                            4                           ///< Defines the total number of key members

  29. #define KEY_0_IO_MUX                            PERIPHS_IO_MUX_GPIO0_U      ///< ESP8266 GPIO function
  30. #define KEY_0_IO_NUM                            0                           ///< ESP8266 GPIO number
  31. #define KEY_0_IO_FUNC                           FUNC_GPIO0                  ///< ESP8266 GPIO name

  32. #define KEY_1_IO_MUX                            PERIPHS_IO_MUX_GPIO2_U       ///< ESP8266 GPIO function
  33. #define KEY_1_IO_NUM                            2                          ///< ESP8266 GPIO number
  34. #define KEY_1_IO_FUNC                           FUNC_GPIO2                 ///< ESP8266 GPIO name

  35. #define KEY_2_IO_MUX                            PERIPHS_IO_MUX_U0RXD_U       ///< ESP8266 GPIO function
  36. #define KEY_2_IO_NUM                            3                           ///< ESP8266 GPIO number
  37. #define KEY_2_IO_FUNC                           FUNC_GPIO3                  ///< ESP8266 GPIO name

  38. #define KEY_3_IO_MUX                            PERIPHS_IO_MUX_U0TXD_U       ///< ESP8266 GPIO function
  39. #define KEY_3_IO_NUM                            1                          ///< ESP8266 GPIO number
  40. #define KEY_3_IO_FUNC                           FUNC_GPIO1                 ///< ESP8266 GPIO name



  41. LOCAL key_typedef_t * singleKey[GPIO_KEY_NUM];                              ///< Defines a single key member array pointer
  42. LOCAL keys_typedef_t keys;                                                  ///< Defines the overall key module structure pointer   
  43. /**@} */

  44. /**
  45. * Key1 key short press processing
  46. * @param none
  47. * @return none
  48. */


  49. LOCAL void ICACHE_FLASH_ATTR key1ShortPress(void)
  50. {
  51.         if(statu[0]=!statu[0])
  52.     GIZWITS_LOG("#### KEY1 short press ,LED_1 ON/OFF \n");
  53.    
  54. }

  55. /**
  56. * Key1 key presses a long press
  57. * @param none
  58. * @return none
  59. */
  60. LOCAL void ICACHE_FLASH_ATTR key1LongPress(void)
  61. {

  62.     GIZWITS_LOG("#### key1 long press, SOFTAP MODE\n");
  63.    
  64.     gizwitsSetMode(WIFI_SOFTAP_MODE);
  65. }

  66. /**
  67. * Key2 key to short press processing
  68. * @param none
  69. * @return none
  70. */
  71. LOCAL void ICACHE_FLASH_ATTR key2ShortPress(void)
  72. {
  73.         if(statu[1]=!statu[1])
  74.     GIZWITS_LOG("#### key2 short press, LED_2 ON/OFF \n");

  75. }

  76. /**
  77. * Key2 button long press
  78. * @param none
  79. * @return none
  80. */
  81. LOCAL void ICACHE_FLASH_ATTR key2LongPress(void)
  82. {
  83.     GIZWITS_LOG("#### key2 long press,  AIRLINK MODE\n");
  84.    
  85.     gizwitsSetMode(WIFI_AIRLINK_MODE);
  86. }

  87. /**
  88. * Key3 key to short press processing
  89. * @param none
  90. * @return none
  91. */

  92. LOCAL void ICACHE_FLASH_ATTR key3ShortPress(void)
  93. {
  94.         if(statu[2]=!statu[2])
  95.     GIZWITS_LOG("#### key3 short press, LED_3 ON/OFF \n");

  96. }

  97. /**
  98. * Key3 button long press
  99. * @param none
  100. * @return none
  101. */
  102. LOCAL void ICACHE_FLASH_ATTR key3LongPress(void)
  103. {
  104.     GIZWITS_LOG("#### key3 long press, ALL_LED ON \n");

  105. }


  106. /**
  107. * Key4 key to short press processing
  108. * @param none
  109. * @return none
  110. */

  111. LOCAL void ICACHE_FLASH_ATTR key4ShortPress(void)
  112. {
  113.         if(statu[3]=!statu[3])
  114.     GIZWITS_LOG("#### key4 short press, LED_4 ON/OFF \n");

  115. }

  116. /**
  117. * Key4 button long press
  118. * @param none
  119. * @return none
  120. */
  121. LOCAL void ICACHE_FLASH_ATTR key4LongPress(void)
  122. {
  123.     GIZWITS_LOG("#### key4 long press, ALL_LED OFF \n");


  124. }

  125. /**
  126. * Key to initialize
  127. * @param none
  128. * @return none
  129. */
  130. LOCAL void ICACHE_FLASH_ATTR keyInit(void)
  131. {
  132.     singleKey[0] = keyInitOne(KEY_0_IO_NUM, KEY_0_IO_MUX, KEY_0_IO_FUNC,
  133.                                 key1LongPress, key1ShortPress);

  134.     singleKey[1] = keyInitOne(KEY_1_IO_NUM, KEY_1_IO_MUX, KEY_1_IO_FUNC,
  135.                                 key2LongPress, key2ShortPress);

  136.     singleKey[2] = keyInitOne(KEY_2_IO_NUM, KEY_2_IO_MUX, KEY_2_IO_FUNC,
  137.                                     key3LongPress, key3ShortPress);

  138.     singleKey[3] = keyInitOne(KEY_3_IO_NUM, KEY_3_IO_MUX, KEY_3_IO_FUNC,
  139.                                     key4LongPress, key4ShortPress);

  140.     keys.singleKey = singleKey;

  141.     keyParaInit(&keys);
  142.     PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U,FUNC_GPIO14);//  配置lED_1引脚输出
  143.             GPIO_DIS_OUTPUT(GPIO_ID_PIN(14));

  144.     PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);//  配置LED_2引脚输出
  145.             GPIO_DIS_OUTPUT(GPIO_ID_PIN(12));

  146.     PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U,FUNC_GPIO13);//  配置lED_1引脚输出
  147.             GPIO_DIS_OUTPUT(GPIO_ID_PIN(13));

  148.     PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15);//  配置lED_1引脚输出
  149.             GPIO_DIS_OUTPUT(GPIO_ID_PIN(15));

  150.         GPIO_OUTPUT_SET(GPIO_ID_PIN(14), 0);//输出高电平        LED_1        OFF
  151.         GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 0);//输出高电平        LED_2        OFF
  152.         GPIO_OUTPUT_SET(GPIO_ID_PIN(13), 0);//输出高电平        LED_3        OFF
  153.         GPIO_OUTPUT_SET(GPIO_ID_PIN(15), 0);//输出高电平        LED_4        OFF
  154. }

  155. /**
  156. * @brief user_rf_cal_sector_set

  157. * Use the 636 sector (2544k ~ 2548k) in flash to store the RF_CAL parameter
  158. * @param none
  159. * @return none
  160. */
  161. uint32_t ICACHE_FLASH_ATTR user_rf_cal_sector_set()
  162. {
  163.     return 636;
  164. }

  165. /**
  166. * @brief program entry function

  167. * In the function to complete the user-related initialization
  168. * @param none
  169. * @return none
  170. */
  171. void ICACHE_FLASH_ATTR user_init(void)
  172. {
  173.     uint32_t system_free_size = 0;

  174.     wifi_station_set_auto_connect(1);
  175.     wifi_set_sleep_type(NONE_SLEEP_T);//set none sleep mode
  176.     espconn_tcp_set_max_con(10);
  177.     uart_init_3(9600,115200);
  178.     UART_SetPrintPort(1);
  179.     GIZWITS_LOG( "---------------SDK version:%s--------------\n", system_get_sdk_version());
  180.     GIZWITS_LOG( "system_get_free_heap_size=%d\n",system_get_free_heap_size());

  181.     struct rst_info *rtc_info = system_get_rst_info();
  182.     GIZWITS_LOG( "reset reason: %x\n", rtc_info->reason);
  183.     if (rtc_info->reason == REASON_WDT_RST ||
  184.         rtc_info->reason == REASON_EXCEPTION_RST ||
  185.         rtc_info->reason == REASON_SOFT_WDT_RST)
  186.     {
  187.         if (rtc_info->reason == REASON_EXCEPTION_RST)
  188.         {
  189.             GIZWITS_LOG("Fatal exception (%d):\n", rtc_info->exccause);
  190.         }
  191.         GIZWITS_LOG( "epc1=0x%08x, epc2=0x%08x, epc3=0x%08x, excvaddr=0x%08x, depc=0x%08x\n",
  192.                 rtc_info->epc1, rtc_info->epc2, rtc_info->epc3, rtc_info->excvaddr, rtc_info->depc);
  193.     }

  194.     if (system_upgrade_userbin_check() == UPGRADE_FW_BIN1)
  195.     {
  196.         GIZWITS_LOG( "---UPGRADE_FW_BIN1---\n");
  197.     }
  198.     else if (system_upgrade_userbin_check() == UPGRADE_FW_BIN2)
  199.     {
  200.         GIZWITS_LOG( "---UPGRADE_FW_BIN2---\n");
  201.     }

  202.     keyInit();

  203.     gizwitsInit();

  204.     dh11Init();

  205.     GIZWITS_LOG("--- system_free_size = %d ---\n", system_get_free_heap_size());
  206. }

复制代码

所有资料51hei提供下载:
ESP8266 NodeMcu机智云SOC方案控制4路继电器.7z (2.54 MB, 下载次数: 66)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表