首頁 > 評(píng)測(cè) > 基于.net平臺(tái)的Wi-Fi開發(fā)板——netduino3 Wi-Fi評(píng)測(cè)
基于.net平臺(tái)的Wi-Fi開發(fā)板——netduino3 Wi-Fi評(píng)測(cè)
- [導(dǎo)讀]
- C#工程師的福音來了:Netduino 3 Wi-Fi是netduino的第三代產(chǎn)品,硬件開源。Netduino 3 Wi-Fi開發(fā)板使用STM32F427VI作為主控,同時(shí)使用TI CC3100作為網(wǎng)絡(luò)接口,提供網(wǎng)絡(luò)訪問能力。
上面的代碼很簡(jiǎn)單,和使用其它編程工具如MDK相比較而言,可以看出邏輯基本是一樣的,設(shè)定一個(gè)GPIO端口,然后反復(fù)寫入0和1,實(shí)現(xiàn)LED燈的閃爍。
現(xiàn)在來將代碼寫入到netduino 3 Wi-Fi開發(fā)板,看它會(huì)不會(huì)動(dòng)。先設(shè)置工程的屬性,使得可以正確將代碼下載到開發(fā)板。打開工程文件的屬性對(duì)話框,作如下設(shè)置

圖14:配置工程文件
如果設(shè)置無誤,就可以開始下載代碼到開發(fā)板了。點(diǎn)擊IDE工具欄上的Start按鈕,就會(huì)編譯代碼并將它下載到開發(fā)板,稍微等幾秒后,應(yīng)該可以看到開發(fā)板上的LED燈開始了。
作為一款Wi-Fi開發(fā)板,怎能少得了網(wǎng)絡(luò)功能的體驗(yàn)?zāi)?接下來,咱們體驗(yàn)一下網(wǎng)絡(luò)應(yīng)用,建立一個(gè)小小的Web服務(wù)器,然后通過網(wǎng)絡(luò)來控制板載的LED燈的亮和滅。仍然按照前面介紹的方面,建立一個(gè)新的工程WebServer,設(shè)定相關(guān)的參數(shù)。在Program.cs文件中添加如下代碼
public class Program
{
public static void Main()
{
// write your code here
OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);
int port = 80;
Thread.Sleep(8000);
Microsoft.SPOT.Net.NetworkInformation.NetworkInterface
networkInterface =
Microsoft.SPOT.Net.NetworkInformation.NetworkInterface.
GetAllNetworkInterfaces()[0];
Debug.Print("my ip address: " + networkInterface.IPAddress.ToString());
Socket listenerSocket = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
IPEndPoint listenerEndPoint = new IPEndPoint(IPAddress.Any, port);
Debug.Print("setting up socket");
listenerSocket.Bind(listenerEndPoint);
listenerSocket.Listen(1);
Debug.Print("listening");
while (true)
{
Debug.Print(".");
Socket clientSocket = listenerSocket.Accept();
bool dataReady = clientSocket.Poll(5000000, SelectMode.SelectRead);
if (dataReady && clientSocket.Available > 0)
{
byte[] buffer = new byte[clientSocket.Available];
int bytesRead = clientSocket.Receive(buffer);
string request =
new string(System.Text.Encoding.UTF8.GetChars(buffer));
Debug.Print(request);
if (request.IndexOf("ON") >= 0)
{
led.Write(true);
}
else if (request.IndexOf("OFF") >= 0)
{
led.Write(false);
}
string statusText = "LED is " + (led.Read() ? "ON" : "OFF") + ".";
string response =
"HTTP/1.1 200 OK\r\n" +
"Content-Type: text/html; charset=utf-8\r\n\r\n" +
"" +
"" + statusText + "";
clientSocket.Send(System.Text.Encoding.UTF8.GetBytes(response));
}
clientSocket.Close();
}
}
}
-
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開發(fā)
預(yù)算:¥1100001天前