当前位置: 首页 > news >正文

全屏企业网站一个网站的建设流程有哪些

全屏企业网站,一个网站的建设流程有哪些,万网网站域名,wordpress简体切换文章目录 1. 前言2. 相关网络信息2.1 简介2.2 指令构成2.3 优点2.4 应用 3. WIZnet以太网芯片4. Modbus TCP通信示例讲解以及使用4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 烧录验证 5. 注意事项6. 相关链接 1. 前言 在这个智能硬件和物联网时代#xff0c;Micr… 文章目录 1. 前言2. 相关网络信息2.1 简介2.2 指令构成2.3 优点2.4 应用 3. WIZnet以太网芯片4. Modbus TCP通信示例讲解以及使用4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 烧录验证 5. 注意事项6. 相关链接 1. 前言 在这个智能硬件和物联网时代MicroPython和树莓派PICO正以其独特的优势引领着嵌入式开发的新潮流。MicroPython作为一种精简优化的Python 3语言为微控制器和嵌入式设备提供了高效开发和简易调试的 当我们结合WIZnet W5100S/W5500网络模块MicroPython和树莓派PICO的开发潜力被进一步放大。这两款模块都内置了TCP/IP协议栈使得在嵌入式设备上实现网络连接变得更加容易。无论是进行数据传输、远程控制还是构建物联网应用它们都提供了强大的支持。 本章我们将以WIZnet W5100S为例以MicroPython的开发方式进行Modbus TCP通信示例 2. 相关网络信息 2.1 简介 Modbus TCP是一种基于TCP/IP协议的应用层协议它是Modbus协议的扩展。Modbus协议是一种串行通信协议最初由Modicon公司在1979年开发用于工业自动化控制系统中设备之间的通信。Modbus TCP则是将Modbus协议转换为基于以太网的TCP/IP协议以支持更广泛的设备和系统集成。 2.2 指令构成 Modbus TCP的数据帧可分为两部分MBAPPDU。MBAP为报文头长度为7字节。PDU由功能码数据组成。功能码为1字节数据长度不定由具体功能决定。 根据对象的不同modbus的功能码有0x01 读线圈0x05 写单个线圈0x0F 写多个线圈0x02 读离散量输入0x04 读输入寄存器0x03 读保持寄存器0x06 写单个保持寄存器0x10 写多个保持寄存器。 2.3 优点 简单性Modbus TCP协议简单易用可以方便地与其他通信协议进行集成。可靠性Modbus TCP协议运行在TCP/IP协议上这使得它具有很高的可靠性。TCP/IP协议是互联网的基础它能够保证数据的及时、完整传输。广泛的应用场景Modbus TCP协议可以应用于各种场景包括工业自动化控制系统、能源管理、环境监测、楼宇自控等领域。开放性Modbus TCP协议是一种开放的协议这意味着它可以被任何设备或系统使用而不仅仅局限于特定的硬件或软件。实时性Modbus TCP协议能够支持实时数据通信这对于需要快速响应的应用来说非常重要。 2.4 应用 设备间的数据交换在工业自动化控制系统中Modbus TCP协议通常用于不同控制系统之间的数据交换。远程访问和控制由于Modbus TCP协议基于TCP/IP协议因此它可以通过互联网进行远程访问和控制这对于需要远程监控和管理的应用来说非常有用。集成其他通信协议由于Modbus TCP协议的开放性它可以方便地与其他通信协议进行集成这使得它可以在各种不同的系统和设备中使用。实时数据通信Modbus TCP协议能够支持实时数据通信这对于需要实时监控和控制的应用来说非常重要。例如在能源管理和环境监测等领域实时数据通信能够帮助实现更精确和及时的控制和决策。 3. WIZnet以太网芯片 WIZnet 主流硬件协议栈以太网芯片参数对比 ModelEmbedded CoreHost I/FTX/RX BufferHW SocketNetwork PerformanceW5100STCP/IPv4 MAC PHY8bit BUS, SPI16KB4Max 25MbpsW6100TCP/IPv4/IPv6, MAC PHY8bit BUS, Fast SPI32KB8Max 25MbpsW5500TCP/IPv4, MAC PHYFast SPI32KB8Max 15Mbps W5100S/W6100 支持 8bit数据总线接口网络传输速度会优于W5500。W6100 支持IPV6与W5100S 硬件兼容若已使用W5100S的用户需要支持IPv6可以Pin to Pin兼容。W5500 拥有比 W5100S更多的 Socket数量以及发送与接收缓存 相较于软件协议栈WIZnet的硬件协议栈以太网芯片有以下优点 硬件TCP/IP协议栈WIZnet的硬件协议栈芯片提供了一种硬件实现的TCP/IP协议栈这种硬件实现的协议栈比软件实现的协议栈具有更好的性能和稳定性。不需要额外的嵌入式系统软件栈和内存资源由于所有的以太网传输和接收操作都由独立的以太网控制器处理因此不需要额外的嵌入式系统软件栈和内存资源。抵抗网络环境变化和DDoS攻击与易受网络环境变化和DDoS攻击影响的软件TCP/IP协议栈相比硬件协议栈芯片能够提供更稳定的以太网性能。适用于低规格的嵌入式系统即使在低规格的嵌入式系统中使用WIZnet的硬件协议栈芯片也可以比使用软件TCP/IP协议栈的高规格系统显示出更高效的互联网应用操作性能。 4. Modbus TCP通信示例讲解以及使用 4.1 程序流程图 4.2 测试准备 软件 ThonnyModbus Poll 硬件 W5100S IO模块 RP2040 树莓派Pico开发板 或者 WIZnet W5100S-EVB-Pico开发板Micro USB 接口的数据线网线 4.3 连接方式 通过数据线连接PC的USB口当使用W5100S/W5500 IO模块连接RP2040时 RP2040 GPIO 16 ---- W5100S/W5500 MISORP2040 GPIO 17 ---- W5100S/W5500 CSRP2040 GPIO 18 ---- W5100S/W5500 SCKRP2040 GPIO 19 ---- W5100S/W5500 MOSIRP2040 GPIO 20 ---- W5100S/W5500 RST 通过网线直接连接PC网口或PC和设备都通过网线连接交换机或路由器LAN口 4.4 相关代码 我们直接打开modbus_tcp_server.py文件。 第一步可以看到在w5x00_init()函数中进行了SPI的初始化。以及将spi相关引脚和复位引脚注册到库中后续则是激活网络并使用DHCP配置网络地址信息当DHCP失败时则配置静态网络地址信息。当未配置成功时会打印出网络地址相关寄存器的信息可以帮助我们更好的排查问题。 第二步在modbus_run()函数中会打开一个TCP服务器然后等待接收到数据即Modbus 指令。 第三步对Modbus指令进行核对然后解析并作出相应的操作以及回复。 from usocket import socket from machine import Pin,SPI import network import timelocal_ip local_port 5000led Pin(25, Pin.OUT) W5x00 chip initialization.param: None returns: None def w5x00_init():global local_ipspiSPI(0,2_000_000, mosiPin(19),misoPin(16),sckPin(18))nic network.WIZNET5K(spi,Pin(17),Pin(20)) #spi,cs,reset pinnic.active(True)try:#DHCPprint(\r\nConfiguring DHCP)nic.ifconfig(dhcp)except:#None DHCPprint(\r\nDHCP fails, use static configuration)nic.ifconfig((192.168.1.20,255.255.255.0,192.168.1.1,8.8.8.8))#Set static network address information#Print network address informationprint(IP :,nic.ifconfig()[0])print(Subnet Mask:,nic.ifconfig()[1])print(Gateway :,nic.ifconfig()[2])print(DNS :,nic.ifconfig()[3],\r\n)local_ip nic.ifconfig()[0]#If there is no network connection, the register address information is printedwhile not nic.isconnected():time.sleep(1)print(nic.regs()) Modbus packet parsing.param1: receive data param2: connecting object returns: None def modbus_parsing(data,conn):senddata bytearray(128)if data[2] ! 0x00 and data[3] ! 0x00:print(protocol error)else:if data[6] 0x01:if data[7] 0x01:if int(data[8])int(data[9]) 0 and int(data[10])int(data[11])1:print(Read OK!)senddata[0] data[0]senddata[1] data[1]senddata[2] data[2]senddata[3] data[3]senddata[4] 0x00senddata[5] 0x04senddata[6] 0x01senddata[7] 0x01senddata[8] 0x01senddata[9] led.value()conn.send(senddata)else:print(address error!)elif data[7] 0x05:if int(data[8])int(data[9]) 0:if data[10] 0xFF:print(LED ON!)led.value(1)elif data[10] 0x00:print(LED OFF!)led.value(0)else:print(value error!)conn.send(data)else:print(address error!)else:print(The function code is not processed!)else:print(slave address error!) Start the Modbus TCP server.param: None returns: None def modbus_run():global local_ipglobal local_ports socket()s.bind((local_ip, local_port)) #Source IP Addresss.listen(0)print(remote ip:,local_ip,,port:,local_port)conn, addr s.accept()print(type,type(conn))print(Connected:, conn, address:, addr[0]) while True:data conn.recv(2048)if data ! NULL:modbus_parsing(data,conn)def main():print(WIZnet chip Modbus TCP example)w5x00_init()modbus_run()if __name__ __main__:main()4.5 烧录验证 要测试以太网示例必须将开发环境配置为使用Raspberry Pi Pico。 所需的开发环境 Thonny 如果你必须编译MicroPython则必须使用Linux或Unix环境。 第一步将程序复制到Thonny中然后选择环境为Raspberry Pi Pico最后点击运行。 第二步在Modbus Poll上进行连接地址为开发板的地址端口号为5000。 第三步在Modbus Poll上下发指令控制LED并读取LED灯状态。 注意因为MicroPython的print函数是启用了stdout缓冲的所以有时候并不会第一时间打印出内容。 5. 注意事项 如果采用的是WIZnet的W5500来实现本章的示例则只需烧录W5500的固件并运行示例程序即可。示例只对读取单个线圈(0x01)进行了处理并且读取长度必须为1 6. 相关链接 WIZnet官网 本章例程链接 想了解更多评论留言哦
http://wiki.neutronadmin.com/news/380379/

相关文章:

  • 自己做培训网站网页设计主页面
  • 网站做快照怎么做html论坛网站模板
  • c2c电子商务网站策划长沙网站seo哪家公司好
  • 北海 网站建设 公司模板网站建设服务商
  • oppo网站建设昆明建设银行纪念币预约网站
  • 开封建设局网站免费网站可以做淘宝客吗
  • 网站建设 甲方欠款 如何处理wordpress tag超链接
  • 深圳建设局招标网站使用dw做门户网站
  • 湖北手机版建站系统价格国内做的比较好的数据网站
  • 高品质的网站开发公汉中做网站
  • 汕头高端模板建站东莞网站优化排名公司
  • 容桂品牌网站建设中国企业招聘网
  • 门户网站制作方法深圳网站建设ejaket
  • wordpress制作小说网站模板下载wordpress 制作 文档 插件
  • 做网站不赚钱的原因问信息奥赛题怎么做 去哪个网站
  • 企业网站主页设计图片乌兰浩特建设网站
  • 网站建设案例精粹 电子书公司门户网站开发
  • 赣州律师网站建设做跨境网站
  • 什么网站可以免费做视频的软件下载六安事件最新情况
  • 哪个网站做ppt能赚钱自动外链网址
  • 给个网站谢谢微信小程序是怎么做出来的
  • 个性化推荐网站开发源码做博客的网站有哪些
  • 雄安优秀网站建设方案西安网站建设推广专家
  • vs做网站链接sql企业管理软件有哪些品牌
  • 百货店怎么做网站送货hao123主页官网
  • 包头做网站公司WordPress输出当前网址
  • 网站做cdn服务流量八桂职教网技能大赛2024
  • 中山祥云网站建设做化学题的网站
  • 可以做伦铜的网站做响应式网站制作
  • 网站做外链的具体步骤wordpress 块