基於W5500的NetBIOS應用實例

一 實例背景 最近一個做智能家居的朋友面臨這樣的一個煩惱,他想讓用戶通過智能手機在家裡方便地控制家居設備,又想讓用戶免除下載安裝App的麻煩,通過瀏覽器直接打開設備內嵌的網頁便可實現控制。但是設備的IP地址都是通過家裡的路由器自動獲得的,設備上又沒有屏幕來顯示其IP地址。問我有沒有辦法不輸入IP地址來實現瀏覽器訪問該設備網頁的辦法,就是類似DNS之類,但是無需連外網,只在家庭網路內能訪問即可。 這使我想起一個古老的協議,NetBIOS(Network Basic Input/Output System)。這個在上世紀80年代由IBM開發的協議,主要用於數十臺左右計算機組成的小型局域網,該協議的主要用途之一就是把計算機名稱解析為相應IP地址。如果每個設備有一個固定名字,在實現了NetBIOS的前提下,用戶在瀏覽器里輸入該設備的名字,然後通過NetBIOS解析,便可實現訪問該設備網頁的這個功能了。而且NetBIOS占用系統資源少,在單片機上運行不成問題。於是推薦這個朋友在他的設備上實現了NetBIOS協議,解決了他的煩惱。 除了智能家居,在當下物聯網時代,想必還有其他應用也會遇到類似問題,就拿手頭的WIZnet-W5500評估板實現了一下NetBIOS,希望能對做網路設備開發的朋友有所幫助。在用W5500實現之前,我們還是先在PC上看一下NetBIOS到底是一個什麼東西。  二 NetBIOS協議 我們知道在DOS 命令下可以通過PING主機名獲得另外一臺電腦的IP地址,實際上就是通過 NETBIOS進行的。在Windows操作系統中,默認情況下在安裝TCP/IP協議後會自動安裝NetBIOS。查看方法如下:本地連接屬性的中“高級TCP/IP設置”視窗中選擇“WINS”選項卡,在“NetBIOS設置”區域中就可以設置相應的NetBIOS,如圖1:   圖1 WINS下的NetBIOS設置 Ping主機名的第一個數據包就是NBNS(NetBIOS Name Server),協議包,它是 TCP/IP 上的 NetBIOS (NetBT) 協議族的一部分,它在基於 NetBIOS…

View More 基於W5500的NetBIOS應用實例

智能家居自動化(Android+Ethernet Internet+Arduino)

家居自動化越來越受歡迎,吸引人之餘也讓大家買得起了。網絡上提供了很多可以實現的想法,這都是之前未曾見的。在智能手機上展示給你的朋友:你可以離公寓幾公里之外開關公寓裡的燈,同時可以通過一個攝像頭來控制開門。 Cool! 步驟1:材料 帶有安卓+以太網互聯網+的Arduino的智能家居自動化 •智能手機(Android 2.3的系統)•線路以太網+路由器(我用的是TP-LINK(TL-WR740N)•Arduino的Mega2560或Arduino的烏諾+ W5100插板(以太網)•LED IP(可選) 步驟2:APP倒相器(一個完全在線開發的Android的編程環境)(應用程序通過網絡控制的Arduino) 首先,你需要創建一個應用程序的Android,而後我使用了一個應用逆變器2鏈接:http://ai2.appinventor.mit.edu/ 參考:youtube(教程:AppEthernet – App inventor 2 / Channel: Android e Arduino)如果你需要變為英文,下載.aia到我的工程中(因為我用的是葡萄牙語)Project.aia在Andoid環境下,下載安裝應用程序:SmartHouseApp.apk 步驟3:下載例程到Arduin Mega – 代碼鏈接下載 你需要更改: byte ip[]…

View More 智能家居自動化(Android+Ethernet Internet+Arduino)