基於W5500的NetBIOS應用實例

已刊登在《無線電》2月刊

一實例背景

最近一個做智能家居的朋友面臨這樣的一個煩惱,他想讓用戶通過智能手機在家裡方便地控製家居設備,又想讓用戶免除下載安裝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 ,如圖

WIZnetHK 發表在 痞客邦 留言(0) 人氣()

[無線電易讀版]基於STM32和W5500的UPnP自動端口映射功能實現

文章開始之前讓我們設想下面的幾個情形:我們在辦公室內就能訪問到生產車間的網絡攝像機,而無需到監控室查看生產情況;在下班之前,或在回去的路上,就可以先打開家裡的空調器和廚房設備,等進入家門,立刻就是一個溫度宜人的環境――廚房裡的飯也做好了;我們想在電視機上回味一下幾天前在景區拍的照片,把相機或者DV 聯網就可以了,無需再去拷貝。工作生活都如此方便,將是一個很愜意的事情。

實現這些場景的網絡設備都要基於一種叫端口映射的網絡技術。端口映射就是路由器將外網某一個端口與內網中某個設備的IP 地址和端口號建立起一一對應關係。內網主動訪問外網時,路由器主動建立了映射關係,內外網間就可以通信。但是外網要主動訪問內網是不可行的,因為不知道內網的設備IP 和端口,只能和路由器外網通信。路由器可以進行手動配置端口映射,但是便攜式設備經常移動,內網的IP 地址也是不是固定的,每次使用都要手動配置路由器顯然是個麻煩的事情。本文就為你講解如何使用UPnP 協議實現網絡設備自動配置路由器進行端口映射。

一、UPnP 協議簡介

UPnP Universal Plug and Play ,即插即用)是各種各樣的智能設備、無線設備和個人電腦等實現遍布全球的對等網絡連接(P2P )的結構。使用UPnP達到的效果是任何設備一旦連接上網絡,所有在網絡上的設備馬上就能知道有新設備加入,這些設備彼此之間能互相通信,更能直接使用或者控制它,一切都不需要人工設置。

1.1 UPnP 結構

服務、設備和控制點是UPnP 網絡的基本組件,如圖

 圖片1

WIZnetHK 發表在 痞客邦 留言(0) 人氣()

基於W5500的嵌入式SNMP代理端實現

一 實驗背景

最近一個做焊接設備的朋友想在焊機上添加監控的新功能,實時獲取焊機的溫度、功耗等參數,還可簡單控制,實現對集群焊接設備的網絡化管理。而這個朋友不想在開發管理系統上花太多精力,想找一個開源的管理軟件來實現他的需求。這讓我想到了簡單郵件管理協議SNMP,它生來就是為搞網絡管理服務的。能廣泛兼容各網絡設備,一經推出就得到了廣泛的應用和支持,幾乎所有的網絡設備生產廠家都實現了對SNMP的支持,大多數網絡管理系統和平台也都是基於SNMP的。事實上,目前SNMP已成為網絡管理領域中的工業標準,我國國家廣電總局就要求通信領域的標準網絡設備都必須支持SNMP協議。SNMP代理端實際佔用系統資源少,在單片機上運行是沒有問題的。於是我想到用手頭的WIZnet-W5500評估板實現了SNMP代理端,給他提供一個參考。

二 SNMP基礎普及

 

在實現SNMP代理端之前,我們先了解一下SNMP的基本知識。管理系統中就要有管理者和被管​​理者,網管協議定義它為管理站和代理端,它們通過管理信息庫MIB進行接口統一,實現數據的通信。

MIB可以認為是一個被管理對象的集合,每個對象規定了能夠被管理進程查詢和設置的信息,同時都有自己的名字我們稱之為對象標識符,簡稱OID,它的命名方法跟DNS樹形結構命名類似,通過OID就能知道這個設備所屬的領域和廠家,如MIB中有一個節點{1.3.6.1.4.1},即enterprises,代表企業,它以下的節點都為企業型的。如IBM為{1.3.6.1.4.1.2},Cisco為{1.3.6.1.4.1.9}等。任何一個公司、學校只要用電子郵件發往iana-mib@isi.edu進行申請即可獲得一個結點名。這樣就可以定義自己的產品的OID,使它能用SNMP進行管理。

為了操作管理數據庫MIB,如圖1所示:SNMP規定了5種協議SNMP報文,用來在管理進程和代理之間的交換。1 get-request;2 get-next-request;3 set-request;4 get-response;5trap。前面的3種操作是由管理進程向代理進程發出的get/set操作,雙方都使用UDP161端口。第4個是對前三種操作的回應,用UDP161端口,第5個代理進程主動發出的報文,通知管理進程有某些事情發生,使用UDP162端口。

圖1五中報文1 SNMP5種報文操作

圖2是封裝成UDP數據報的5種操作的SNMP報文格式。可見一個SNMP報文共有三個部分組成,即公共SNMP首部、get/set首部或trap首部、變量綁定。

WIZnetHK 發表在 痞客邦 留言(0) 人氣()

WizFi250 Firmware Upgrade 
https://www.youtube.com/watch?v=fpDx31iNDig

How to Upgrade Firmware

Serial Line-APP+DCT

 

  • 1. Download WIZSmartScript from WIZnet homepage and install it
  • 2. Run WizFi250 in Boot Mode. (refer to boot pin in the PIN Description)
  • 3. Run WIZSmartScript and fill in options(RED) as below. (COM Port should match yours)

WIZnetHK 發表在 痞客邦 留言(0) 人氣()

WizFi250快速入門指南

WizFi250 Quick Start Guide (Youtube Link)
https://www.youtube.com/watch?v=ZNrBz-HZsUw


 

  • Overview

    WizFi250 offers a quick, easy, and cost-effective way for device and appliance manufacturers to add WiFi capabilities to their products. WizFi250 provides UART and SPI interfaces which enable connections to any embedded design utilizing an 8/16/32-bit microcontroller via simple AT commands. WizFi250 is an ideal solution for organizations with limited or no WiFi or RF expertise, as it not only reduces RF design time but also removes the burden of testing and certification, allowing customers; allowing customers to focus on their core application, product, or expertise. WizFi250 is compliant with 802.11b/g/n. 

WIZnetHK 發表在 痞客邦 留言(0) 人氣()

WIZ550WEB AT Command Set

WIZ550WEB AT Command (YouTube Link)
https://www.youtube.com/watch?v=7rEtOvRaCmw


This section provides a list of WIZ550WEB AT commands and their functions. Users can input commands and parameters through USART line. Every command starts with “AT”. Any other initial character will cause an error in return. Commands and parameters are all ASCII characters, i.e. when you input 'AT+NSTAT', you should input ASCII characters 'A', 'T', '+', 'N', 'S', 'T', 'A', 'T' and 'Enter Key' which is CR, LF (0x0d, 0x0A).

All commands should be terminated with CR(0x0D), LF(0x0A)

Some parameters are mandatory and others are optional. Parameters must be entered in the order of format column given by the command tables. Although the optional parameter is not used, the comma delimiters ',' must still be included in the command. In most cases, valid commands return the character [S] and invalid inputs return [F]. The possible responses sent from WIZ550WEB to the user are described as Responses. Below are examples of user input. As you can see, WIZ550WEB return “\r\n” back instead of “\r”, which means user (host system) always handle '\r\n' as the only delimiter.

Input by User AT\r\n (0x61 0x74 0x0d 0x0a)
Output from WIZ550WEB [S]\r\n (0x5b 0x53 0x5d 0x0d 0x0a)

WIZnetHK 發表在 痞客邦 留言(0) 人氣()

Basic Webpages Demo

WIZ550WEB Web Server(YouTube Link)
https://www.youtube.com/watch?v=6aOf8vgB-gc

The Screenshots of Basic Demo Web Page were captured from Google Chrome Browser version 37

Provided basic demo web page of WIZ550web is in tab style of one HTML page (index.html). The configuration and purpose of each tabs are as below.

 

WIZnetHK 發表在 痞客邦 留言(0) 人氣()

WIZ550WEB Firmware Upgrade

WIZ550WEB Firmware Upgrade(YouTube Link)
https://www.youtube.com/watch?v=7YwaZ7gw0Fg&feature=youtu.be


How to program WIZ550web code flash memory

1. WIZ550web enter the ISP mode

Press the 'Boot' push button switch on baseboard (or BOOT pin) until turn on the board after reset or power supply

2. Run the 'Flash Loader Demonstrator' Program

Refer to Flash Loader Demonstrator

WIZnetHK 發表在 痞客邦 留言(0) 人氣()

WIZ550WEB Configuration Tool

WIZ550WEB Configuration Tool(YouTube Link)
https://www.youtube.com/watch?v=ZS8L9u9Y7yg&feature=youtu.be

Configuration Tool

Description

 


WIZnetHK 發表在 痞客邦 留言(0) 人氣()

WIZ550WEB

Introduction of WIZ550WEB(YouTube Link)

https://www.youtube.com/watch?v=D2PMqz-LIw4

WIZ550web is an embedded Web server module based on WIZnet W5500 hardwired TCP/IP chip, Users can control / monitor the 16-configurable digital I/O and 4-ADC inputs on module via web pages. WIZ550web provides base of firmware / web page examples for customize depending on the used objective.

WIZnetHK 發表在 痞客邦 留言(0) 人氣()

«123