久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

openwrt開(kāi)源系統(tǒng)+路由器 wifi通信解決方案

 guitarhua 2016-07-25
通信這一名稱(chēng)對(duì)于我們電子專(zhuān)業(yè)的并不陌生,,能夠搭通兩者或兩者以上的通信,就能做到很多東西,,如控制,、數(shù)據(jù)傳輸?shù)取?div>而通信有很多種技術(shù),,如1G、2G,、2.5G,、2.75G、3G,。,。,。等,,具體實(shí)例有GSM、3G,、藍(lán)牙,、ZigBee,、各種2.4G無(wú)線射頻傳輸,、WIFI,、NFC等,。
wifi有著許多各種無(wú)線傳輸無(wú)可替代的優(yōu)勢(shì),而且與手機(jī)搭配使用,,你會(huì)發(fā)現(xiàn)它用于控制、數(shù)據(jù)傳輸?shù)葧?huì)很完美(從價(jià)格,、設(shè)備體積、傳輸距離,、傳輸質(zhì)量等),當(dāng)然,,具體問(wèn)題要具體分析,,也要看你用來(lái)做什么,。
弄過(guò)嵌入式開(kāi)發(fā)板的人就會(huì)發(fā)現(xiàn)有wifi模塊這東西,,但這東西很貴,,而且不穩(wěn)定,,我記得師兄拿俱樂(lè)部的開(kāi)發(fā)板所配的wifi模塊就重來(lái)沒(méi)有搭通過(guò)。,。,。
而我現(xiàn)在介紹的openwrt系統(tǒng)+路由器 = arm開(kāi)發(fā)板+wifi模塊,;這里說(shuō)的等于是指路由器裝上openwrt能夠?qū)崿F(xiàn)開(kāi)發(fā)板+wifi模塊中的數(shù)據(jù)傳輸與控制功能,而且比開(kāi)發(fā)板更穩(wěn)定效果更好體積更小,。
openwrt是一個(gè)linux系統(tǒng),,如果搞過(guò)嵌入式的,,當(dāng)你看回這一系統(tǒng)框架的時(shí)候會(huì)發(fā)現(xiàn)者就是我們平時(shí)所學(xué)的東西,。,。。
路由器也跑linux系統(tǒng),這說(shuō)明嵌入式linux應(yīng)用真的很廣,!
好了,,用一幅圖理清一下我上面所講的東西:
openwrt開(kāi)源系統(tǒng)+路由器 wifi通信解決方案 - 豪醒 - 豪醒的博客

然后你的擴(kuò)展:

 openwrt開(kāi)源系統(tǒng)+路由器 wifi通信解決方案 - 豪醒 - 豪醒的博客
當(dāng)然還有更多,他能很好地滿(mǎn)足你的控制命令與數(shù)據(jù)的傳輸,。

然后說(shuō)一下路由器裝上OpenWRT的過(guò)程,首先是路由器的選擇,,我用的是TP-Link 703N這款,,這是一個(gè)3G路由器,,因?yàn)檫@個(gè)路由器配備一個(gè)USB接口用來(lái)插3G上網(wǎng)卡的,,而USB端口對(duì)于我們而言,,又是一個(gè)外圍接口了,USB端口對(duì)比TTL串口來(lái)說(shuō),,當(dāng)然高級(jí)不小了,有了USB端口,,就可以接攝像頭等,,通過(guò)USB HUB的擴(kuò)展,,還可以完全獨(dú)立使用USB而不用TTL串口了,。
當(dāng)然,,還有很多其他路由器選擇的,,如DB120、FWR171-3G,、MW151RM3G等等,可以依價(jià)錢(qián)體積性能等自己酌情選擇,具體可以上OpenWRT官方論壇看看,。
openwrt開(kāi)源系統(tǒng)+路由器 wifi通信解決方案 - 豪醒 - 豪醒的博客openwrt開(kāi)源系統(tǒng)+路由器 wifi通信解決方案 - 豪醒 - 豪醒的博客
  
這里以TP-Link為例:
必要的工具:putty(就像超級(jí)終端)、winscp(就像資源管理器)
具體流程是這樣的:先將OpenWRT刷入路由器——修改網(wǎng)絡(luò)配置令到路由器能夠聯(lián)網(wǎng)——下載相關(guān)軟件(如攝像頭驅(qū)動(dòng)、ser2net等)——編寫(xiě)啟動(dòng)腳本——測(cè)試,。
具體教程還是請(qǐng)自行查找教程,,應(yīng)為具體問(wèn)題要具體分析。

這邊完了后,,以android應(yīng)用為例,,看android手機(jī)是如何與路由通信的:
其中連接wifi網(wǎng)絡(luò),創(chuàng)建socket:
mtcpSocket = new SocketClient(clientUrl, clientPort); //clientUrl為wifi熱點(diǎn)IP, clientPort為端口號(hào)
取得輸入輸出流:
is = new BufferedInputStream(mtcpSocket.getInputStream());
讀取緩沖區(qū):
int ret = is.read(buffer);  //buffer為緩沖區(qū)內(nèi)容
發(fā)送數(shù)據(jù):
mtcpSocket.sendByte(data);
看函數(shù)具體定義:

public void sendMsg(byte[] msg) {
try {
OutputStream out = client.getOutputStream();
out.write(msg);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
public void sendByte(Byte data) {
try {
OutputStream out = client.getOutputStream();
out.write(data);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}

過(guò)程就是這樣的了。

再看一下單片機(jī)(89C52)與路由器進(jìn)行串口通信的部分代碼:
先進(jìn)行串口初始化工作后:
  a=SBUF;
  switch(a)
  {
  case 0x01:flag=1;break;
  case 0x02:flag=2;break;
  case 0x00:flag=3;break;
  case 0x03:flag=4;break;
  case 0x04:flag=5;break;
 }
再看看:
  switch(flag)
 {
 case 1:P1=0x09;break;
 case 2:P1=0x06;break;
 case 3:P1=0x00;break;
 case 4:P1=0x08;break;
 case 5:P1=0x01;;break;
 default: flag=0;
 }
這是一個(gè)簡(jiǎn)單的wifi小車(chē)的單片機(jī)源碼,,其道理就是根據(jù)android手機(jī)發(fā)過(guò)來(lái)的命令進(jìn)行控制小車(chē)的運(yùn)動(dòng):前進(jìn)后退左轉(zhuǎn)右轉(zhuǎn)停車(chē),。

網(wǎng)頁(yè)、windows桌面程序等道理都是一樣的,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多