亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Basic4Android開發(fā)平臺(tái)的手機(jī)控制系統(tǒng)

        2016-06-01 00:46:49
        關(guān)鍵詞:跳線開發(fā)板串口

        穆 明

        (淄博市教育服務(wù)中心,淄博 255000)

        ?

        基于Basic4Android開發(fā)平臺(tái)的手機(jī)控制系統(tǒng)

        穆明

        (淄博市教育服務(wù)中心,淄博 255000)

        摘要:目前物聯(lián)網(wǎng)已經(jīng)開始滲透到工作生活的方方面面,無線WiFi也成為普遍的應(yīng)用技術(shù)之一?;?1系列WiFi開發(fā)板的控制系統(tǒng)介紹了B4A(Basic4Android)開發(fā)平臺(tái)應(yīng)用,從而降低了智能終端APP的開發(fā)難度。

        關(guān)鍵詞:WiFi;Basic4Android平臺(tái);STC89LE54RD+;APP

        引言

        圖1 零度創(chuàng)意51單片機(jī)WiFi開發(fā)板的元器件圖

        本文基于51系列的零度創(chuàng)意WiFi開發(fā)板,在原開發(fā)板的軟硬件平臺(tái)架構(gòu)的基礎(chǔ)上,用Eclipse開發(fā)的手機(jī)端APP改為在Basic4Android平臺(tái)進(jìn)行開發(fā),具有一定的推廣價(jià)值。以下從一個(gè)具體實(shí)例入手,詳細(xì)描述安卓智能手機(jī)通過WiFi與單片機(jī)系統(tǒng)通信的結(jié)構(gòu)設(shè)計(jì)。

        1單片機(jī)程序設(shè)計(jì)

        1.1單片機(jī)平臺(tái)簡介

        零度創(chuàng)意51單片機(jī)WiFi開發(fā)板基于STC89LE54RD+芯片,搭載工業(yè)級M02 WiFi模塊,WiFi模塊與單片機(jī)串口連接,內(nèi)置IEEE802.11協(xié)議棧以及TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)嵌入式設(shè)備數(shù)據(jù)到無線網(wǎng)絡(luò)之間的轉(zhuǎn)換。本開發(fā)板將串口多次使用,即向單片機(jī)燒寫程序時(shí),斷開WiFi模塊和51主控芯片的連接跳線(見開發(fā)板隨機(jī)說明資料),51主控芯片與虛擬串口CP2102USB芯片自然連接,下載成功后將WiFi模塊和51主控芯片的跳線連接;配置WiFi模塊時(shí)(指由專用軟件配置),斷開WiFi模塊和51主控芯片的連接跳線,接通WiFi模塊與虛擬串口CP2102USB芯片的連接跳線進(jìn)行WiFi模塊參數(shù)配置。零度創(chuàng)意51單片機(jī)WiFi開發(fā)板的元器件圖如圖1所示。

        該模塊有2種與上位機(jī)通信的模式:①AP熱點(diǎn)模式,即本身為終端,設(shè)備接入AP進(jìn)行控制;②STA模式,即本身為副端,可將其連入路由器,設(shè)備連入路由器后可以同時(shí)連接多個(gè)模塊。模塊自身帶有配置程序,將模塊連接至計(jì)算機(jī),安裝COM口驅(qū)動(dòng)程序后,既可按自身需求設(shè)置WiFi模塊的參數(shù),也可通過編寫WiFi模塊函數(shù)添加到工程程序包,由單片機(jī)通過發(fā)送串口AT指令配置WiFi模塊。

        該系統(tǒng)采用config程序配置WiFi模塊:先給開發(fā)板上電,接好串口連接線(即虛擬串口連接線),連接相應(yīng)的跳線帽,檢測串口線的驅(qū)動(dòng)是否安裝,并且查看串口線對應(yīng)的COM 接口;然后再安裝并運(yùn)行WiFi模塊配置工具,直到WiFi模塊搜索成功。本實(shí)例將WiFi模塊配置成AP模式,WiFi 模塊默認(rèn)IP地址為192.168.2.1,網(wǎng)絡(luò)協(xié)議為TCP,本模塊作為服務(wù)器模式。配置管理程序界面如圖2所示。

        圖2 WiFi 模塊配置管理程序界面

        1.2單片機(jī)程序設(shè)計(jì)結(jié)構(gòu)

        單片機(jī)端控制LED的程序設(shè)計(jì)思路為通過WiFi模塊接收串口數(shù)據(jù)來控制I/O口的高低電平以實(shí)現(xiàn)LED燈的通斷。為了與手機(jī)端APP程序控制編碼協(xié)議保持一致,單片機(jī)控制代碼采用數(shù)值類型,本例的開燈控制代碼為0x01、0x01,關(guān)燈控制代碼為0x01、0x00(特別說明的是,本開發(fā)板的電腦TCP控制WiFi模塊數(shù)據(jù)控制代碼為字符串類型)。LED工程文件各模塊分布如圖3所示。

        圖3 LED.uvproj工程文件分布界面

        LED工程文件中的USER模塊是用戶文件,C51_Driver.c是單片機(jī)驅(qū)動(dòng)層,包括串口初始化配置、串口發(fā)送函數(shù)和串口中斷接收函數(shù);main.C是上層應(yīng)用,判斷接收的指令類型以及根據(jù)指令類型控制燈的開關(guān);wifi.c是用戶需要使用軟件的AT指令方式配置WiFi模塊的函數(shù),一般情況下使用配置工具配置模塊,所以這個(gè)文件基本上不使用;LED.c是每個(gè)外設(shè)例程的驅(qū)動(dòng)層,定義了LED的閃爍方式。 Library模塊是存放51的啟動(dòng)文件,該文件不需要任何改動(dòng)。其中main.c主程序部分代碼為:

        void main(){

        HardWareInit(); //硬件初始化

        while(1){

        if(Flag==1){

        Flag=0;

        if((Buf[0]==0x01) && (Buf[1]==0x01)){

        //APP開燈指令

        Status=1; //開燈標(biāo)志

        Buf[0]=0;//初始化數(shù)組值

        Buf[1]=0;

        SendCounter=0;

        }

        else if((Buf[0]==0x01) && (Buf[1]==0x00)){

        //APP關(guān)燈指令

        Status=0; //關(guān)燈標(biāo)志

        Buf[0]=0;

        Buf[1]=0;

        SendCounter=0;

        }

        }

        if(Status==1)

        Led_Blink(1);//開燈

        else

        Led_Blink(0);//關(guān)燈

        }

        }

        2手機(jī)APP程序設(shè)計(jì)

        2.1Basic4Android開發(fā)平臺(tái)簡介

        Basic4Android是一個(gè)類似于VB的Android應(yīng)用開發(fā)平臺(tái),其功能非常強(qiáng)大,可將代碼直接編譯安卓原生應(yīng)用軟件而不需要其他環(huán)境的支持,避免了傳統(tǒng)Eclipse需要大量代碼以及難理解的問題(注:此工具只支持安卓系統(tǒng)開發(fā))。Basic4Android帶有豐富的庫函數(shù)并支持Android的核心特性,其開發(fā)環(huán)境搭建運(yùn)行基本步驟如下:

        ① 安裝.NET Frameword2.0(NetFx20SP2_x86);

        ② 安裝JDK6(jdk-6u39-windows-i586,32位);

        ③ 安裝Android_SDK;

        ④ 安裝Basic4Android平臺(tái);

        ⑤ 配置Basic4Android,打開Basic4Android,執(zhí)行“Tools”菜單下的“Configure Paths”命令,配置javac.exe和android.jar的安裝路徑,以及附加的Basic4Android庫;

        ⑥ 安裝B4A-Bridge調(diào)試器,手機(jī)端 安裝B4A-Bridge調(diào)試器并運(yùn)行,同時(shí)電腦端執(zhí)行“B4A安卓端工具”的“用WIFI連接”命令,運(yùn)行“Run”菜單命令即可編譯并在手機(jī)端安裝APP程序。

        2.2APP程序設(shè)計(jì)結(jié)構(gòu)

        在Basic4Android平臺(tái)完成代碼和VB編程類似,如所需要的控件函數(shù)不在工具欄,則需要添加庫函數(shù),點(diǎn)擊展開庫函數(shù)Libs菜單,勾選要引用的庫函數(shù)。若所用版本自身所帶函數(shù)庫種類不能滿足需要,也可根據(jù)需求擴(kuò)展庫函數(shù),即將后綴為.xml和.jar相應(yīng)的類庫文件拷貝到安裝程序的Libraries子文件夾下即可使用。每個(gè) Basic4Android 程序在其自己的進(jìn)程中運(yùn)行,由一個(gè)或者多個(gè)Activity組成,Activity有點(diǎn)類似Windows 的窗體。Activity建立后,就會(huì)調(diào)用Sub Activity_Create子程序;當(dāng)用戶啟動(dòng)應(yīng)用時(shí), 這個(gè)子程序用來載入或者建立layout;當(dāng)Activity從前臺(tái)轉(zhuǎn)換到后臺(tái)時(shí)調(diào)用 Activity_Pause子程序;當(dāng)Activity_Create完成后會(huì)立刻調(diào)用Activity_Resume子程序。

        本文用手機(jī)控制單片機(jī)LED的亮滅,在Basic4Android 平臺(tái)IDE界面添加引用Network類庫,采用Socket類封裝函數(shù)與單片機(jī)通信,在Activity層文件里添加3個(gè)Button按鈕(其中Button1連接單片機(jī)按鈕、Button2為開燈按鈕、Button3為關(guān)燈按鈕),在Button_Click事件函數(shù)中分別實(shí)現(xiàn)連接51單片機(jī)WiFi模塊(WiFi模塊IP為192.168.2.1,端口為8000)、點(diǎn)亮LED、熄滅LED。本程序設(shè)計(jì)的關(guān)鍵環(huán)節(jié)是Socket函數(shù)類庫的正確使用。目前,介紹Socket類庫應(yīng)用的資料非常少。其中Activity設(shè)計(jì)層“Layout1”文件的顯示界面如圖4所示。

        圖4 Activity設(shè)計(jì)層“Layout1”文件的顯示界面

        主要的代碼模塊(在安卓手機(jī)測試通過)為:

        Sub Process_Globals

        ‘進(jìn)程變量聲明函數(shù),變量能被所有模塊使用

        Dim Socket1 As Socket

        ‘聲明新的Socket對象為進(jìn)程變量

        Dim OutputStream1 As OutputStream

        ‘同時(shí)聲明輸出管道流對象

        End Sub

        Sub Globals

        ‘Activity變量聲明函數(shù),變量只能在此Activity使用

        Dim buffer(2) As Byte

        ‘必須聲明為數(shù)值型變量與單片機(jī)接收類型一致

        Dim Button1 As Button

        Dim Button2 As Button

        Dim Button3 As Button

        End Sub

        Sub Activity_Create(FirstTime As Boolean)

        Socket1.Initialize("Socket1")

        ‘必須對聲明的對象初始化,才能應(yīng)用對象事件發(fā)生函數(shù)

        Activity.LoadLayout("Layout1")

        ‘加載Layout1彈出窗體設(shè)計(jì)界面

        End Sub

        Sub Button1_Click

        ‘連接51單片機(jī)WiFi模塊

        Socket1.connect("192.168.2.1",8000,0)

        ‘連接遠(yuǎn)程主機(jī)(與單片機(jī)端WiFi模塊網(wǎng)絡(luò)設(shè)置一致)

        End Sub

        Sub socket1_Connected (Successful As Boolean)

        ‘連接發(fā)生事件

        If Successful Then

        OutputStream1=Socket1.OutputStream

        Button2.Enabled=True

        End If

        End Sub

        Sub Button2_Click

        ‘開燈

        buffer(0)=1

        buffer(1)=1

        OutputStream1.WriteBytes(buffer,0,2)

        ‘將開燈控制代碼數(shù)據(jù)(必須是數(shù)值型)寫入輸出管道流

        Phone Control System Based on Basic4Android Platform

        Mu Ming

        (Zibo City Education Service Center,Zibo 255000,China)

        Abstract:The internet of things has penetrated into many aspects of people′s work and life,and WiFi has become one of the universal application technologies.Based on the 51 series WiFi development board control system,B4A(Basic4Android) development platform is introduced,which can reduce the development difficulty of the intelligent terminal APP.

        Key words:WiFi;Basic4Android platform;STC89LE54RD+;APP

        中圖分類號:TP36

        文獻(xiàn)標(biāo)識(shí)碼:A

        猜你喜歡
        跳線開發(fā)板串口
        高壓送電線路耐張塔跳線三維建模及計(jì)算
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        Microchip最新推出兩款PIC32 Curiosity開發(fā)板
        ±800 kV特高壓直流線路跳線上繞耐張塔研究
        淺析單片機(jī)開發(fā)板的設(shè)計(jì)與制作
        電子制作(2017年22期)2017-02-02 07:10:14
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
        地礦測繪(2015年3期)2015-12-22 06:27:26
        Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
        Arduino和Atmel發(fā)布Arduino Zero開發(fā)板
        基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
        帮老师解开蕾丝奶罩吸乳网站 | 亚洲国产日韩综一区二区在性色| 国产乱人伦偷精品视频还看的| 免费在线黄色电影| 国产真实伦在线观看| 青草网在线观看| 亚洲中文字幕免费精品| 中文字幕一区二区三区四区五区| 中文字幕无码日韩专区免费| 狼友AV在线| 日韩视频午夜在线观看| 九九综合va免费看| 性一交一乱一伦a片| 色综合色综合久久综合频道| 国产精品高清国产三级国产av| 男女性爽大片视频| 欧美性猛交xxxx黑人| 国产精品亚洲专区无码不卡 | 精品亚洲麻豆1区2区3区| 国产福利酱国产一区二区 | 亚洲日本va午夜在线影院| 杨幂Av一区二区三区| 国产免费一区二区在线视频| 芒果乱码国色天香| 国产黑色丝袜一区在线| 青青青草视频手机在线| 色综合天天综合欧美综合| 搡老熟女老女人一区二区| 亚洲成a人片在线观看中文!!!| 你懂的视频网站亚洲视频| 热久久美女精品天天吊色| 国产精品露脸张开双腿| 加勒比特在线视频播放| а天堂中文地址在线| 亚洲国产韩国欧美在线| 西西人体大胆视频无码| 在线观看国产白浆一区三区| 精品人妻午夜一区二区三区四区| 伊人精品无码AV一区二区三区| 国产精品又污又爽又色的网站| 亚洲国产一二三精品无码|