LinkIt 7687 HDK開發(fā)板評測:跟2017年的物聯網世界說“Hello”
物聯網這個詞在近幾年的亮相頻率相當高,甚至可以說是鋪天蓋地。曾經感覺是下個世紀的黑科技,其實已經開始深入應用到我們日常生產生活中了。物物相聯、智能感知,是對物聯網最通俗、也最準確的理解。大到工業(yè)國防,小到衣食住行,稍加注意,你便會發(fā)現它真的是無所不在。
“聯發(fā)科”這三個字,憑它在移動設備領域的影響力確實無需過多注解,然而,聯發(fā)科正式宣布進入物聯網戰(zhàn)場卻是在2014年左右,屬于后起之秀了。不過如同它曾經在智能手機市場上風光無限一樣,因其在低功耗與聯網技術方面深厚的經驗與科技積累,短短幾年內聯發(fā)科在物聯網領域也是捷報頻傳,作為吃瓜群眾的我們竟然也會因其連番不斷的新品轟炸,而感受到物聯網深情的撩撥。
過去芯片廠商的開發(fā)公板都是直接提供給客戶廠商,以協(xié)助加速完成產品的開發(fā)。不過近來的趨勢是各芯片廠家愈發(fā)慷慨,各種開發(fā)板通過各種免費形式送到了相關領域從業(yè)者手中,再加上大量的開源軟件資源,讓眾多極客、“攻城獅”也都有機會共同參與到了推動行業(yè)進步的大潮中。
這些慷慨的芯片廠家中,就包括了聯發(fā)科;而享受到免費福利的幸運兒當中,就包括了本人。
對的,經過誠意滿滿的一番申請,我終于在不久前收到了來自聯發(fā)科的一套LinkIt 7687物聯網開發(fā)板,現在正式進入正題。
一、開箱:
先暴力撕開郵遞包裹,再小心翼翼取出開發(fā)板包裝盒。
第一感覺是尺寸小巧精致,圖文設計什么的也算精美。而且很多英文,側面一行字特別顯眼:If you can write ‘hello world!’, you can change the world。
掀開外包裝盒,果然開發(fā)板身著透視防靜電袋在里面乖乖地躺著。如捉J一般把它拉起,拆開“床”板,你會發(fā)現里面蜷縮著一條數據線。
上一張“突擊成果”全家福。
開發(fā)板整體感覺還不錯,PCBA兩面油亮整潔,一塵不染;元器件布局也有條有理,非常工整。果然有名牌、正品風范。
開發(fā)板上最核心的部分當然就是那塊8*8mm 68-pin QFN封裝的MT7687F控制器芯片,方方正正地披著鐵皮伸出很多引腳在那里號令全板。更加吸引視線的是上下兩排亮黃色的GPIO擴展接口,還有就是電源和USB接口,以及它下方的三個圓形功能按鍵。它們右邊更小的圓點排成一排的都是LED燈。再看最右側,自帶板載無線天線,以及備用的外接天線接口。
具體板載硬件配置如下:
(1)供電
USB或電池供電:Micro USB 電源 (VBus, 5V) 和外部 VIN (1.8~3.2V);
(2)LED
多種 LED 指示燈,包含 UART 通訊和電源,以及 6 個透過GPIO控制的 LED:
D6:5V電源網絡;
D5:3.3V電源網絡;
D9(UART TX):UART1發(fā)送指示;
D10(UART RX):UART1接收指示;
D11、D12、D13,D14,D15可用作其它指示使用。
(3)功能按鍵
S4、S5、S1分別對應系統(tǒng)重置,RTC(Real Time Clock)中斷和外部中斷。
(4)擴展GPIO
8個GPIO擴充接口;
(5)RTC時鐘模塊
時鐘模塊是LinkIt 7687 HDK的特點之一,它包含一個40MHz源晶體振蕩器,以及用于外部頻率模式的32.768 kHz晶振。
(6)USB數據接口
支持:Mass Storage Device (MSD)flash編程界面;Micro USB CMSIS-DAP(Coresight Debug Access Port);Virtual COM port UART經由USB給PC連接。
(7)射頻
射頻信號路由到板上的電路天線。
外觀部分就到這里,接下來看下具體的硬件特性。
二、開發(fā)板及芯片
該LinkIt 7687開發(fā)板是基于聯發(fā)科技的MT7687 Wi-Fi SOC設計制作,最適用于開發(fā)智能居家居相關的物聯網設備。
想要深入認識開發(fā)板,這時候就有必要把包裝盒拿來復習了。
根據硬盒正面英文所述,開發(fā)板由品佳集團 (Silicon Application Corp.Group)設計推出,被描述為一款“為高能效、安全WiFi設備而生的物聯網開發(fā)板”。下面小字是說此板支持AES、3DES/SHA無線WiFi加密,外設支持UART、I2C、SPI、PWM、IrDA,還有輔助ADC接口。
硬盒反面的英文介紹了開發(fā)板的一些詳細功能特性,重新整理如下:
·內含 MT7687F Wi-Fi 芯片模塊。該模塊可供制造商生產最終商用的物聯網設備;
·整合安全引擎的 Wi-Fi 連網功能(支持 AES 與 3DES/SHA 加密標準);
·嵌入式 SRAM/ROM 與 2MB 的序列閃存;
·電池(2顆3號電池)與插電選項;
·支持產品上市前的關鍵測試,除了提供調試端口,方便檢測,還提供一個U.FL天線接頭,以及保留供監(jiān)視耗電量的排針。
·與 Arduino Uno (Revision 3版) 管腳兼容外,另外提供一個8針腳擴充接頭,提供多元的外圍連接能力。
再來看最核心的MT7687。
MT7687是聯發(fā)科在2015年就推出的節(jié)能型系統(tǒng)級WiFi芯片,主打低功耗、高安全性,以及良好的擴展可編程性能。
它的主要特點整理如下:
·內含一顆ARM Cortex-M4F 微控制器;
·1x1組態(tài)的802.11b/g/n WiFi子系統(tǒng),省電、穩(wěn)定;
·主頻達192Mhz/200Mhz的Cortex M4核心;
·支持多元的外設接口;
·整合在芯片封裝內的嵌入式SRAM/ROM與序列閃存。
三、開發(fā)軟件配置
安裝驅動
通過自帶的數據線將開發(fā)板連接至電腦,然后下載安裝官方的驅動。
英文不好的,可以根據“哪里能點點哪里”的原則,點擊下載紅色劃線部分:
安裝完成,查看以下3個部分即可:
配置HDK Flash
通過連接J25,啟動Flash Recovery模式。
升級固件
下載mt76x7_mk20d_mbed.bin文件。
模式進入
先從LinkIt 7687開發(fā)板移除micro USB連接線。接下來按下并持續(xù)壓住RST按鈕,同時再用micro USB線將開發(fā)板連接至電腦。繼續(xù)壓住按鈕約5秒鐘后,一個新設備就會出現在Windows文件管理器中了。
安裝
將解壓縮的mt76x7_mk20d_mbed.bin拷貝至這個新設備中之后,開發(fā)板上中間那個U6001 LED燈就開始快閃,這時候需要耐心等它個差不多5分鐘。
開發(fā)軟件安裝
(1)安裝MDK 5.22
(2)安裝MediaTek.MTx.4.0.0.pack
下載SDK:LinkIt SDK的KEIL package
下載完成后雙擊打開安裝:
四、跟物聯網世界打聲招呼吧
1.WiFi AP測試
1.1 連接圖
1.2 調試代碼
1.3 調試現象
使用網絡調試軟件,在PC端和手機端分別安裝。查看7687的輸出記錄即可知道:[Gateway]10.10.10.1、[Start IP]10.10.10.2、[End IP]10.10.10.10。
測試連接的PC IP為10.10.10.2 設置UDP,端口號:8080,目標主機10.10.10.3
測試連接的Mobile IP為10.10.10.3,設置UDP Server,端口號8080。
互發(fā)數據,達到簡單的通信測試。
2.WiFi STA測試
2.1 連接圖
2.2 調試代碼
運行官方例程:iot_sdk_demo
2.3 調試現象
UART調試打印信息
查看路由器管理界面,MT7687的連接信息。
Lwip socket測試
LwIP是Light Weight (輕型)IP協(xié)議。LwIP在保持TCP協(xié)議主要功能的基礎上減少對RAM 的占用,適合在低端的嵌入式系統(tǒng)中使用。
3.1 Socket通信
(1) 創(chuàng)建:int lwip_socket(int domain, int type, int protocol)
(2) 綁定:int lwip_bind(int s, const struct sockaddr *name, socklen_t namelen)
(3) 監(jiān)聽端口號:int lwip_listen(int s, int backlog)
(4) 接收來自客戶端的連接請求:
Int lwip_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
(5) 讀取數據:int lwip_read(int s, void *mem, size_t len)
(6) 發(fā)送數據:int lwip_write(int s, const void *data, size_t size)
(7) 關閉:int lwip_close(int s)
3.2 調試代碼
運行官方例程:lwip_socket。借助 WiFi STA模式測試代碼。
3.3調試現象
此處以TCP調試。
(1)MT7687端創(chuàng)建Socket 通信,server端。
IP:192.168.0.13
Port: 6500
(2)手機端借助網絡調試助手,作為Socket Client請求連接
(3)連接成功,開始通信測試。
4.基于MT7687的計量插座設計
4.1 項目簡介
本文基于MT7687的WiFi版本計量插座實現了普通插座的聯網和計量功能,用戶可以通過APP端實現對連接在插座上的負載進行控制和電量數據的實時查看。計量方案采用8051微處理器的單相電能計量芯片 G80F923,WiFi采用MT7687,采用內核cortex-m4,基于聯發(fā)科實時操作系統(tǒng)(RTOS)開發(fā)平臺。
4.2 設計框圖
4.3 設計原理
4.3.1 基本參數
電源參數:220-250VAC,50/ 60HZ;
額定最大電流:10A;
計量精度:1%。
4.3.1 計量芯片 G80F923
G80F925提供單相電能計量所需要的全部功能,包括有功功率與有功電能、無功功率與無功電能、電壓電流有效值及頻率計算等,支持靈活校表方案。
電壓采樣:分壓采樣,將差分電路電壓信號輸入采樣端口VP和VN
電流采樣:使用分流器,采用高精度錳銅電阻,將信號輸入IP和IN
4.3.2 WiFi模塊 MT 7687
采用MT7687的UART ,RX:GPIO36 ,TX:GPIO37。連接計量MCU的UART。
協(xié)議說明
4.4.1用戶端——>MT7687
1:查詢設備端數據
2:控制設備端打開負載
3:控制設備端斷開負載
4.4.2 MT7687——>設備端
Uart協(xié)議
波特率:115200bps,數據位:8,停止位:1,校驗位:N ,流控制:N
長度包括:data
CRC采用ModbusCRC計算方法
校驗項:為功能碼+長度+數據。
(1)下發(fā)數據
(2)上報數據
(3)錯誤應答
錯誤碼說明。
4.4.3數據說明
4.5 程序調試
Uart通信
(1)基本配置
網絡通信
采用TCP 方式,MT7687作為TCP Server,手機端作為TCP Client。參照STA測試。
4.6 調試記錄
(1)數據通信測試:
建立Socket連接,手機端發(fā)送1,當MT7687收到數據后,通過Uart向G80F9023查詢檢測數據,然后向上發(fā)送至手機端。
此處的電氣數據為模擬數據。
(2)硬件連接圖:
采用USB供電。電氣數據為模擬數據,此處實現基本的數據通信。
五、結語
進行到這里,相信大家已經都可以著手開發(fā)自己作品了,比如智能燈泡、智能門鎖等等。LinkIt 7687開發(fā)板整個連接、設置和測試運行,以及參考設計都算是完成得非常順暢,主要是MTK提供的各種開源軟件資源非常豐富,可以說是給我們開發(fā)設計新產品掃清了許多障礙。
“Advanture is out there”,各位看官,此篇拙文算是投石引玉,還有更多更亮眼的物聯網創(chuàng)意,就等你們一起去實現了!