欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12208|回復: 5
收起左側

基于物聯網的ESP8266連接機智云教程

  [復制鏈接]
ID:210817 發表于 2018-3-16 11:13 | 顯示全部樓層 |閱讀模式
前言:本文詳細介紹了小黑板接入機智云教程,通過一個手機APP遠程控制LED亮滅的應用,完整的體驗了機智云提供的一些列簡單方便的開發工具,尤其是代碼自動生成工具,懶人福音。
一、 esp8266簡介
ESP8266 是上海樂鑫研發的高性能無線 SOC,旨在以最低成本提供最大實用性,為 WiFi 功能嵌入其他系統提供無限可能,被稱為業界里程碑。通俗的講就是高性能單片機+無線WiFi外設,特性如下:
ESP8266
低功耗、高集成度的 Wi-Fi 芯片
僅需 7 個**元器件
超寬工作溫度范圍:-40°C +125°C
ESP8285 ESP8266 內封 8 Mbit Flash
高度集成
ESP8266EX 是業內集成度最高的 Wi-Fi 芯片,最小封裝尺寸僅為 5mm x 5mmESP8266EX 高度集成了天線開關、射頻 balun、功率放大器、低噪放大器、過濾器和電源管理模塊,僅需很少的**電路,可將所占 PCB 空間降到最低。
32 Tensilica MCU
ESP8266EX 內置 Tensilica L10632 位微型控制器 (MCU),具有超低功耗和 16 RSIC,時鐘速度最高可達 160 MHz。支持實時操作系統 (RTOS),目前 Wi-Fi 協議棧只用了 20% MIPS,其他均可用于用戶編程和開發。
低功耗
ESP8266EX 專為移動設備、可穿戴電子產品和物聯網應用而設計,通過多項專有技術實現了最低功耗。ESP8266EX 有三種運行模式:激活模式、睡眠模式和深度睡眠模式,能夠延長電池壽命。
性能穩定
ESP8266EX 集成了更多的元器件,性能穩定,易于制造,工作溫度范圍達到 -40°C +125°C
二、小黑板簡介
小黑板是安信可基于ESP8266研發的開發板,板載1顆三色RGBLED,光敏電阻,3.3V LDO電源模塊,以及1個輕觸按鍵,可在官網查看原理圖,原理圖如下:
各個引腳的功能如下:
一、 開發步驟
首先明確下目的:通過手機APP控制RGB LED的亮滅。進一步分析,除了LED的驅動,我們還需要輔助,就是如何配置輸入路由器的SSID和密碼問題,利用板載的一顆輕觸開關進行觸發和機智云手機APP可輕而易舉的實現smartconfig
利用機智云平臺只需2步,1是底層LED驅動代碼編寫,2是利用代碼自動生成工具生成工程框架,然后填充用戶指令,比如開關燈。
準備工作:
第一步:了解機智云平臺架構(可略過),戳我
第二步:了解機智云Soc方案(可略過),戳我
1.      首先在開發者中心創建產品:
2.      建立數據點(詳解數據點):

數據點即設備產品的功能的抽象,用于描述產品功能及其參數。創建數據點后,設備與云端通訊的數據格式即可確定,設備、機智云可以相互識別設備與機智云互聯互通的數據。
例如開關紅燈的數據點:
2.1 顯示名稱:自定義功能點名稱。
2.2 標識名:用于應用層傳輸,客戶端或業務云開發時需要使用。命名規則遵循標準的開發語言變量名命名規范,支持英文字母、數字和下劃線,以英文字母開頭。
2.3 讀寫類型:
① 只讀:表示該數據點非控制,數據只支持從設備上報。
② 可寫:表示該數據點可控制。設備端可上報該數據點數據;云端/客戶端可對該數據點數據做出下發控制。
③ 報警:表示該數據點非控制,數據只支持從設備上報,數據類型需為布爾值。
④ 故障:表示該數據點非控制,數據只支持從設備上報,數據類型需為布爾值。云端會對設備上報的該數據點做統計,可在“運行狀態”查看。
2.4 數據類型:

① 布爾值:表示兩個狀態:0,或1。如開關狀態等,建議使用布爾數據類型。例如gokit開發板的寵物屋開啟/關閉紅色燈該數據點。
② 枚舉類型:可定義一個有限的取值集合。當定義的某個功能(元器件)有固定的若干個值。例如GoKit開發板的寵物屋設定LED組合顏色該數據點的枚舉定義值:自定義,黃色,紫色,粉色
③ 數值:填寫數值范圍,數值可為負數/小數,機智云自動將數值轉換為正數。例如GoKit開發板的寵物屋設定電機轉速該數據點:電機有正反轉、調速功能,數據點值可定義為:-55
④ 擴展:填寫數據長度,數據內容由用戶自定義。對于上述功能點無法滿足的復雜功能可采用。機智云不建議使用此類型數據,設備上報該數據點的數據,機智云無法識別。
1.5  備注:選填,用一段文本描述當前數據點的功能及定義方法,對字符格式不做限制。只用于提高數據點的易讀性,如果需要團隊協作開發,建議規范填寫。

3.      選擇SOC方案以生成工程:
然后點擊生成按鈕即可生成完畢;

點擊下載即可,下載后把它改名為MiniE_Test,因為那個名字實在是太長了。在開發向導里,有很多十分實用的工具和教程。
4. 至此云端工作完畢,開始MCU端編程,下載生成的工程,目錄如下:
詳情如下:
生成的這個工程和官方的微信寵物屋源碼框架是相似的,源碼邏輯詳解點我
下面編寫RGB LED驅動頭文件,命名為hal_led.h,并把它放到\MiniE_Test\app\include\driver目錄:
接下來編寫對應的C文件,命名為hal_led.c,并把它放到\MiniE_Test\app\driver目錄:
關于GPIO功能的定義在這個文件:
接下來修改按鍵,這個按鍵的作用是觸發小E進入聯網模式,配合手機APP獲取路由器的SSID和密碼。由于生成的工程包含的按鍵驅動是以機智云官方Gokit3 SOC版為模板的,我們小E的按鍵連接的管腳和Gokit是不一樣的,因此需要修改。
\MiniE_Test\app\user里的user_main.c文件,包含了整個框架和按鍵定義,直接在這里修改即可:
如上對比圖,去掉一個按鍵,并修改IO編號,然后修改按鍵的初始化和回調函數:
至此按鍵修改完畢。接下來在\MiniE_Test\app\user 里的user_main.c文件,即“主函數”里調用RGB LED初始化以完成外設初始化:
首先包含RGB LED驅動路徑:
然后在void ICACHE_FLASH_ATTR user_init(void)函數調用RGB LED初始化:
User_main.c中還有一個userTimerFun定時回調函數,這里可依據數據點添加信息,例如本例增加了RGB LED故障上報,當然填充值為0,因為實際并沒有去檢測的LED的好壞,另外的2個參數是用于光照檢測的,本期沒有添加板載光明敏電阻的驅動,這里直接給了一個固定值,下期將給出相關教程。

最后一步是在\MiniE_Test\app\Gizwits里的gizwits_product.c文件中添加業務邏輯,本例就是MCU收到手機APP的對應指令后執行開或關燈動作。首先是包含驅動頭文件:
然后找到如下函數:int8_t ICACHE_FLASH_ATTRgizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len),在里面如下位置添加對應代碼:
至此代碼編輯全部完成,后顧一下,是不是只是簡單的編寫了底層驅動和填充了用戶業務邏輯代碼,其它和云端交互的代碼完全應用代碼自動生成工具為我們搭建的框架即可。
二、 編譯和燒錄、測試
編譯源碼、燒錄教程:點我,總結下就是使用樂鑫開發的工具,選擇好固件,然后GPIO0管腳接地進入燒錄模式,這里給個直觀的接線圖:
最后效果:

評分

參與人數 1黑幣 +2 收起 理由
sz189981 + 2 絕世好帖!

查看全部評分

回復

使用道具 舉報

ID:518981 發表于 2020-2-25 23:11 | 顯示全部樓層
多謝分享
回復

使用道具 舉報

ID:456200 發表于 2020-3-21 17:38 | 顯示全部樓層
你好,我想問一下,esp8266模塊怎么連接按鍵才能配置上網?我的如何都搜不到設備
回復

使用道具 舉報

ID:143203 發表于 2020-8-6 08:35 | 顯示全部樓層
這個按鍵是隨便定義的嗎?airkiss按鍵
回復

使用道具 舉報

ID:143203 發表于 2020-8-6 08:52 | 顯示全部樓層
各個BIN的地址怎么對應?
回復

使用道具 舉報

ID:691181 發表于 2022-1-9 00:44 | 顯示全部樓層
手上剛好有同款開發板,正愁沒有教程學習,收藏了,明天嘗試一下
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表