早期推出的开发板并不具备网口,所以.NET Micro Framework很多基于网络的功能,便无从研究了,其实在物联网时代,具备网络功能才是王道。

新开发板除了具备以太网模块以外,还增加了USB Host模块,当然还增加了其它相关接口,详情请参见下图:  

由于该开发板是基于Cortex-M3内核,MF内核程序(TinyCLR)部署在片内Flash上,但是片内Flash一般容量有限,所以就没有移植TinyBooter,这样官方MFDeploy的网络配置功能便无法使用了,因此我在TinyCLR代码中增加了网络配置的代码模块,此外同步又升级了YFAccessFlash工具,以方便用户配置开发板的IP地址等相关参数。

具体配置方法如下:

单击菜单【Network Config】进入IP配置界面,如下图所示:

配置成功后,开发板会自动重启,以使新配置生效。

注意:

1、固件版本必须高于V0.9.05 才支持IP配置

http://www.sky-walker.com.cn/MFRelease/firmware/mfv41_firmware_hy_redbull.rar

2、YFAccessFlash工具必须版本高于V2.0.2.1才支持IP配置

http://www.sky-walker.com.cn/MFRelease/Tools/YFAccessFlash.rar

3、必须用YFAccessFlash部署工具中的ER_Config,否则配置IP时,开发板会出现异常。

请参考:http://www.sky-walker.com.cn/MFRelease/document/MFManual_V2.0.pdf

该手册中,有如何部署ER_Config的介绍

开发板运行后,我们用PC机,进行ping测试,效果如下:

网络通了,我们进行简单的编程,来做一个简单并且比较实用的Web Server。

我们直接在官方SocketServer进行修改,其修改后的代码如下:

private void Proce***equest()

{

const Int32 c_microsecondsPerSecond = 1000000;

// 'using' ensures that the client's socket gets closed.

using (m_clientSocket)

{

// Wait for the client request to start to arrive.

Byte[] buffer = new Byte[1024];

if (m_clientSocket.Poll(5 * c_microsecondsPerSecond,

SelectMode.SelectRead))

{

// If 0 bytes in buffer, then the connection has been closed,

// reset, or terminated.

if (m_clientSocket.Available == 0)  return;

// Read the first chunk of the request (we don't actually do

// anything with it).

Int32 bytesRead = m_clientSocket.Receive(buffer,

m_clientSocket.Available, SocketFlags.None);

// Return a static HTML document to the client.

String scrHtml = Resource1.GetString(Resource1.StringResources.webpage);

string[] scrHtml_lines = scrHtml.Split('\r');

string objHtml = "",strTemp="";

ADC.Start(0); //ADC0

ADC.Read(14, out MySocketServer.AD8, 2, 0);

ADC.Stop(0);

MySocketServer.AD7 = MySocketServer.AD8*490/4096;

MySocketServer.AD1 += 1;

if (MySocketServer.AD1 > 10) MySocketServer.AD1 = 0;

foreach (string line in scrHtml_lines)

{

if (line.Length > 0)

{

strTemp = line;

if (line.IndexOf("AD8%") > 0) strTemp = StringReplace(line, "AD8%", MySocketServer.AD8.ToString());

if (line.IndexOf("AD7%") > 0) strTemp = StringReplace(line, "AD7%", MySocketServer.AD7.ToString());

if (line.IndexOf("AD1%") > 0) strTemp = StringReplace(line, "AD1%", MySocketServer.AD1.ToString());

objHtml += strTemp + "\r";

}

}

m_clientSocket.Send(Encoding.UTF8.GetBytes(objHtml));

}

}

}

在IE浏览器中输入:http://192.168.0.100/ 则显示如下界面:

选择 开发板上的模拟量输入按钮,上图的进度条会动态变化。

下篇文章,我们将介绍Http Server相关的内容。

------------------------------------------------------------------------------------

源码/文档:http://www.sky-walker.com.cn/MFRelease/Sample/YFSocketServer.rar

MF论坛:http://space.cnblogs.com/group/MFSoft/

MF开发板:http://item.taobao.com/item.htm?id=7117999726

网络开发板:http://item.taobao.com/item.htm?id=10919470266

QQ群:127465602(已满) 146524112

转载于:https://blog.51cto.com/yfsoft/602145

【.Net MF网络开发板研究-01】IP地址设定及简单web演示相关推荐

  1. 【.Net MF网络开发板研究-04】Socket编程之服务端

    前几篇文章介绍了Http相关的应用,其实从技术角度而言,应该先介绍Socket编程,然后再介绍Http,毕竟Http是用Socket相关函数编程实现的. .NET Micro Framework的So ...

  2. 【.Net MF网络开发板研究-03】获取雅虎天气(HttpClient示例)

    在上篇文章介绍了Http Server,通过PC上的IE浏览器(相当于Http client)来访问开发板上的Http服务.这次我们在网络开发板上实现Http Client,获取雅虎网站的天气信息,并 ...

  3. 开发板linux设置ip,【书本节选】AC501-SoC 开发板出厂系统设置IP地址方法

    本文节选自小梅哥2019年出版的新书:<基于SoC FPGA的嵌入式设计和开发教程> 1.1.1 设置IP地址 Linux系统对于以太网传输有非常完善的支持,AC501-SoC开发板上设计 ...

  4. rv1126开发板设置修改ip地址

    临时设置ip地址(重启开发板失效) ifconfig eth0 192.168.0.100 netmask 255.255.255.0 route add default gw 192.168.0.1 ...

  5. 如何设置海思开发板的静态IP

    前言 每个类型的开发板设置静态IP(即每次系统boot起来后,ip自动设成想要的IP,不需要每次手动敲入命令ifconf eth0 xxx)的方式不太一样.本文主要是讲海思开发板的设置. 方法 板子的 ...

  6. 正点原子IMX6ULL开发板设置静态IP

    正点原子IMX6ULL开发板出厂时每次都会自动获取IP,需要启动时使用固定的ip,可以采用下述方法设置静态ip. 1.vi /etc/rc.local 2.在下面位置添加以下内容,ip需要根据自己的路 ...

  7. 网络运维基础之IP地址学习

    网络运维基础之IP地址学习 一.IP地址介绍 二.IP地址分类 三.IP地址的私有地址 三.IP地址的子网掩码 1.IP地址格式 2.子网掩码计算 一.IP地址介绍 IP地址是IP协议提供的一种统一的 ...

  8. kali arp-scan网络扫描工具 扫描局域网ip地址

    文章目录 1 arp-scan 简介 2 安装 2.1 centos 3 案例使用 3.1 发现本地网络上的所有主机 3.2 指定 IP 地址列表 1 arp-scan 简介 arp-scan 是一款 ...

  9. 网络DNS域名转换成IP地址

    网络DNS域名转换成IP地址(完整代码,测试通过) using System; using System.Collections.Generic; using System.Linq; using S ...

最新文章

  1. 下载了python在哪里写代码-通过python下载FTP上的文件夹的实现代码
  2. 无法创建文件系统以及无法创建PV时怎么办?
  3. artDialog组件应用学习(五)
  4. Waveform Audio 驱动(Wavedev2)之:WAV 驱动解析
  5. ceph集群报 Monitor clock skew detected 错误问题排查,解决
  6. 客户端配置_交换机作为STelnet客户端登录其他设备配置示例
  7. java jqgrid json格式_jqGrid 数据之 Json
  8. Linux命令速查手册
  9. 数据分析从入门到进阶,35本包邮送到家
  10. SQL2008卸载。
  11. 黑马程序员---visual studio 快捷键大全
  12. Java解压Zip 压缩包
  13. IDEA菜单栏不见了怎么办
  14. 纽约州立大学石溪分校计算机专业排名,纽约州立大学石溪分校排名怎么样?
  15. PHP匿名在线聊天室系统源码
  16. 图片如何转换成PDF格式?教你一招快速转换
  17. 操作系统之进程管理习题
  18. 美国加州华裔人口最多的32个城市排名(根据最新统计数字计算)
  19. 设置计算机访问权限密码忘了怎么办,电脑上设置的密码忘记了怎么办
  20. 联想E480升级硬盘到固态 加内存条

热门文章

  1. spring中的Aware
  2. DispatcherServlet的启动和初始化
  3. 判断数组中的重复元素
  4. LeetCode Merge Intervals
  5. Python Redis
  6. 使用 window.alert()
  7. 源码安装vlc播放器
  8. [转载]C#写的NoSQL开源项目/系统(系列)
  9. WIN8配置IIS8.0+PHP+Mysql+Zend
  10. Dz0724补丁补掉的一个xss+补掉的另外一个xss