范興隆
ESP8266在智能家居監(jiān)控系統(tǒng)中的應(yīng)用*
范興隆
(山東華宇工學(xué)院,德州253034)
ESP8266是樂(lè)鑫公司生產(chǎn)的低功耗WiFi芯片,內(nèi)置32位CPU,能夠獨(dú)立運(yùn)行,也可以作為從機(jī)搭載于其他主機(jī)MCU運(yùn)行,可以廣泛應(yīng)用于智能家居、工業(yè)無(wú)線控制、無(wú)線傳感器等領(lǐng)域。本文以一套基于WiFi組網(wǎng)的智能家居監(jiān)控系統(tǒng)設(shè)計(jì)為例,介紹ESP8266的SDK應(yīng)用開發(fā)。
WiFi;ESP8266;DHT11;E4A
隨著ZigBee技術(shù)、藍(lán)牙技術(shù)及WiFi技術(shù)的不斷成熟與普及,基于各種組網(wǎng)方式的智能家居監(jiān)控系統(tǒng)越來(lái)越多,給人們的生活帶來(lái)了極大的方便。其中,WiFi組網(wǎng)以其方便與有線以太網(wǎng)絡(luò)整合、組網(wǎng)的成本低等優(yōu)勢(shì),逐漸受到人們的推崇。目前國(guó)內(nèi)外WiFi芯片生產(chǎn)廠商越來(lái)越多,芯片性能越來(lái)越好,其中ESP8266就是一款性價(jià)比較高的低功耗WiFi芯片。本文介紹了一種基于WiFi組網(wǎng)的家居監(jiān)控系統(tǒng),該系統(tǒng)利用功能各異的多個(gè)ESP8266模塊組建無(wú)線局域網(wǎng),使用手機(jī)端APP對(duì)網(wǎng)絡(luò)中各個(gè)模塊的工作進(jìn)行監(jiān)控,不僅可以實(shí)現(xiàn)燈具、窗簾等的無(wú)線開關(guān),還可以對(duì)室內(nèi)環(huán)境溫度、濕度及空氣成分等指標(biāo)進(jìn)行檢測(cè)。通過(guò)對(duì)該系統(tǒng)的介紹,重點(diǎn)講述ESP8266的SDK開發(fā)過(guò)程。
WiFi組網(wǎng)框圖如圖1所示,本系統(tǒng)采用BSS(Basic Service Set,基本服務(wù)集)模式進(jìn)行WiFi組網(wǎng),建立1個(gè) soft AP(無(wú)線接入點(diǎn),是一個(gè)無(wú)線網(wǎng)絡(luò)的中心節(jié)點(diǎn))和多個(gè)與其關(guān)聯(lián)的station(無(wú)線終端是一個(gè)無(wú)線網(wǎng)絡(luò)的終端),手機(jī)可以以station身份連接soft AP。系統(tǒng)中soft AP模塊、station模塊均基于ESP8266進(jìn)行搭建,各station模塊實(shí)現(xiàn)不同的功能,如溫濕度檢測(cè)、燈具開關(guān)等,soft AP模塊收集各station模塊的數(shù)據(jù),手機(jī)端利用APP對(duì)soft AP模塊進(jìn)行訪問(wèn),查詢相關(guān)狀態(tài)數(shù)據(jù)并進(jìn)行控制指令下達(dá)。
圖1 WiFi組網(wǎng)框圖
2.1ESP8266簡(jiǎn)介
ESP8266是一個(gè)完整且自成體系的WiFi網(wǎng)絡(luò)解決方案,能夠獨(dú)立運(yùn)行,也可以作為從機(jī)搭載于其他主機(jī)MCU運(yùn)行。ESP8266在搭載應(yīng)用并作為設(shè)備中唯一的應(yīng)用處理器時(shí),能夠直接從外接閃存中啟動(dòng)。內(nèi)置的高速緩沖存儲(chǔ)器有利于提高系統(tǒng)性能,并減少內(nèi)存需求。另外一種情況是,ESP8266負(fù)責(zé)無(wú)線上網(wǎng)接入承擔(dān)WiFi適配器的任務(wù),此時(shí)可以將其添加到任何基于微控制器的設(shè)計(jì)中。ESP8266高度片內(nèi)集成,包括天線開關(guān)balun、電源管理轉(zhuǎn)換器,因此僅需極少的外部電路,且包括前端模組在內(nèi)的整個(gè)解決方案在設(shè)計(jì)時(shí)將所占PCB空間降到最小。
2.2ESP8266模塊電路設(shè)計(jì)
ESP8266高度集成的特點(diǎn)使得其外圍設(shè)計(jì)非常簡(jiǎn)單容易。樂(lè)鑫官方提供的基本模組電路如圖2所示。模組除主芯片外只需要1個(gè)無(wú)源晶振、1個(gè)SPI Flash及若干電阻、電容、電感。射頻部分實(shí)現(xiàn)全內(nèi)部集成,并且內(nèi)部帶有自動(dòng)校準(zhǔn)功能。本設(shè)計(jì)選用了深圳安信可公司設(shè)計(jì)的ESP-12模塊,該模塊采納了圖2所示的電路結(jié)構(gòu),采用PCB天線,經(jīng)過(guò)匹配設(shè)計(jì),空曠環(huán)境下傳輸距離可達(dá)到400 m左右,所有I/O口引出,帶金屬屏蔽殼,通過(guò)FCC&CE認(rèn)證。
圖2 ESP8266模組電路圖
圖3 DHT11接線圖
本設(shè)計(jì)中soft AP模塊無(wú)其他外擴(kuò)電路,燈具開關(guān)station模塊、窗簾開關(guān)station模塊需外接繼電器實(shí)現(xiàn)被控對(duì)象控制,溫濕度檢測(cè)station模塊需外接DHT11溫濕度傳感器。圖3為DHT11的接線圖,DATA為數(shù)據(jù)總結(jié)引腳,采用單總線數(shù)據(jù)格式。
DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。
3.1ESP8266SDK軟件包簡(jiǎn)介
基于ESP8266物聯(lián)網(wǎng)平臺(tái)的Io T SDK為用戶提供了一個(gè)簡(jiǎn)單、快速、高效開發(fā)物聯(lián)網(wǎng)產(chǎn)品的軟件平臺(tái)。SDK為用戶提供了一套數(shù)據(jù)接收、發(fā)送的函數(shù)接口,用戶不必關(guān)心底層網(wǎng)絡(luò),如WiFi、TCP/IP等的具體實(shí)現(xiàn),只需要專注于物聯(lián)網(wǎng)上層應(yīng)用的開發(fā),利用相應(yīng)接口完成網(wǎng)絡(luò)數(shù)據(jù)的收發(fā)即可。
ESP8266物聯(lián)網(wǎng)平臺(tái)的所有網(wǎng)絡(luò)功能均在庫(kù)中實(shí)現(xiàn),對(duì)用戶不透明。用戶應(yīng)用的初始化功能可以在user_ main.c中實(shí)現(xiàn)。void user_init(void)是上層程序的入口函數(shù),給用戶提供一個(gè)初始化接口,用戶可在該函數(shù)內(nèi)增加硬件初始化、網(wǎng)絡(luò)參數(shù)設(shè)置、定時(shí)器初始化等功能。為方便二次開發(fā),SDK提供了較為豐富的API接口,接口具體信息可參考ESP8266__SDK__Programming Guide。
3.2ESP8266 lDE簡(jiǎn)介
ESP8266 IDE為安信可公司開發(fā)的ESP8266模塊編譯平臺(tái),具有免安裝、純綠色、無(wú)需虛擬機(jī)、Windows系統(tǒng)直接運(yùn)行、IDE界面、編輯和編譯一體化、Eclipse編譯后直接生成固件功能。
3.3softAP模塊程序設(shè)計(jì)
該系統(tǒng)中存在多個(gè)station模塊,在系統(tǒng)正常工作時(shí),需soft AP模塊同時(shí)與多個(gè)station模塊進(jìn)行通信,為保證信息的可靠傳輸,網(wǎng)絡(luò)通信采取TCP/IP協(xié)議。soft AP模塊作為系統(tǒng)的中心節(jié)點(diǎn),設(shè)置為TCP服務(wù)器,采用DHCP方式,為各station模塊動(dòng)態(tài)分配IP地址,各模塊以客戶端的身份與其建立連接。在連接建立完成后,soft AP模塊負(fù)責(zé)監(jiān)聽各模塊的工作狀態(tài),同時(shí)收集相關(guān)模塊發(fā)送來(lái)的數(shù)據(jù)信息,并進(jìn)行分類存儲(chǔ)。
圖4 softAP程序入口函數(shù)工作流程圖
soft AP的程序入口函數(shù)user_init()工作流程圖如圖4所示。系統(tǒng)初始化主要完成μs級(jí)定時(shí)器重新初始化、串口波特率設(shè)置、GPIO引腳功能選擇;μs級(jí)定時(shí)器主要為實(shí)現(xiàn)循環(huán)工作任務(wù)而設(shè)置;WiFi工作模式設(shè)置為soft-AP;soft-AP接口配置主要包括ssid設(shè)置、password設(shè)置;在WiFi event處理函數(shù)中進(jìn)行WiFi工作狀態(tài)查詢與串口輸出。
下為user_init()主要程序
指令及注釋:
system_timer_reinit();
//重新初始化定時(shí)器,當(dāng)需要使用μs級(jí)定時(shí)器時(shí)調(diào)用
uart_init(115200,115200);
//雙UART模式,兩個(gè)UART波特率初始化
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U,F(xiàn)UNC_ GPIO0);//引腳功能選擇
os_timer_setfn(&connect_timer1,timer1,NULL);
//設(shè)置μs定時(shí)器回調(diào)函數(shù)
os_timer_arm_us(&connect_timer1,1000,1);
//使能μs級(jí)定時(shí)器
wifi_set_opmode(0x02);//設(shè)置WiFi工作模式soft AP
wifi_softap_get_config(&config);
os_memcpy(config.ssid,"ESP8226",strlen("ESP8226"));
//設(shè)置ssid
os_memcpy(config.password,"12345678",strlen("12345678"));
//設(shè)置password
config.ssid_len=strlen("ESP8226");
wifi_softap_set_config(&config);
//設(shè)置WiFi soft AP接口配置,并保存到Flash
wifi_set_event_handler_cb(wifi_handle_event_cb);
//注冊(cè)WiFi event處理回調(diào)
WiFi event處理函數(shù)主要完成station連接、DHCP配置、TCP連接及無(wú)線數(shù)據(jù)收發(fā)等任務(wù),其工作流程如圖5所示。在WiFi event處理過(guò)程中,首先確定是否有station連接,若連接成功進(jìn)而判斷DHCP配置是否完成,在前述兩個(gè)條件均滿足的情況下,進(jìn)行TCP網(wǎng)絡(luò)連接參數(shù)espconn設(shè)置,并注冊(cè)TCP網(wǎng)絡(luò)連接回調(diào)函數(shù)及建立TCP偵聽。在接收到建立連接的TCP客戶端數(shù)據(jù)后,在連接回調(diào)函數(shù)中首先進(jìn)行數(shù)據(jù)類型判別,然后根據(jù)不同類型數(shù)據(jù)進(jìn)行相應(yīng)處理,主要實(shí)現(xiàn)信息、狀態(tài)類數(shù)據(jù)的存儲(chǔ)和控制指令的發(fā)送。
圖5 WiFi event處理函數(shù)工作流程圖
以下為建立TCP連接的程序指令及注釋:
user_tcp_conn.type=ESPCONN_TCP; //選擇TCP連接方式
user_tcp_conn.state=ESPCONN_NONE; //狀態(tài)
user_tcp_conn.proto.tcp=(esp_tcp*)os_zalloc(sizeof(esp_ tcp));//分配內(nèi)存空間
os_memcpy(user_tcp_conn.proto.tcp->local_ip,local_ip,4);
//存放本地IP
os_memcpy(user_tcp_conn.proto.tcp->remote_ip,remote_ip,4);//存放遠(yuǎn)端IP
user_tcp_conn.proto.tcp->local_port=8080;//本地端口設(shè)置
user_tcp_conn.proto.tcp->remote_port=remote_port;//遠(yuǎn)端端口設(shè)置
espconn_regist_connectcb(&user_tcp_conn,user_tcp_connect_cb);
//注冊(cè)連接成功的回調(diào)函數(shù)
espconn_regist_reconcb(&user_tcp_conn,user_tcp_recon_cb);
//注冊(cè)連接失敗的回調(diào)函數(shù)
espconn_accept(&user_tcp_conn);//創(chuàng)建TCP server,建立偵聽
espconn_regist_time(&user_tcp_conn,60,0);
//設(shè)置TCP server連接超時(shí)時(shí)間
3.4station模塊程序設(shè)計(jì)
station模塊作為系統(tǒng)的終端節(jié)點(diǎn),承擔(dān)環(huán)境信息監(jiān)測(cè)、負(fù)載控制及與soft AP模塊進(jìn)行通信等任務(wù),在網(wǎng)絡(luò)通信中設(shè)置為TCP客戶端。
圖6 station程序入口函數(shù)工作流程圖
各station模塊的user_init()函數(shù)程序工作流程如圖6所示。系統(tǒng)初始化、μs級(jí)定時(shí)器設(shè)置與soft AP模塊的設(shè)置相同,WiFi工作模式設(shè)置為station,下面的工作應(yīng)為掃描獲取可連接的AP信息,但該功能的接口函數(shù)需在系統(tǒng)初始化完成回調(diào)函數(shù)中調(diào)用。因此,user_init()函數(shù)的最后一步為注冊(cè)系統(tǒng)初始化完成的回調(diào)函數(shù)。
wifi_set_opmode(0x01);//設(shè)置WiFi工作模式station
system_init_done_cb(to_scan);
//在user_init中調(diào)用,注冊(cè)系統(tǒng)初始化完成的回調(diào)函數(shù)
void to_scan(void){wifi_station_scan(NULL,scan_done);}
//掃描獲取所有可用的AP信息,并接入指定soft AP
s
can_done()為wifi_station_scan的回調(diào)函數(shù),在該函數(shù)中需列出掃描到的AP信息,然后根據(jù)soft AP模塊的ssid、password設(shè)置station接口配置參數(shù),并接入指定AP。以下為scan_done()函數(shù)中的主要程序指令:os_memcpy(&stationConf.ssid,SSID,32);os_memcpy(&stationConf.password,PASS,64);wifi_station_set_config_current(&stationConf);
//設(shè)置station接口的配置參數(shù)
wifi_station_connect();//station接口連接AP
在函數(shù)wifi_station_connect()執(zhí)行之后,需延時(shí)2 s左右查詢station接口連接AP的狀態(tài),只有station成功連接到指定AP,同時(shí)獲取了AP分配的IP地址,方可進(jìn)行TCP網(wǎng)絡(luò)配置及連接。
status=wifi_station_get_connect_status();
//查詢station接口連接AP的狀態(tài)
if(status==STATION_GOT_IP){
struct ip_info info;//查詢IP地址的結(jié)構(gòu)體
wifi_get_ip_info(STATION_IF,&info);
station_init((struct ip_addr*)remote_ip,&info.ip,8080);
//獲取IP、端口號(hào),調(diào)用網(wǎng)絡(luò)連接初始化函數(shù)
return;
}
station_init()為網(wǎng)絡(luò)連接初始化函數(shù),主要進(jìn)行網(wǎng)絡(luò)連接參數(shù)espconn設(shè)置,注冊(cè)TCP網(wǎng)絡(luò)連接回調(diào)函數(shù)及完成與TCP服務(wù)器的連接。TCP網(wǎng)絡(luò)連接成功后,接收的服務(wù)器數(shù)據(jù)在網(wǎng)絡(luò)連接回調(diào)函數(shù)中進(jìn)行處理,實(shí)現(xiàn)station模塊的相應(yīng)功能。
3.5DHT11數(shù)據(jù)采集
DHT11模塊的DATA端口用于與ESP8266模塊之間的通信和同步,采用單總線數(shù)據(jù)格式,一次通信時(shí)間為4 ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分共40位。ESP8266模塊發(fā)送一次開始信號(hào)后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號(hào)結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),送出40位的數(shù)據(jù),并觸發(fā)一次信號(hào)采集。ESP8266模塊可選擇讀取部分?jǐn)?shù)據(jù),系統(tǒng)設(shè)計(jì)100 ms讀取一次DHT11數(shù)據(jù)。圖7為DHT11的通信時(shí)序。
圖7 DHT11的通信時(shí)序
需要注意的是,ESP8266不帶操作系統(tǒng),由于是單線程,任何事件都不能長(zhǎng)期占用CPU(一般不得超過(guò)500 ms),如果一個(gè)事件占用CPU不退出,將導(dǎo)致看門狗的喂狗函數(shù)無(wú)法執(zhí)行,系統(tǒng)重啟。因此,在ESP8266周期性的查詢功能最好使用定時(shí)器,如需在定時(shí)器的執(zhí)行函數(shù)中調(diào)用while、for等函數(shù)進(jìn)行延時(shí)或循環(huán)操作,占用時(shí)間請(qǐng)勿超過(guò)10 ms,這也是在soft AP模塊中采用μs定時(shí)器實(shí)現(xiàn)循環(huán)工作任務(wù)的原因。
3.6無(wú)線通信協(xié)議制定
本系統(tǒng)station模塊包含傳感器模塊、執(zhí)行模塊及手機(jī)終端設(shè)備等多種類型,既要實(shí)現(xiàn)傳感器數(shù)據(jù)的獲取,也要實(shí)現(xiàn)控制執(zhí)行器,同時(shí)還要與手機(jī)終端進(jìn)行數(shù)據(jù)交換。由于station模塊及設(shè)備種類較多且為了利于擴(kuò)展同種類的設(shè)備,需要相應(yīng)的通信協(xié)議進(jìn)行規(guī)范。協(xié)議格式如表1所列,模塊類型及數(shù)據(jù)格式對(duì)應(yīng)關(guān)系如表2所列。
且軟件設(shè)計(jì)時(shí)可以淡化底層硬件,便于擴(kuò)展維護(hù)。采用無(wú)線串口通信可以滿足如車輛定位、液位測(cè)量、工業(yè)控制多種測(cè)距場(chǎng)合。本系統(tǒng)硬件成本低、人機(jī)界面直觀、測(cè)量精度高,具有較高的推廣使用價(jià)值。
[1]蘭羽.具有溫度補(bǔ)償功能的超聲波測(cè)距系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù).2013,36(2):85-87.
[2]趙海鳴,卜英勇,王紀(jì)嬋,等.一種高精度超聲波測(cè)距系統(tǒng)的研制[J].礦業(yè)研究與開發(fā),2006,26(3):62-65.
[3]張攀峰,王玉萍,張健,等.帶有溫度補(bǔ)償?shù)某暡y(cè)距儀的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2012,20(6):1717-1732.
[4]何凡,沈諒平,王浩.基于溫度補(bǔ)償?shù)某暅y(cè)距系統(tǒng)設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2016(2):11-16.
[5]胡延蘇,高昂.超聲波測(cè)距誤差分析及校正研究[J].計(jì)算機(jī)測(cè)量與控制,2015,23(8):2820-2823.
[6]李光明,孫英爽,黨曉娟.基于Lab VIEW和Arduino的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2015,23(10):3522-3528.
[7]劉衛(wèi)國(guó),王紅彬.基于nRF24L01+與Arduino的超聲波測(cè)距系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2015,23(22):150-152.
[8]沈金鑫.Arduino與Lab VIEW開發(fā)實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2014:123-127.
[9]鄒楊,石紅瑞.基于Lab VIEW的Tripod機(jī)器人視覺處理和定位研究[J].機(jī)電工程,2016,33(4):448-452.
[10]陶明超,何璐璐,侯佩臣,等.基于Lab VIEW的顯微鏡自動(dòng)控制設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2016,24(1):102-104.
朱志強(qiáng)(碩士),研究方向?yàn)殡娮油ㄐ偶扒度胧较到y(tǒng)。
表1 協(xié)議格式
表2 模塊類型及數(shù)據(jù)格式對(duì)應(yīng)關(guān)系
圖8 APP用戶界面
本監(jiān)控系統(tǒng)中手機(jī)是非常重要的station設(shè)備,要實(shí)現(xiàn)與soft AP模塊的連接,并查詢soft AP模塊中存儲(chǔ)的數(shù)據(jù),還要將數(shù)據(jù)顯示在手機(jī)上,以便用戶了解系統(tǒng)工作情況,同時(shí)根據(jù)用戶操作發(fā)送控制指令。為實(shí)現(xiàn)手機(jī)端的功能,采用易安卓軟件設(shè)計(jì)了一個(gè)簡(jiǎn)單的手機(jī)APP,可以運(yùn)行在安卓系統(tǒng)的移動(dòng)終端上。圖8為APP用戶界面,使用時(shí)首先讓手機(jī)WiFi連接soft AP模塊,然后啟動(dòng)APP,點(diǎn)擊連接按鍵,當(dāng)如圖8所示顯示“連接成功!”時(shí),手機(jī)即可實(shí)現(xiàn)系統(tǒng)運(yùn)行的監(jiān)控。
通過(guò)以上系統(tǒng)設(shè)計(jì)介紹,可以簡(jiǎn)單了解ESP8266 SDK開發(fā)的流程,不難看出ESP8266除了作為WiFi透?jìng)髂K使用外,獨(dú)立運(yùn)行也具有較強(qiáng)的功能,可以實(shí)現(xiàn)系統(tǒng)的低功耗控制,并且通過(guò)連接無(wú)線路由器,可以實(shí)現(xiàn)物聯(lián)網(wǎng)系統(tǒng)的云端訪問(wèn)與控制。因此,該芯片將在移動(dòng)設(shè)備開發(fā)、可穿戴電子產(chǎn)品設(shè)計(jì)及物聯(lián)網(wǎng)應(yīng)用中發(fā)揮越來(lái)越重要的作用。
參考文獻(xiàn)
[1]Espressif Systems.ESP8266 SDK編程手冊(cè)V1.3.0,2015.
[2]Espressif Systems.ESP8266 SDK User Manual V1.3.0,2015.
[3]易安卓開發(fā)公司.易安卓使用指南,2015.
[4]雁凌電子.DHT11溫濕度模塊使用說(shuō)明[EB/OL].[2016-04-22].http://ylelectronic.taobao.com.
[5]李菲.智能家居技術(shù)淺談[J].科技致富向?qū)В?015(5):180.
[6]梁永恩,萬(wàn)世明.基于S3C6410的智能家居控制系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2014(6):11041107.
范興?。ㄖv師),研究方向?yàn)樽詣?dòng)檢測(cè)與控制。
(責(zé)任編輯:楊迪娜 收稿日期:2016-04-22)
Application of ESP8266 in lntelligent Home Monitoring System
Fan Xinglong
(Shandong Huayu University of Technology,Dezhou 253034,China)
The ESP8266 is produced by ESPRESSIF System,which is low-power consumption Wi-Fi chip,and integrates 32-bit MCU.It can run independently,and also can be used as a slave of the other host MCU.It can be widely used in smart home,industrial wireless control,wireless sensors and other fields.In this paper,taking the smart home monitoring system based on WiFi network as an example,the ESP8266 software development is introduced.
WiFi;ESP8266;DHT11;E4A
TN92
A
??楊迪娜
2016-05-03)
*本文得到山東省高等學(xué)校青年骨干教師國(guó)內(nèi)訪問(wèn)學(xué)者項(xiàng)目經(jīng)費(fèi)資助。