充电桩通过WiFi实现付费和管理方案

充电桩通过WiFi实现付费和管理方案

博客, 能源
随着电动车产业的快速发展,需要与之配套的充电桩产业也趋于批量化、标准化。从全国范围内来看,北京、上海、广州、深圳等一线城市对电动车的推广力度非常大,因此对于充电桩这一基础设施建设的投入也排在前列。从长远国家战略层面来看,在不久的将来,电动车产业必将跟传统能源汽车产业平起平坐。 根据实际应用场所的不同,充电桩的充电及付费管理系统的方案各异。应用最多的场所是在充电站内充电,其实现方案是每台充电桩内嵌以太网芯片,例如W5500、W5100等,然后通过以太网接入局域网管理中心,用户通过RFID刷卡的方式进行付费等操作。 目前,行业内出现了一种通过WiFi来进行付费和管理的方案。这种方案的应用场所主要是在高速以及充电站建设不便的区域。其大概实现方式如下图a所示。  图a 充电桩WiFi付费和管理系统 充电桩安装在距离公路约300m左右的距离,通过地埋将电缆插座引到公路边上,充电桩内安装WIZnet的C2W模块CAN转WiFi的C2W模块,车内也装有带C2W模块的设备。车内的设备搜索到并接入充电桩的AP热点,登陆后进行付费和充电操作。这种方案的改进型可以考虑将车内的WiFi设备用用户的手机代替,通过登陆APP软件来实现更多的功能应用。 总之,随着电动车产业的大跨步发展,充电桩相关方案也会迅速充斥市场,但人性化、便捷、安全、稳定始终是产品发展的主流,大家也都在关注这一市场的需求,我们拭目以待吧!
Read More
W5100的逆袭

W5100的逆袭

博客
2006年,WIZnet推出嵌入式以太网接入方案——基于全硬件TCP/IP协议栈技术的以太网芯片W5100,从此这款堪称经典的芯片在之后近十年的时间里一直稳居全硬件协议栈芯片销量之首,在市场上广受赞誉,引得一大批WIZnet粉丝驻足,让全硬件TCP/IP协议技术得到普遍认可。 W5100的最大贡献在于,她让工程师们了解到原来TCP/IP协议栈可以如此轻松的搞定,而且至今爱不释手。无论产品如何升级换代,W5100长年保持开机无故障运行,这也是为什么W5100为什么拥有众多工业及军工客户,W5100的稳定性和安全性无可厚非。W5100取得的成功,还在于它采用了SPI和8位总线两种接口,这样使得产品设计更具灵活性,并且其高吞吐速率也被客户啧啧称赞。另外,W5100还首次将全硬件TCP/IP协议栈、MAC、PHY融入一颗单芯片,这在产品品质不断提高的今天也是鲜有的,并且对于产品设计和集成度提升方面跨出了一大步,可见W5100用事实证明了自己在嵌入式以太网接入方案中不可撼动的地位。
Read More
Arduino入门:制作你自己的环境监控系统

Arduino入门:制作你自己的环境监控系统

博客
Udemy是一家在线学习教育网站,有800多万学生在上面学习从编程到瑜伽甚至是摄影等等内容。32000多个教程都是由专业导师教授。可以根据你自己的时间和进度来安排进程。 在这里给大家推荐一个Arduino入门的网络教程。 对于菜鸟级创客的完美入门:学习用一个小装置将你的环境数据发送到一个网页记录服务器上。 指导:Peter Dalmaris  课程描述 此课程专为菜鸟级创客设计。我会帮你用Arduino的原型板来做基本电路的创建,学完课程,你就能自己制作一个联网的家居环境监控器! 唯一的首要条件是,要对电压,电流以及电阻有初步的概念认识,还有在电脑上下载安装软件的能力。如果有基础的编程能力那就太加分了,当然这不是必须。 在这期间,你学习有关编程,传感器以及通讯的课程。 课程被分为三个部分: 第一部分是介绍,可以帮你创建自己的第一个电路,开启你的更多兴趣。 第二部分包含Arduino的入门,关注与集成开发环境及脚本语言。 第三部分关于JING(JING不是首字母缩写!)是环境监控系统,你可以把他们逐行,逐块的放在一起。 如果你要学习如何制造声响,这个教程很适合你! 材料: 为了更好的利用此教程,你将需要准备(所有这些都可以从Ebay上轻松买到): 1)一个Arduino(我建议是一个正版的Arduino Uno) 2)一个光敏电阻 3)一个DHT22 温湿度传感器 4)一个BMP085气压传感器扩展板 5)一个16*2的LCD屏,Hitachi HD44780驱动(或者与其兼容的,都很常见) 6)一个电位计 7)各种大小的电阻 8)一个小的面包板 9)一些面包板用连接线 要求有什么呢? 电子学基础,比如电压,电流,电阻等 我将从这个课程中得到什么? 超过29节课及5小时内容! 基于Arduino板的简单电路制作 从传感器获取数据并将其显示到LCD屏上 上传传感器数据到一个免费的云记录服务平台上,使其在仪表盘上可视 理解微控制器编程基础 目标听众是? 有现成器件或有更好电子理解的创客 Arduino创客初学者 课程目录简介,请参看原文链接:https://www.udemy.com/beginning-arduino/
Read More
[热门应用]开放媒体控制器(W5100)

[热门应用]开放媒体控制器(W5100)

博客
项目描述 开放媒体控制器 开放媒体控制器(OMC)是专业开源运算平台。提供基于硬件TCP/IP IC器件W5100的网络连接。 目前开放媒体控制器有两个标准版本,一个是较小空间的基本即插即用模型,只有一个DMX-plug,另一个高级版本外形更大,带有一个显示器,两个DMX-plug还有用于可选插板的定制背面板。两个模型都具备很高的性能,带有Micro SD,WLAN模块socket,蓝牙模块socket,供电源,实时时钟以及外部功能按钮。 开放媒体控制器可用于开发交互式的解决方案,让产品具备更高的安全性,可将项目在专业及安全的环境下应用于生活中。OMC具备CE认证,安全外壳,与其他可比产品比较,具备更为全面内置的特点,更适用于客户需求,已有公司开发并利用到日常商务中。 详细内容: 产品URL: https://openmediacontroller.com/specs 电路图及驱动 URL: https://openmediacontroller.com/files   更多信息,请登录WIZnet官网 www.iwiznet.cn 或 微信公众平台
Read More
基于W5500的嵌入式TFTP服务器实现

基于W5500的嵌入式TFTP服务器实现

博客
一 实验背景 之前一段时间专门研究了固件升级的方法,主要是通过网页或者上位机软件实现远程固件升级。最近正好在研究TFTP简单文件传输协议,于是我就尝试给设备添加联网功能,通过TFTP实现网络更新固件,而后发现这种升级方式所占设备内存小,可以穿越多数防火墙,并且不需要去设备现场,在办公室通过网络就能将成千上万用户或设备的固件升级,简单高效。 其实现在很多设备都已经具有网络固件升级功能,例如我们经常用到的电视机顶盒、家用无线路由器等设备。很多设备升级内核都是通过TFTP协议上传的,因为TFTP实现非常的简单,比如自己家里用的路由器就可以通过TFTP协议升级。 二 TFTP基础普及 TFTP是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,基于UDP协议实现,端口号为69。通过TFTP协议,可以实现网络中两台计算机之间的文件上传与下载,如文件备份,为无盘工作站下载引导文件,下载初始化代码到打印机、集线器和路由器。当然,还有就是我们本次用到的对设备进行固件升级。 TFTP协议是专为小文件传输设计的,提供不复杂、开销不大的文件传输服务,缺乏标准 FTP 协议的许多特征。TFTP 只能从远程服务器上读、写文件(邮件)或者读、写文件传送给远程服务器。它不能列出目录并且当前不提供用户认证。当前 TFTP 有 3 种传输模式: netASCII 模式即 8 位 网络ASCII码 ;octet即八位组模式;邮件模式,这种模式现在已经废止不用了。主机双方也可以自己定义其它模式。 TFTP基于UDP协议实现,而UDP使用IP。因此一个TFTP包中会有如图1所示的以下几段:本地媒介头,IP头,UDP数据报头,TFTP数据报。TFTP在IP头中不指定任何数据,但是它使用UDP中的源和目标端口以及包长度域。由TFTP使用的包标记(TID)在这里被用做端口,因此TID必须介于0到65,535之间。图中显示了5种TFTP报文格式,每个报文格式TFTP报文的头两个字节表示操作码。之后对于不同的报文格式存在差异。 图1 TFTP报文格式 下面分别对每个报文包进行分析: RRQ和WRQ包的报文格式如表1所示。 RRQ/WRQ包 Opcode Filename  0 Mode 0 2 bytes string 1 byte string 1 byte 表1 RRQ和WRQ包的报文格式 RRQ(读请求)报文由客户使用,用来建立一条从服务器读数据的连接。WRQ(写请求)报文由客户使用,用来建立一条把数据写到服务器的连接,它的格式与RRQ相同,RRQ包的操作码为1,WRQ包的操作码为2。Filename(文件名字段)说明客户要读或写的位于服务器上的文件,文件名是NETASCII码字符,以0结束。Mode(模式字段)是一个ASCII码串netascii或octet(大小写可任意组合),同样以0字节结束。netascii表示数据是以成行的ASCII码字符组成,以两个字节—回车字符后跟换行字符(称为CR / LF)作为行结束符。 OCTET模式用于传输文件,这种文件在源机上以8位格式存储。在使用MAIL模式时,用户可以在FILE处使用接收人地址,这个地址可以是用户名或用户名@主机的形式,如果是后一种形式,允许主机使用电子邮件传输此文件。如果使用MAIL类型,包必须以WRQ开始,否则它与NETASCII完全一样。 DATA包的报文格式如表2所示。 DATA包 Opcode Block  0 2 bytes 2 bytes Data 表2 DATA包的报文格式 DATA数据包的opcode为3,它还包括有一个数据块号和数据。数据块号域从1开始编码,每个数据块加1,这样接收方可以确定这个包是新数据还是已经接收过的数据。数据域从0字节到512字节。如果数据域是512字节则它不是最后一个包,如果小于512字节则表示这个包是最后一个包。如果最后一个包正好为512字节,则再发送一个0字节的包用于表示结束。 ACK包的报文格式如表3所示。 ACK包 Opcode Block 2 bytes 2 bytes 表3 ACK包的报文格式 ACK包用于确认数据包已收到。ACK包的操作码为4。当接收方收到一个数据包后,会向发送方发送一个ACK包;而发送方则会在收到一个ACK包后继续发送下一个包。若发送完未能收到ACK包,则会使用超时机制,重新发送刚才的数据包。除了ACK和用于中断的包外,其它的包均需得到确认。发出新的数据包等于确认上次的包。WRQ和DATA包由ACK或ERROR数据包确认,而RRQ数据包由DATA或ERROR数据包确认。 ERROR包的报文格式如表4所示。  ERROR包 Opcode ErrorCode ErrMsg 0 2 bytes 2 bytes string 1 byte 表4 ERROR包的报文格式 一个ERROR包的操作码是5。此包可以被其它任何类型的包确认,错误码指定错误的类型。它用于服务器不能处理读请求或写请求的情况。在文件传输过程中的读和写差错也会导致传送这种报文,接着停止传输。差错编号字段给出一个数字的差错码,跟着是一个ASCII表示的差错报文字段,可能包含额外的操作系统说明的信息。错误的值和错误的意义如下: 0 未定义,请参阅错误信息 1.文件未找到 2.访问非法 3.磁盘满或超过分配的配额 4.非法的TFTP操作 5.未知的传输ID 6.文件已经存在 7.没有类似的用户 三 TFTP嵌入式系统实现方法 TFTP 协议执行过程中,任何一个传输进程都以WRQ(请求写入远程系统)或RRQ(请求读取远程系统)开始,收到一个确定应答并建立一个连接。创建连接时,通信双方随机选择一个TID,因为是随机选择的,因此两次选择同一个ID的可能性就很小了。每个包包括两个TID,发送者ID和接收者ID。这些ID用于在UDP通信时选择端口,在第一次请求的时候它会将请求发到TID 69,也就是服务器的69端口上。应答时,服务器使用一个选择好的TID作为源TID,并用上一个包中的TID作为目的ID进行发送。这两个被选择的ID在随后的通信中会被一直使用。 连接成功以后文件就以固定的 512 字节块的长度进行传送。每个数据包都包含一个数据块,块号从1开始而且是连续的。因此对于写入请求的确定是一个比较特殊的情况,因此它的包的包号是0。在发送下一个包之前,数据块必须得到确认响应包的确认。如果一个数据包的大小小于512字节,则表明传输结束。如果包在网络中丢失,接收端就会在超时以后重新传输最后一个未被确认的数据包(可能是数据也可能是确认响应),这就导致丢失包的发送者重新发送丢失包。通信的双方都是数据的发出者与接收者,一方传输数据接收应答,另一方发出应答接收数据。发送者需要保留一个包在手头用于重新发送,由 LOCK 确认响应保证所有过去的包都已经收到。大部分的错误会导致连接中断,错误由一个错误的数据包引起。这个包不会被确认,也不会被重新发送,因此另一方无法接收到。如果错误包丢失,则使用超时机制。错误主要是由下面三种情况引起的:不能满足请求,收到的数据包内容错误(不能由延时或重发解释),对需要资源的访问丢失(如硬盘满)。TFTP只在一种情况下不中断连接,这种情况是源端口不正确,在这种情况下,指示错误的包会被发送到源机。这个协议限制很多,这都是为了实现起来比较方便而进行的。 TFTP的工作过程很像停止等待协议,发送完一个文件块后就等待对方的确认,确认时应指明所确认的块号。发送完数据后在规定时间内收不到确认就要重发数据PDU(协议数据单元),发送确认PDU的一方若在规定时间内收不到下一个文件块,也要重发确认PDU。这样保证文件的传送不致因某一个数据报的丢失而告失败。通过下边的图片来了解TFTP协议的通信流程: 图2 TFTP通信流程 四  测试TFTP客户端 了解了TFTP协议之后,下面就让我们通过WIZnet W5500EVB做一个嵌入式TFTP客户端的简单实验。 1.实验目的:建立一个TFTP客户端 2.硬件环境:板载LED灯   图3  W5500EVB实物板 3.开发工具: MDK5(版本不一样,需要稍加改动) 4.测试软件:串口调试助手, TFTP32(可从网络下载) 下面以W5500为TFTP客户端,讲述如何测试实现TFTP通信过程。 1. 在网上下载Tftp32软件,不需安装直接点击Tftpd32软件就可以应用。 2.配置TFTP服务器信息。如图3所示,Setting——>TFTP。接着在Base Directory选项设置需要下载文件路径,本文测试代码bin文件路径为E:\工作资料\TFTP\LED\bin。一定注意需下载的文件路径要与你的文件位置保持一致,否则服务器找不到文件而提示错误信息。 图4 TFTP服务器设置 3.接着用网线把PC和W5500EVB连接,打开串口软件,选择正确的COM口并打开串口,以获取调试信息。 4.下载编译好的TFTP代码并复位W5500EVB,在串口输入您需要下载APP文件的名字发送并点击回车,可以看到如图4所示文件下载过程。发送文件名为app.bin,接着就是TFTP服务器与客户端之间文件传输过程,如果传输成功会提示TFTP…
Read More