找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 30099|回復(fù): 35
打印 上一主題 下一主題
收起左側(cè)

使用ESP8266驅(qū)動(dòng)WS2812B型RGB LED簡(jiǎn)單3步打造智能燈

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
這個(gè)智能燈方案很不錯(cuò),只用了一個(gè)無(wú)線WIFI esp8266芯片,驅(qū)動(dòng)ws2812b型RGB LED,效果很贊,在群里看到的,特分享下,若是侵犯了版權(quán),聯(lián)系我刪除就行了~





1.源碼編譯方式
  1. cd app/
  2. ./gen_misc.sh
  
2.庫(kù)編譯方式
  1. 先用源碼編譯方式,生成libgagent.a 庫(kù)路徑為:"app/gagent/.output/eagle/debug/lib"
  2. cp app/gagent/.output/eagle/debug/lib/libgagent.a ../lib/
  3. mv makefile makefile_src
  4. mv makefile_lib makefile
  5. ./gen_misc.sh
  
3.燒錄固件
  esp_init_data_default.bin          0x3fc000
  blank.bin                          0x3fe000
  boot_v1.6.bin                      0x00000
  user1.4096.new.6.bin               0x01000
  
  選項(xiàng):CrystalFreq=26M  SPI_SPEED=40MHz SPI_MODE=QIO FLASH_SIZE=32Mbit-C1, 其他默認(rèn),串口115200
  進(jìn)入uart燒錄模式后,點(diǎn)擊start下載即可!
  
4.OTA測(cè)試
    OTA固件版本號(hào)位置:gizwits_product.h
        #define SDK_VERSION                             "02"        //OTA固件版本號(hào) 必須為兩位數(shù)
    MAC:
        查看云端產(chǎn)品管理->運(yùn)行狀態(tài)->在線設(shè)備詳情->設(shè)備MAC
    注意:
        1.編譯固件時(shí)的Makefile與燒錄工具的設(shè)置:
            "FLASH SIZE" : 32Mbit-C1
            "SPI MODE" : QIO
        2.推送的“OTA固件版本號(hào)”必須大于正工作的軟件版本。
        3.固件類型:WiFi 推送方式:v4.1
  1. /**
  2. ************************************************************
  3. * @file         user_main.c
  4. * @brief        SOC版 入口文件
  5. * @author       Gizwits
  6. * @date         2016-09-05
  7. * @version      V03010201
  8. * @copyright    Gizwits
  9. *
  10. * @note         機(jī)智云.只為智能硬件而生
  11. *               Gizwits Smart Cloud  for Smart Products
  12. *               鏈接|增值ֵ|開(kāi)放|中立|安全|自有|自由|生態(tài)
  13. *               www.gizwits.com
  14. *
  15. ***********************************************************/
  16. #include "ets_sys.h"
  17. #include "osapi.h"
  18. #include "user_interface.h"
  19. #include "gagent_soc.h"
  20. #include "user_devicefind.h"
  21. #include "user_webserver.h"
  22. #include "gizwits_protocol.h"
  23. #include "driver/hal_key.h"

  24. #include "driver/Adafruit_NeoPixel.h"

  25. #if ESP_PLATFORM
  26. #include "user_esp_platform.h"
  27. #endif

  28. #ifdef SERVER_SSL_ENABLE
  29. #include "ssl/cert.h"
  30. #include "ssl/private_key.h"
  31. #else
  32. #ifdef CLIENT_SSL_ENABLE
  33. unsigned char *default_certificate;
  34. unsigned int default_certificate_len = 0;
  35. unsigned char *default_private_key;
  36. unsigned int default_private_key_len = 0;
  37. #endif
  38. #endif


  39. /**@name Gizwits模塊相關(guān)系統(tǒng)任務(wù)參數(shù)
  40. * @{
  41. */
  42. #define userQueueLen    200                                                 ///< 消息隊(duì)列總長(zhǎng)度
  43. LOCAL os_event_t userTaskQueue[userQueueLen];                               ///< 消息隊(duì)列
  44. /**@} */

  45. /**@name 用戶定時(shí)器相關(guān)參數(shù)
  46. * @{
  47. */
  48. #define USER_TIME_MS 1000                                                    ///< 定時(shí)時(shí)間,單位:毫秒
  49. LOCAL os_timer_t userTimer;                                                 ///< 用戶定時(shí)器結(jié)構(gòu)體
  50. /**@} */

  51. /**@name 按鍵相關(guān)定義
  52. * @{
  53. */
  54. #define GPIO_KEY_NUM                            1                           ///< 定義按鍵成員總數(shù)
  55. #define KEY_1_IO_MUX                            PERIPHS_IO_MUX_MTMS_U       ///< ESP8266 GPIO 功能
  56. #define KEY_1_IO_NUM                            14                          ///< ESP8266 GPIO 編號(hào)
  57. #define KEY_1_IO_FUNC                           FUNC_GPIO14                 ///< ESP8266 GPIO 名稱
  58. LOCAL key_typedef_t * singleKey[GPIO_KEY_NUM];                              ///< 定義單個(gè)按鍵成員數(shù)組指針
  59. LOCAL keys_typedef_t keys;                                                  ///< 定義總的按鍵模塊結(jié)構(gòu)體指針   
  60. /**@} */

  61. /** 用戶區(qū)當(dāng)前設(shè)備狀態(tài)結(jié)構(gòu)體*/
  62. dataPoint_t currentDataPoint;


  63. /**
  64. * key2按鍵短按處理
  65. * @param none
  66. * @return none
  67. */
  68. LOCAL void ICACHE_FLASH_ATTR key2ShortPress(void)
  69. {
  70.     os_printf("#### key2 short press, soft ap mode \n");

  71.     gizwitsSetMode(WIFI_SOFTAP_MODE);
  72. }

  73. /**
  74. * key2按鍵長(zhǎng)按處理
  75. * @param none
  76. * @return none
  77. */
  78. LOCAL void ICACHE_FLASH_ATTR key2LongPress(void)
  79. {
  80.     os_printf("#### key2 long press, airlink mode\n");

  81.     gizwitsSetMode(WIFI_AIRLINK_MODE);
  82. }

  83. /**
  84. * 按鍵初始化
  85. * @param none
  86. * @return none
  87. */
  88. LOCAL void ICACHE_FLASH_ATTR keyInit(void)
  89. {
  90.     singleKey[0] = keyInitOne(KEY_1_IO_NUM, KEY_1_IO_MUX, KEY_1_IO_FUNC,
  91.                                 key2LongPress, key2ShortPress);
  92.     keys.singleKey = singleKey;
  93.     keyParaInit(&keys);
  94. }

  95. /**
  96. * 用戶數(shù)據(jù)獲取

  97. * 此處需要用戶實(shí)現(xiàn)除可寫數(shù)據(jù)點(diǎn)之外所有傳感器數(shù)據(jù)的采集,可自行定義采集頻率和設(shè)計(jì)數(shù)據(jù)過(guò)濾算法
  98. * @param none
  99. * @return none
  100. */
  101. void ICACHE_FLASH_ATTR userTimerFunc(void)
  102. {
  103.         /*

  104.     */  
  105.         //setAllPixelColor(0,50,0);
  106.     system_os_post(USER_TASK_PRIO_0, SIG_UPGRADE_DATA, 0);
  107. }

  108. /**
  109. * @brief 用戶相關(guān)系統(tǒng)事件回調(diào)函數(shù)

  110. * 在該函數(shù)中用戶可添加相應(yīng)事件的處理
  111. * @param none
  112. * @return none
  113. */
  114. void ICACHE_FLASH_ATTR gizwitsUserTask(os_event_t * events)
  115. {
  116.     uint8_t i = 0;
  117.     uint8_t vchar = 0;

  118.     if(NULL == events)
  119.     {
  120.         os_printf("!!! gizwitsUserTask Error \n");
  121.     }

  122.     vchar = (uint8)(events->par);

  123.     switch(events->sig)
  124.     {
  125.     case SIG_UPGRADE_DATA:
  126.         gizwitsHandle((dataPoint_t *)¤tDataPoint);
  127.         break;
  128.     default:
  129.         os_printf("---error sig! ---\n");
  130.         break;
  131.     }
  132. }

  133. /**
  134. * @brief user_rf_cal_sector_set

  135. * 用flash中的636扇區(qū)(2544k~2548k)存儲(chǔ)RF_CAL參數(shù)
  136. * @param none
  137. * @return none
  138. */
  139. uint32 user_rf_cal_sector_set()
  140. {
  141.     return 636;
  142. }

  143. /**
  144. * @brief 程序入口函數(shù)

  145. * 在該函數(shù)中完成用戶相關(guān)的初始化
  146. * @param none
  147. * @return none

  148. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼


全部資料下載:
SoC_ESP8266_WS2812B_SmartLEDs.zip (8.96 MB, 下載次數(shù): 406)
使用ESP8266驅(qū)動(dòng)WS2812B型RGB LED簡(jiǎn)單3步打造智能燈.pdf (1.2 MB, 下載次數(shù): 348)


評(píng)分

參與人數(shù) 3黑幣 +110 收起 理由
leewj129 + 5 贊一個(gè)!
qjzyx + 5 贊一個(gè)!
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏25 分享淘帖 頂3 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:204627 發(fā)表于 2017-5-25 10:52 | 只看該作者
不錯(cuò)!。!
回復(fù)

使用道具 舉報(bào)

板凳
ID:68875 發(fā)表于 2017-9-29 21:40 | 只看該作者
good job
回復(fù)

使用道具 舉報(bào)

地板
ID:198608 發(fā)表于 2017-10-6 00:04 來(lái)自手機(jī) | 只看該作者
樓主給個(gè)聯(lián)系方式,學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

5#
ID:249545 發(fā)表于 2017-11-26 15:31 | 只看該作者
樓主不辭勞苦貼出ESP8266的控制原理和源代碼,這才是51HEI的真正好老師!
回復(fù)

使用道具 舉報(bào)

6#
ID:280635 發(fā)表于 2018-1-29 13:52 | 只看該作者
可以可以,下載下來(lái)學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

7#
ID:223291 發(fā)表于 2018-2-13 16:48 | 只看該作者
謝謝大佬分享
回復(fù)

使用道具 舉報(bào)

8#
ID:266116 發(fā)表于 2018-2-13 20:42 | 只看該作者
謝謝分享!
回復(fù)

使用道具 舉報(bào)

9#
ID:231727 發(fā)表于 2018-2-24 23:06 | 只看該作者
不錯(cuò),正好手頭上有幾片8266
回復(fù)

使用道具 舉報(bào)

10#
ID:294842 發(fā)表于 2018-3-21 09:17 | 只看該作者
謝謝分享!
回復(fù)

使用道具 舉報(bào)

11#
ID:263813 發(fā)表于 2018-4-23 14:22 | 只看該作者
不錯(cuò),可以做個(gè)WiFIPOV
回復(fù)

使用道具 舉報(bào)

12#
ID:322161 發(fā)表于 2018-5-4 16:01 | 只看該作者
感謝,正在學(xué)全彩燈
回復(fù)

使用道具 舉報(bào)

13#
ID:310103 發(fā)表于 2018-5-30 14:46 | 只看該作者
已下載幣就不足了。
回復(fù)

使用道具 舉報(bào)

14#
ID:293861 發(fā)表于 2018-6-5 14:47 | 只看該作者
支持樓主,我想下載
回復(fù)

使用道具 舉報(bào)

15#
ID:65882 發(fā)表于 2018-6-21 13:39 | 只看該作者
看看這個(gè)原理圖, 學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

16#
ID:381713 發(fā)表于 2018-8-1 15:10 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

17#
ID:275125 發(fā)表于 2018-9-11 14:03 | 只看該作者
贊一個(gè)
回復(fù)

使用道具 舉報(bào)

18#
ID:348669 發(fā)表于 2018-10-17 23:12 | 只看該作者
膜拜大佬
回復(fù)

使用道具 舉報(bào)

19#
ID:373838 發(fā)表于 2018-10-25 08:05 | 只看該作者
1. cd app/
  2. ./gen_misc.sh
  
2.庫(kù)編譯方式
  1. 先用源碼編譯方式,生成libgagent.a 庫(kù)路徑為:"app/gagent/.output/eagle/debug/lib"
  2. cp app/gagent/.output/eagle/debug/lib/libgagent.a ../lib/
  3. mv makefile makefile_src
  4. mv makefile_lib makefile
  5. ./gen_misc.sh

這個(gè)命令在哪里輸入啊,自帶的tools 有個(gè)exe文件是干嘛的,打開(kāi)后會(huì)有個(gè)命令窗口
回復(fù)

使用道具 舉報(bào)

20#
ID:406155 發(fā)表于 2018-12-7 14:13 | 只看該作者
支持樓主,感謝!
回復(fù)

使用道具 舉報(bào)

21#
ID:458443 發(fā)表于 2018-12-30 10:36 | 只看該作者
不錯(cuò),試試
回復(fù)

使用道具 舉報(bào)

22#
ID:60656 發(fā)表于 2019-1-6 22:50 | 只看該作者

支持樓主,感謝!
回復(fù)

使用道具 舉報(bào)

23#
ID:473395 發(fā)表于 2019-1-27 17:09 | 只看該作者
很不不粗啊,下載
回復(fù)

使用道具 舉報(bào)

24#
ID:353239 發(fā)表于 2019-2-25 10:15 | 只看該作者
樓主 你好 你這個(gè)源碼包里面 沒(méi)有g(shù)agent得源碼呀,你這么有這個(gè)源碼嗎?
回復(fù)

使用道具 舉報(bào)

25#
ID:71182 發(fā)表于 2019-3-28 23:12 | 只看該作者
正好需要,謝謝分享
回復(fù)

使用道具 舉報(bào)

26#
ID:637790 發(fā)表于 2019-11-7 22:13 | 只看該作者
感謝分享  正在學(xué)習(xí)中
回復(fù)

使用道具 舉報(bào)

27#
ID:650412 發(fā)表于 2020-2-26 21:01 | 只看該作者
能讓燈亮了
回復(fù)

使用道具 舉報(bào)

28#
ID:97300 發(fā)表于 2020-3-7 16:31 | 只看該作者
謝謝,學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

29#
ID:713171 發(fā)表于 2020-3-21 23:42 | 只看該作者
感謝分享,太棒了
回復(fù)

使用道具 舉報(bào)

30#
ID:637646 發(fā)表于 2020-4-23 18:50 | 只看該作者
樓主辛苦了,好資料
回復(fù)

使用道具 舉報(bào)

31#
ID:97300 發(fā)表于 2020-4-24 21:19 | 只看該作者
先學(xué)習(xí)一下!謝謝
回復(fù)

使用道具 舉報(bào)

32#
ID:618406 發(fā)表于 2020-4-27 15:21 | 只看該作者
正學(xué)習(xí)呢,下載
回復(fù)

使用道具 舉報(bào)

33#
ID:618406 發(fā)表于 2020-4-27 15:21 | 只看該作者

感謝分享  正在學(xué)習(xí)中
回復(fù)

使用道具 舉報(bào)

34#
ID:724172 發(fā)表于 2020-9-3 15:21 | 只看該作者
感謝 了。找這都找太久了,差點(diǎn)就忘記了
回復(fù)

使用道具 舉報(bào)

35#
ID:671721 發(fā)表于 2020-11-1 14:55 | 只看該作者
使用ESP8266驅(qū)動(dòng)WS2812B型RGB LED簡(jiǎn)單3步打造智能燈
http://www.torrancerestoration.com/bbs/dpj-83580-1.html
(出處: http://www.torrancerestoration.com/bbs/)
回復(fù)

使用道具 舉報(bào)

36#
ID:671956 發(fā)表于 2022-1-17 09:07 | 只看該作者
謝謝使用ESP8266驅(qū)動(dòng)WS2812B型RGB LED簡(jiǎn)單3步打造智能燈
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表