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

网站建设开发模式h5计算机网站开发项目

网站建设开发模式h5,计算机网站开发项目,罗湖企业网站建设,wordpress调用分类描述文章目录 1. 前言2. 平台操作流程3. WIZnet以太网芯片4. 示例讲解以及使用4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 烧录验证 5. 注意事项6. 相关链接 1. 前言 在这个智能硬件和物联网时代#xff0c;MicroPython和树莓派PICO正以其独特的优势引领着嵌入式开发… 文章目录 1. 前言2. 平台操作流程3. WIZnet以太网芯片4. 示例讲解以及使用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的开发方式连接至OneNET新版MQTT上并定时上报DHT11传感器的温湿度信息以及通过平台下发指令控制板载LED灯亮灭。 2. 平台操作流程 第一步创建产品 第二步创建物模型定义 第三步创建设备 第四步计算参数 需要将主题的{device-name}替换为设备名或设备ID 密码生成工具https://open.iot.10086.cn/doc/iot_platform/images/tools/token.exe 参数名参数值mqttHostUrlmqtts.heclouds.com固定不变port1883固定不变clientIdW5100S_W5500设备IDusername75w4NMRceb产品IDpasswdversion2018-10-31resproducts%2F75w4NMRceb%2Fdevices%2FW5100S_W5500et1791400694methodmd5signFTnZrF14Pqy%2F3CXggctheg%3D%3D工具计算上报温湿度主题$sys/75w4NMRceb/W5100S_W5500/thing/property/post发布权限上报回复主题$sys/75w4NMRceb/W5100S_W5500/thing/property/post/reply订阅权限设置LED状态$sys/75w4NMRceb/W5100S_W5500/thing/property/set订阅权限设置状态回复$sys/75w4NMRceb/W5100S_W5500/thing/property/set_reply发布权限 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. 示例讲解以及使用 4.1 程序流程图 4.2 测试准备 软件 ThonnyOneNET平台 硬件 W5100S IO模块 RP2040 树莓派Pico开发板 或者 WIZnet W5100S-EVB-Pico开发板DHT11温湿度传感器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 DHT11连接RP2040 RP2040 GPIO 2 ---- DHT11 dataRP2040 3V3 ---- DHT11 VCCRP2040 GND ---- DHT11 GND 通过网线直接连接PC网口或PC和设备都通过网线连接交换机或路由器LAN口 4.4 相关代码 我们直接打开mqtt_onenet_new.py文件。 第一步可以看到在w5x00_init()函数中进行了SPI的初始化。以及将spi相关引脚和复位引脚注册到库中后续则是激活网络并使用DHCP配置网络地址信息当DHCP失败时则配置静态网络地址信息。当未配置成功时会打印出网络地址相关寄存器的信息可以帮助我们更好的排查问题。 第二步连接OneNET的MQTT服务器连接失败则进入复位程序。 第三步开启定时器定时上报温湿度信息订阅主题并在主循环中等待接收消息。 需注意要将MQTT参数定义改为您的OneNET的MQTT参数 必须订阅上报回复主题可以不做处理收到消息设置主题必须回复消息否则会报错。 #import library from umqttsimple import MQTTClient from usocket import socket from machine import Pin,SPI,Timer import dht import network import time import json#mqtt config mqtt_params {} mqtt_params[url] mqtts.heclouds.com mqtt_params[port] 1883 mqtt_params[clientid] W5100S_W5500 mqtt_params[username] 75w4NMRceb mqtt_params[passwd] version2018-10-31resproducts%2F75w4NMRceb%2Fdevices%2FW5100S_W5500et1791400694methodmd5signFTnZrF14Pqy%2F3CXggctheg%3D%3D mqtt_params[pubtopic] $sys/ mqtt_params[username] / mqtt_params[clientid] /thing/property/post mqtt_params[pubtopic_reply] $sys/ mqtt_params[username] /mqtt_params[clientid] /thing/property/post/reply mqtt_params[subtopic] $sys/ mqtt_params[username] / mqtt_params[clientid] /thing/property/set mqtt_params[subtopic_reply] $sys/ mqtt_params[username] / mqtt_params[clientid] /thing/property/set_replymessage_interval 5 timer_1s_count 0 tim Timer()#DHT11 definitions pin Pin(2,Pin.OUT) sensor dht.DHT11(pin)led Pin(25, Pin.OUT)#mqtt client client None W5x00 chip initialization.param: None returns: None def w5x00_init():#spi initspiSPI(0,2_000_000, mosiPin(19),misoPin(16),sckPin(18))nic network.WIZNET5K(spi,Pin(17),Pin(20)) #spi,cs,reset pinnic.active(True)#network activetry:#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)#If there is no network connection, the register address information is printedwhile not nic.isconnected():time.sleep(1)print(nic.regs()) 1-second timer callback function.param1: class timer returns: None def tick(timer):global timer_1s_countglobal clienttimer_1s_count 1if timer_1s_count message_interval:sensor.measure()timer_1s_count 0sendmsg {id: 123,version: 1.0,params: {CurrentTemperature: {value:%s},CurrentHumidity:{value:%s}}}%(str(sensor.temperature()),str(sensor.humidity()))client.publish(mqtt_params[pubtopic],sendmsg,qos 0)print(send:,sendmsg) Connect to the MQTT server.param: None returns: None def mqtt_connect():client MQTTClient(mqtt_params[clientid], mqtt_params[url], mqtt_params[port],mqtt_params[username],mqtt_params[passwd],keepalive60)client.connect()print(Connected to %s MQTT Broker%(mqtt_params[url]))return client Connection error handler.param: None returns: None def reconnect():print(Failed to connected to Broker. Reconnecting...)time.sleep(5)machine.reset() Subscribe to the topic message callback function. This function is entered when a message is received from a subscribed topic.param1: The topic on which the callback is triggered param2: Message content returns: None def sub_cb(topic, msg):topic topic.decode(utf-8)msg msg.decode(utf-8)if topic mqtt_params[subtopic]:print(\r\ntopic:,topic,\r\nrecv:, msg)try:parsed json.loads(msg)if(parsed[params][LEDSwitch] True):print(LED ON!)led.value(1)else:print(LED OFF!)led.value(0)sendmsg {id: %s,code: 200,msg: success}%str(parsed[id])client.publish(mqtt_params[subtopic_reply],sendmsg,qos 0)print(send:,sendmsg)sendmsg {id: 123,version: 1.0,params: {LEDSwitch: {value:%s}}}%str(parsed[params][LEDSwitch]).lower()client.publish(mqtt_params[pubtopic],sendmsg,qos 0)print(send:,sendmsg)except:print(json load error!) Subscribe to Topics.param: None returns: None def subscribe():client.set_callback(sub_cb)client.subscribe(mqtt_params[subtopic],0)print(subscribed to %s%mqtt_params[subtopic])client.subscribe(mqtt_params[pubtopic_reply],0)print(subscribed to %s%mqtt_params[pubtopic_reply])def main():global clientprint(WIZnet chip MQTT of OneNET(new version MQTT) example)w5x00_init()try: client mqtt_connect()except OSError as e:reconnect()tim.init(freq1, callbacktick)subscribe()while True:client.wait_msg()if __name__ __main__:main()4.5 烧录验证 要测试以太网示例必须将开发环境配置为使用Raspberry Pi Pico。 所需的开发环境 Thonny 如果你必须编译MicroPython则必须使用Linux或Unix环境。 注意因为MicroPython的print函数是启用了stdout缓冲的所以有时候并不会第一时间打印出内容。 运行该脚本必须要有umqttsimple.py库支持如何添加umqttsimple.py库请查看MQTT协议示例 第一步将程序复制到Thonny中然后选择环境为Raspberry Pi Pico再运行 第二步可以看到此时每间隔5秒上报了一次温湿度信息并且平台上也会实时更新。 第三步可以通过云平台设置板载LED的状态 5. 注意事项 如果采用的是WIZnet的W5500来实现本章的示例则只需烧录W5500的固件并运行示例程序即可。 6. 相关链接 WIZnet官网 本章例程链接 想了解更多评论留言哦
http://www.pierceye.com/news/188907/

相关文章:

  • 福永公司网站建设空间网站链接怎么做
  • 百度的企业网站谷歌浏览器下载安卓版
  • 网站建设总体情况网站设计宁波
  • 西宁做网站_君博示范360建筑网会员
  • 做DJ网站违法吗汕头seo网站推广
  • 上海网站建设网站宁波网站模板哪家性价比高
  • 珠海专业做网站制作做网站网站的代理算网站罪吗
  • 建设局网站简介通信建设网站
  • php做网站用什么开发工具大专软件技术工资一般多少
  • 网站建设服务承诺wordpress 博客园
  • seo综合查询站长工具关键词全网营销案例
  • 深圳专业做网站设计政务服务网站建设性建议
  • 做暧免费观看网站哪个网站可以给图片做链接
  • wordpress最好的主题东莞债务优化
  • 全国网站建设大赛网店网站设计
  • 学网站建设需要学多久wordpress火车头插件
  • wordpress 网站实例中国纪检监察报app下载
  • 网站链接dw怎么做营销推广方法
  • 觅知网 大而全的高质量素材站开发手机网站用什么好
  • 建设一个广告联盟的网站医院网站设计与实现
  • 公司网站备案必须是企业信息么网站搭建好有什么内容可以修改
  • 弄网站赚钱吗电影网站怎么做要多少钱
  • 做优化网站能以量取胜么好素材网站
  • wordpress主题网站江苏建设工程教育网
  • 网站制作 客户刁难做宠物网站赚钱吗
  • 网站突然不收录了如何形容一个网站做的好
  • 怎么建网站教程视频做网站跟推广哪家公司好
  • 怎么做网站报告四平网站公司
  • 飞扬动力网站建设支付网站建设要求
  • 达美网站建设廊坊seo扣费