|
這個(gè)智能燈方案很不錯(cuò),只用了一個(gè)無(wú)線WIFI esp8266芯片,驅(qū)動(dòng)ws2812b型RGB LED,效果很贊,在群里看到的,特分享下,若是侵犯了版權(quán),聯(lián)系我刪除就行了~
實(shí)物圖.png (854.94 KB, 下載次數(shù): 206)
下載附件
2017-5-4 18:31 上傳
0.png (48.43 KB, 下載次數(shù): 196)
下載附件
2017-5-4 18:53 上傳
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
- /**
- ************************************************************
- * @file user_main.c
- * @brief SOC版 入口文件
- * @author Gizwits
- * @date 2016-09-05
- * @version V03010201
- * @copyright Gizwits
- *
- * @note 機(jī)智云.只為智能硬件而生
- * Gizwits Smart Cloud for Smart Products
- * 鏈接|增值ֵ|開(kāi)放|中立|安全|自有|自由|生態(tài)
- * www.gizwits.com
- *
- ***********************************************************/
- #include "ets_sys.h"
- #include "osapi.h"
- #include "user_interface.h"
- #include "gagent_soc.h"
- #include "user_devicefind.h"
- #include "user_webserver.h"
- #include "gizwits_protocol.h"
- #include "driver/hal_key.h"
- #include "driver/Adafruit_NeoPixel.h"
- #if ESP_PLATFORM
- #include "user_esp_platform.h"
- #endif
- #ifdef SERVER_SSL_ENABLE
- #include "ssl/cert.h"
- #include "ssl/private_key.h"
- #else
- #ifdef CLIENT_SSL_ENABLE
- unsigned char *default_certificate;
- unsigned int default_certificate_len = 0;
- unsigned char *default_private_key;
- unsigned int default_private_key_len = 0;
- #endif
- #endif
- /**@name Gizwits模塊相關(guān)系統(tǒng)任務(wù)參數(shù)
- * @{
- */
- #define userQueueLen 200 ///< 消息隊(duì)列總長(zhǎng)度
- LOCAL os_event_t userTaskQueue[userQueueLen]; ///< 消息隊(duì)列
- /**@} */
- /**@name 用戶定時(shí)器相關(guān)參數(shù)
- * @{
- */
- #define USER_TIME_MS 1000 ///< 定時(shí)時(shí)間,單位:毫秒
- LOCAL os_timer_t userTimer; ///< 用戶定時(shí)器結(jié)構(gòu)體
- /**@} */
- /**@name 按鍵相關(guān)定義
- * @{
- */
- #define GPIO_KEY_NUM 1 ///< 定義按鍵成員總數(shù)
- #define KEY_1_IO_MUX PERIPHS_IO_MUX_MTMS_U ///< ESP8266 GPIO 功能
- #define KEY_1_IO_NUM 14 ///< ESP8266 GPIO 編號(hào)
- #define KEY_1_IO_FUNC FUNC_GPIO14 ///< ESP8266 GPIO 名稱
- LOCAL key_typedef_t * singleKey[GPIO_KEY_NUM]; ///< 定義單個(gè)按鍵成員數(shù)組指針
- LOCAL keys_typedef_t keys; ///< 定義總的按鍵模塊結(jié)構(gòu)體指針
- /**@} */
- /** 用戶區(qū)當(dāng)前設(shè)備狀態(tài)結(jié)構(gòu)體*/
- dataPoint_t currentDataPoint;
- /**
- * key2按鍵短按處理
- * @param none
- * @return none
- */
- LOCAL void ICACHE_FLASH_ATTR key2ShortPress(void)
- {
- os_printf("#### key2 short press, soft ap mode \n");
- gizwitsSetMode(WIFI_SOFTAP_MODE);
- }
- /**
- * key2按鍵長(zhǎng)按處理
- * @param none
- * @return none
- */
- LOCAL void ICACHE_FLASH_ATTR key2LongPress(void)
- {
- os_printf("#### key2 long press, airlink mode\n");
- gizwitsSetMode(WIFI_AIRLINK_MODE);
- }
- /**
- * 按鍵初始化
- * @param none
- * @return none
- */
- LOCAL void ICACHE_FLASH_ATTR keyInit(void)
- {
- singleKey[0] = keyInitOne(KEY_1_IO_NUM, KEY_1_IO_MUX, KEY_1_IO_FUNC,
- key2LongPress, key2ShortPress);
- keys.singleKey = singleKey;
- keyParaInit(&keys);
- }
- /**
- * 用戶數(shù)據(jù)獲取
- * 此處需要用戶實(shí)現(xiàn)除可寫數(shù)據(jù)點(diǎn)之外所有傳感器數(shù)據(jù)的采集,可自行定義采集頻率和設(shè)計(jì)數(shù)據(jù)過(guò)濾算法
- * @param none
- * @return none
- */
- void ICACHE_FLASH_ATTR userTimerFunc(void)
- {
- /*
- */
- //setAllPixelColor(0,50,0);
- system_os_post(USER_TASK_PRIO_0, SIG_UPGRADE_DATA, 0);
- }
- /**
- * @brief 用戶相關(guān)系統(tǒng)事件回調(diào)函數(shù)
- * 在該函數(shù)中用戶可添加相應(yīng)事件的處理
- * @param none
- * @return none
- */
- void ICACHE_FLASH_ATTR gizwitsUserTask(os_event_t * events)
- {
- uint8_t i = 0;
- uint8_t vchar = 0;
- if(NULL == events)
- {
- os_printf("!!! gizwitsUserTask Error \n");
- }
- vchar = (uint8)(events->par);
- switch(events->sig)
- {
- case SIG_UPGRADE_DATA:
- gizwitsHandle((dataPoint_t *)¤tDataPoint);
- break;
- default:
- os_printf("---error sig! ---\n");
- break;
- }
- }
- /**
- * @brief user_rf_cal_sector_set
- * 用flash中的636扇區(qū)(2544k~2548k)存儲(chǔ)RF_CAL參數(shù)
- * @param none
- * @return none
- */
- uint32 user_rf_cal_sector_set()
- {
- return 636;
- }
- /**
- * @brief 程序入口函數(shù)
- * 在該函數(shù)中完成用戶相關(guān)的初始化
- * @param none
- * @return none
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
全部資料下載:
SoC_ESP8266_WS2812B_SmartLEDs.zip
(8.96 MB, 下載次數(shù): 406)
2017-5-4 18:31 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
使用ESP8266驅(qū)動(dòng)WS2812B型RGB LED簡(jiǎn)單3步打造智能燈.pdf
(1.2 MB, 下載次數(shù): 348)
2017-5-4 18:31 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|