一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

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ú)線(xiàn)射頻傳輸、WIFI、NFC等。
wifi有著許多各種無(wú)線(xiàn)傳輸無(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)似文章 更多

    欧美精品女同一区二区| 国产传媒一区二区三区| 少妇熟女精品一区二区三区| 亚洲欧美一二区日韩高清在线| 草草视频精品在线观看| 粉嫩一区二区三区粉嫩视频| 91香蕉国产观看免费人人| 日韩性生活片免费观看| 91精品国产综合久久不卡| 男人的天堂的视频东京热| 亚洲视频在线观看免费中文字幕| 亚洲欧美日本国产有色| 中文字幕av诱惑一区二区 | 中文字幕精品一区二区年下载| 欧美成人免费一级特黄| 亚洲综合精品天堂夜夜| 欧洲一区二区三区自拍天堂| 东京干男人都知道的天堂| 东京不热免费观看日本| 高清在线精品一区二区| 丰满的人妻一区二区三区| 狠狠做深爱婷婷久久综合| 国产欧美日产中文一区| 欧美日韩国产精品第五页| 欧美日韩乱码一区二区三区| 亚洲最新一区二区三区| 福利一区二区视频在线| 日韩日韩欧美国产精品| 色狠狠一区二区三区香蕉蜜桃| 白白操白白在线免费观看| 在线日本不卡一区二区| 中文字幕日韩一区二区不卡| 麻豆亚州无矿码专区视频| 中文字幕人妻综合一区二区| 亚洲少妇人妻一区二区| 冬爱琴音一区二区中文字幕| 中文字幕免费观看亚洲视频| 丰满人妻一二三区av| 厕所偷拍一区二区三区视频| 久热青青草视频在线观看| 成人精品国产亚洲av久久|