国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TCP/IP嵌入式以太網控制器連接騰訊云

嵌入式技術 ? 來源:嵌入式技術 ? 作者:嵌入式技術 ? 2022-05-31 17:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.W5500簡介

W5500 是一款全硬件 TCP/IP 嵌入式以太網控制器,為嵌入式系統提供了更加簡易的互聯網連接方案。 W5500 集成了 TCP/IP 協議棧, 10/100M 以太網數據鏈路層(MAC)及物理層(PHY) ,使得用戶使用單芯片就能夠在他們的應用中拓展網絡連接。
久經市場考驗的 WIZnet 全硬件 TCP/IP 協議棧支TCP,UDP,IPv4,ICMP,ARP,IGMP 以及 PPPoE 協議。 W5500 內嵌 32K 字節片上緩存以供以太網包處理。如果你使用 W5500,你只需要一些簡單的 Socket 編程就能實現以太網應用。這將會比其他嵌入式以太網方案更加快捷、簡便。用戶可以同時使用 8 個硬件 Socket 獨立通訊。
W5500 提供了 SPI(外設串行接口)從而能夠更加容易與外設 MCU 整合。而且,W5500 的使用了新的高效 SPI 協議支持 80MHz 速率,從而能夠更好的實現高速網絡通訊。為了減少系統能耗, W5500 提供了網絡喚醒模式(WOL)及掉電模式供客戶選擇使用。

2.W5500底層驅動編寫與移植

W5500底層底層驅動移植參考示例:http://www.3532n.com/d/1843264.html?track_id=myCenter&mod=article&share
STM32連接騰訊云參考示例:http://www.3532n.com/d/1842055.html?track_id=myCenter&mod=article&share

騰訊物聯網絡平臺連接

#include "stm32f10x.h"
#include "usart.h"
#include "timer.h"
#include "aliyun_mqtt.h"

/*w5500相關頭文件*/
#include "w5500api.h"
#include "dhcp.h"
#include "dns.h"
#define SERVER_IP "LA57WTHWL6.iotcloud.tencentdevices.com"http://服務器IP
#define SERVER_PORT 1883 //端口號
//客戶端ID:{產品ID}{設備名}
#define ClientID "LA57WTHWL6Smart_home"
//用戶名和密碼可使用密碼生成工具完成
#define Username "LA57WTHWL2Smart_home;120310126;HK8V9;1635948714"
#define Password "2a915cae4489b591ce556e71f4e9f1ka21c354a37d12fee7c46f56abee1f048a;hmacsha256"http://密文 

//訂閱題:$thing/down/property/{ProductID}/{DeviceName} ---{ProductID}產品ID,{DeviceName}設備名
#define SET_TOPIC  "$thing/down/property/Lb57WTHWL3/Smart_home"http://訂閱
//發布主題:$thing/up/property/{ProductID}/{DeviceName}
#define POST_TOPIC "$thing/up/property/Lb57WTHWL3/Smart_home"http://發布

char mqtt_message[200];//上報數據緩存區
u8 rx_buff[200];
void init_Net(void)
{
	u8 try_times=0;
	init_W5500();/*W5500初始化*/
	init_dhcp_client();//動態分配IP
	while(check_DHCP_state(SOCK_DHCP)!=DHCP_RET_UPDATE)
  {
			try_times++;
			if(try_times==255)//超時 重啟芯片
      {							
				Reset_W5500();
				init_dhcp_client();
				try_times=0;
			}
			delay_ms(10);
		}
    while(!set_Network());
  /*判斷數據是否寫入成功*/
  u8 ipaddr[4];//ip地址
  u8 subnet[4];//子網掩碼
  u8 gateway[4];//網關
	getSIPR (ipaddr);			
	printf(" W5500 IP地址   : %d.%d.%d.%d\r\n", ipaddr[0],ipaddr[1],ipaddr[2],ipaddr[3]);
	getSUBR(subnet);
	printf(" W5500 子網掩碼 : %d.%d.%d.%d\r\n", subnet[0],subnet[1],subnet[2],subnet[3]);
	getGAR(gateway);
	printf(" W5500 網關     : %d.%d.%d.%d\r\n", gateway[0],gateway[1],gateway[2],gateway[3]);  
}
/*連接服務器*/
uint8 TCP_Connect(SOCKET Socket,uint8 *sip,uint16 sport,uint16 lport)
{
  static uint8 CONNECT_FLAG = 0;
  switch(getSn_SR(Socket))
  {
    case SOCK_INIT:
			 CONNECT_FLAG=connect(Socket,sip,sport);/*連接服務器*/
       break;
    case SOCK_CLOSE_WAIT:
      disconnect(Socket);
      close(Socket);
      break;
    case SOCK_CLOSED:
			 CONNECT_FLAG=0;
			 socket(Socket,Sn_MR_TCP,lport,Sn_MR_ND);
			 break;
  }
  return CONNECT_FLAG;
}
int main()
{
  u16 i=0;
  u8 stat=0;
  u16 time=0,cnt=0;
  float temp=10;
  u16 rlen;
  USART1_Init(115200);
  printf("W5500 SPI模擬時序寄存器版,連接騰訊云VER1.0 \r\n");
  init_Net();/*W5500硬件初始化,動態分配IP*/
  printf("W5500 硬件初始化成功\r\n");
  while(!do_dns((u8 *)SERVER_IP)){}/*域名解析*/
  while(1)
  {
    stat=TCP_Connect(MQTT_SOCK,NET_CONFIG.rip,1883,5500);/*連接服務器*/
    printf("stat=%d\r\n",stat);
    if(stat)break;
    delay_ms(1000);
  } 
  printf("騰訊物聯網平臺連接中....\n");
  while(1)
  {
    if(getSn_SR(MQTT_SOCK)==SOCK_ESTABLISHED)
    {
       if(getSn_IR(MQTT_SOCK)&Sn_IR_CON)
       {
         setSn_IR(MQTT_SOCK,Sn_IR_CON);
       }
       MQTT_Init();
       if(MQTT_Connect(ClientID,Username,Password)==0)
       {
          printf("騰訊云平臺連接成功\r\n");
         break;
       }
    }
  }
  stat=MQTT_SubscribeTopic(SET_TOPIC,0,1);
  if(stat)printf("訂閱失敗\r\n"); 
  while(1)
  {
    /*接收數據*/
    rlen=getSn_RX_RSR(MQTT_SOCK);
    if(rlen>0)
    {
      rlen=recv(MQTT_SOCK,rx_buff,rlen);
      printf("len=%d\r\n",rlen);
      for(i=0;i=5000)
    {
      time=0;
      MQTT_SentHeart();//發送心跳包
    }
    if(cnt>=2000)
    {
      temp+=1.5;
      if(temp>=85)temp=-15;
      cnt=0;
      sprintf(mqtt_message,"{"method":"report","clientToken":"123","params":{"LED1":1,"temp":%.2f,"L":356}}",temp);//溫度
      MQTT_PublishData(POST_TOPIC,mqtt_message,0);
    }    
  }
}

;i++)>

3.運行效果

在這里插入圖片描述pYYBAGKV5dqARxLmAAFgecWP9iw664.pngpoYBAGKV5euAbEYzAAHmv-GPGTk926.png

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2945

    文章

    47820

    瀏覽量

    414950
  • 騰訊云
    +關注

    關注

    0

    文章

    224

    瀏覽量

    17448
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    新品 | Unit PoE-P4,高性能PoE以太網嵌入式控制器

    UnitPoE?P4是一款高性能PoE以太網嵌入式控制器,核心搭載ESP32?P4主控(RISC?V32位雙核360MHz+LP單核40MHz)。集成16MBFlash與32MBPSRAM,內置
    的頭像 發表于 02-27 17:11 ?1120次閱讀
    新品 | Unit PoE-P4,高性能PoE<b class='flag-5'>以太網</b><b class='flag-5'>嵌入式</b><b class='flag-5'>控制器</b>

    LAN9116:高效單芯片10/100非PCI以太網控制器的技術剖析

    LAN9116:高效單芯片10/100非PCI以太網控制器的技術剖析 在嵌入式應用領域,對于高性能、靈活性、易于集成且能有效控制成本的以太網
    的頭像 發表于 01-31 17:45 ?1161次閱讀

    DP83816:10/100 Mb/s集成PCI以太網控制器的深度解析

    DP83816:10/100 Mb/s集成PCI以太網控制器的深度解析 在當今的網絡通信領域,以太網控制器扮演著至關重要的角色。DP83816作為一款單芯片10/100 Mb/s
    的頭像 發表于 01-31 15:20 ?695次閱讀

    探索Microchip LAN9215:16位非PCI 10/100以太網控制器的卓越性能

    探索Microchip LAN9215:16位非PCI 10/100以太網控制器的卓越性能 在嵌入式應用領域,一款性能出色、易于集成且成本可控的以太網
    的頭像 發表于 01-27 15:30 ?208次閱讀

    探索Microchip LAN9211:高性能以太網控制器的卓越之選

    探索Microchip LAN9211:高性能以太網控制器的卓越之選 在嵌入式應用領域,一款性能強勁、功能豐富且易于集成的以太網控制器至關重
    的頭像 發表于 01-22 16:50 ?578次閱讀

    新品 | StamPLC PoE,以太網拓展模塊 Atom DTU NB-IoT2 V1.1,可編程數據傳輸單元

    StamPLCPoEStamPLCPoE是一款適配StamPLC主機的以太網控制模塊,支持PoE(有源以太網)技術,可通過網線同時實現數據傳輸與供電。該模塊內置W5500嵌入式
    的頭像 發表于 01-16 19:06 ?986次閱讀
    新品 | StamPLC PoE,<b class='flag-5'>以太網</b>拓展模塊 Atom DTU NB-IoT2 V1.1,可編程數據傳輸單元

    KSZ8851SNL/SNLI:單端口以太網控制器的卓越之選

    KSZ8851SNL/SNLI:單端口以太網控制器的卓越之選 在當今數字化時代,以太網控制器在各種電子設備中扮演著至關重要的角色。KSZ8851SNL/SNLI 作為一款單端口
    的頭像 發表于 12-28 14:45 ?651次閱讀

    解析 LAN9215i:16 位非 PCI 10/100 以太網控制器的卓越之選

    解析 LAN9215i:16 位非 PCI 10/100 以太網控制器的卓越之選 在嵌入式應用領域,一款性能出色、靈活性高且成本可控的以太網控制器
    的頭像 發表于 12-25 16:50 ?470次閱讀

    KSZ8851SNL/SNLI單端口以太網控制器:設計與應用全解析

    KSZ8851SNL/SNLI單端口以太網控制器:設計與應用全解析 在當今數字化的時代,以太網通信在各種電子設備中扮演著至關重要的角色。KSZ8851SNL/SNLI作為一款單端口以太網
    的頭像 發表于 12-23 14:45 ?457次閱讀

    Amphenol ix Industrial? IP6X矩形推拉連接器和電纜,NDH系列:工業以太網的理想之選

    Amphenol ix Industrial? IP6X矩形推拉連接器和電纜,NDH系列:工業以太網的理想之選 在工業以太網應用中,對于
    的頭像 發表于 12-12 15:45 ?351次閱讀

    Amphenol單對以太網IP67圓形推拉連接器和電纜:工業互聯新選擇

    Amphenol單對以太網IP67圓形推拉連接器和電纜:工業互聯新選擇 在工業應用的復雜環境中,高效、穩定且安全的網絡連接至關重要。Amp
    的頭像 發表于 12-12 15:45 ?353次閱讀

    Amphenol單對以太網(SPE)IP20連接器及電纜組件:工業以太網新選擇

    Amphenol單對以太網(SPE)IP20連接器及電纜組件:工業以太網新選擇 在工業自動化和物聯網蓬勃發展的今天,高效、可靠且經濟的網絡連接
    的頭像 發表于 12-12 10:40 ?648次閱讀

    Amphenol 4 端口千兆以太網交換機:適用于下一代無人機、機器人和嵌入式應用

    The Puck 是一款堅固耐用的 4 端口千兆以太網交換機,致力于為下一代無人機、機器人和嵌入式應用提供先進的網絡連接能力。在這些
    的頭像 發表于 12-10 15:25 ?431次閱讀

    ProfiNet嵌入式板卡,主流替代可實現ProfiNet工業以太網的應用實例

    ProfiNet嵌入式板卡,主流替代可實現ProfiNet工業以太網的應用實例
    的頭像 發表于 12-01 17:11 ?1118次閱讀
    ProfiNet<b class='flag-5'>嵌入式</b>板卡,主流替代可實現ProfiNet工業<b class='flag-5'>以太網</b>的應用實例

    Microchip LAN9211-ABZJ 集成 10/100 以太網 PHY的以太網控制器

    Microchip LAN9211-ABZJ 集成 10/100 以太網 PHY的以太網控制器
    的頭像 發表于 06-04 14:56 ?1105次閱讀
    Microchip LAN9211-ABZJ 集成 10/100 <b class='flag-5'>以太網</b> PHY的<b class='flag-5'>以太網</b><b class='flag-5'>控制器</b>