一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TCP/IP嵌入式以太網(wǎng)控制器連接騰訊云

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

掃碼添加小助手

加入工程師交流群

1.W5500簡介

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

2.W5500底層驅(qū)動(dòng)編寫與移植

W5500底層底層驅(qū)動(dòng)移植參考示例:http://www.www27dydycom.cn/d/1843264.html?track_id=myCenter&mod=article&share
STM32連接騰訊云參考示例:http://www.www27dydycom.cn/d/1842055.html?track_id=myCenter&mod=article&share

騰訊物聯(lián)網(wǎng)絡(luò)平臺(tái)連接

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

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

//訂閱題:$thing/down/property/{ProductID}/{DeviceName} ---{ProductID}產(chǎn)品ID,{DeviceName}設(shè)備名
#define SET_TOPIC  "$thing/down/property/Lb57WTHWL3/Smart_home"http://訂閱
//發(fā)布主題:$thing/up/property/{ProductID}/{DeviceName}
#define POST_TOPIC "$thing/up/property/Lb57WTHWL3/Smart_home"http://發(fā)布

char mqtt_message[200];//上報(bào)數(shù)據(jù)緩存區(qū)
u8 rx_buff[200];
void init_Net(void)
{
	u8 try_times=0;
	init_W5500();/*W5500初始化*/
	init_dhcp_client();//動(dòng)態(tài)分配IP
	while(check_DHCP_state(SOCK_DHCP)!=DHCP_RET_UPDATE)
  {
			try_times++;
			if(try_times==255)//超時(shí) 重啟芯片
      {							
				Reset_W5500();
				init_dhcp_client();
				try_times=0;
			}
			delay_ms(10);
		}
    while(!set_Network());
  /*判斷數(shù)據(jù)是否寫入成功*/
  u8 ipaddr[4];//ip地址
  u8 subnet[4];//子網(wǎng)掩碼
  u8 gateway[4];//網(wǎng)關(guān)
	getSIPR (ipaddr);			
	printf(" W5500 IP地址   : %d.%d.%d.%d\r\n", ipaddr[0],ipaddr[1],ipaddr[2],ipaddr[3]);
	getSUBR(subnet);
	printf(" W5500 子網(wǎng)掩碼 : %d.%d.%d.%d\r\n", subnet[0],subnet[1],subnet[2],subnet[3]);
	getGAR(gateway);
	printf(" W5500 網(wǎng)關(guān)     : %d.%d.%d.%d\r\n", gateway[0],gateway[1],gateway[2],gateway[3]);  
}
/*連接服務(wù)器*/
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);/*連接服務(wù)器*/
       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模擬時(shí)序寄存器版,連接騰訊云VER1.0 \r\n");
  init_Net();/*W5500硬件初始化,動(dòng)態(tài)分配IP*/
  printf("W5500 硬件初始化成功\r\n");
  while(!do_dns((u8 *)SERVER_IP)){}/*域名解析*/
  while(1)
  {
    stat=TCP_Connect(MQTT_SOCK,NET_CONFIG.rip,1883,5500);/*連接服務(wù)器*/
    printf("stat=%d\r\n",stat);
    if(stat)break;
    delay_ms(1000);
  } 
  printf("騰訊物聯(lián)網(wǎng)平臺(tái)連接中....\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("騰訊云平臺(tái)連接成功\r\n");
         break;
       }
    }
  }
  stat=MQTT_SubscribeTopic(SET_TOPIC,0,1);
  if(stat)printf("訂閱失敗\r\n"); 
  while(1)
  {
    /*接收數(shù)據(jù)*/
    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();//發(fā)送心跳包
    }
    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.運(yùn)行效果

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

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2931

    文章

    46251

    瀏覽量

    392648
  • 騰訊云
    +關(guān)注

    關(guān)注

    0

    文章

    221

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Microchip LAN9211-ABZJ 集成 10/100 以太網(wǎng) PHY的以太網(wǎng)控制器

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

    一文讀懂~ 源碼開放:Air8101快速實(shí)現(xiàn)以太網(wǎng)功能!

    以太網(wǎng)(Ethernet)外設(shè)驅(qū)動(dòng)涉及硬件與軟件的深度交互,其核心在于通過特定接口連接主處理以太網(wǎng)控制器,實(shí)現(xiàn)數(shù)據(jù)的發(fā)送、接收以及數(shù)據(jù)鏈
    的頭像 發(fā)表于 04-01 14:18 ?243次閱讀
    一文讀懂~ 源碼開放:Air8101快速實(shí)現(xiàn)<b class='flag-5'>以太網(wǎng)</b>功能!

    以太網(wǎng)線纜測試解決方案

    工業(yè)以太網(wǎng)是指在工業(yè)環(huán)境的自動(dòng)化控制及過程控制中應(yīng)用以太網(wǎng)的相關(guān)組件及技術(shù)。工業(yè)以太網(wǎng)會(huì)采用TCP
    的頭像 發(fā)表于 03-21 14:12 ?1192次閱讀
    <b class='flag-5'>以太網(wǎng)</b>線纜測試解決方案

    汽車以太網(wǎng)的演化進(jìn)程

    相對落后的日系車,基本上每一輛車都至少會(huì)有一個(gè)100Mbps汽車以太網(wǎng)網(wǎng)絡(luò),通常對應(yīng)五個(gè)設(shè)備,即智能駕駛域控制器、座艙域控制器、T-BOX、診斷和網(wǎng)關(guān)。
    的頭像 發(fā)表于 02-07 09:49 ?1308次閱讀
    汽車<b class='flag-5'>以太網(wǎng)</b>的演化進(jìn)程

    交換機(jī)與以太網(wǎng)怎么連接

    在現(xiàn)代網(wǎng)絡(luò)通信中,交換機(jī)和以太網(wǎng)作為構(gòu)建局域網(wǎng)(LAN)的核心組件,其連接方式和配置對于網(wǎng)絡(luò)的性能和穩(wěn)定性至關(guān)重要。本文旨在深入探討交換機(jī)與以太網(wǎng)
    的頭像 發(fā)表于 02-02 16:44 ?1164次閱讀

    AN4754-將Microchip橋接控制器與外部以太網(wǎng)PHY搭配使用

    電子發(fā)燒友網(wǎng)站提供《AN4754-將Microchip橋接控制器與外部以太網(wǎng)PHY搭配使用.pdf》資料免費(fèi)下載
    發(fā)表于 01-21 13:54 ?0次下載
    AN4754-將Microchip橋接<b class='flag-5'>控制器</b>與外部<b class='flag-5'>以太網(wǎng)</b>PHY搭配使用

    千兆以太網(wǎng)解決方案:MX2000核心板,高性能不高價(jià)

    嵌入式開發(fā)的時(shí)候,你是不是也經(jīng)常遇到需要千兆以太網(wǎng)的應(yīng)用場景?例如,在工業(yè)自動(dòng)化領(lǐng)域,控制設(shè)備需要快速處理大量數(shù)據(jù);視頻監(jiān)控系統(tǒng)需要高速傳輸和存儲(chǔ)視頻流以實(shí)現(xiàn)遠(yuǎn)程監(jiān)控;
    的頭像 發(fā)表于 11-15 01:06 ?525次閱讀
    千兆<b class='flag-5'>以太網(wǎng)</b>解決方案:MX2000核心板,高性能不高價(jià)

    以太網(wǎng)TCP/IP的關(guān)系解析

    在現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)中,以太網(wǎng)TCP/IP協(xié)議棧是構(gòu)建網(wǎng)絡(luò)通信的基礎(chǔ)。以太網(wǎng)定義了局域網(wǎng)(LAN)中的數(shù)據(jù)鏈路層和物理層的技術(shù)標(biāo)準(zhǔn),而
    的頭像 發(fā)表于 11-08 09:21 ?2388次閱讀

    如何正確端接以太網(wǎng) RJ45 連接器

    2024-07-15 |Jake Hertz [連接器] 對于參與局域網(wǎng) (LAN) 安裝或維護(hù)的任何人來說,端接以太網(wǎng) RJ45 連接器都是一項(xiàng)關(guān)鍵技能。此過程對于創(chuàng)建可靠的網(wǎng)絡(luò)
    的頭像 發(fā)表于 10-02 17:24 ?1723次閱讀
    如何正確端接<b class='flag-5'>以太網(wǎng)</b> RJ45 <b class='flag-5'>連接器</b>

    為何嵌入式控制器首選ARMxy?深度解析

    嵌入式ARM控制器是一種基于ARM架構(gòu)的嵌入式系統(tǒng)控制器,廣泛應(yīng)用于各種嵌入式系統(tǒng)中,包括工業(yè)物聯(lián)網(wǎng)關(guān)、邊緣計(jì)算網(wǎng)關(guān)、智慧城市、智能設(shè)備、工
    的頭像 發(fā)表于 09-21 10:09 ?700次閱讀
    為何<b class='flag-5'>嵌入式</b><b class='flag-5'>控制器</b>首選ARMxy?深度解析

    使用C2000 EtherCAT從站控制器的SMI進(jìn)行以太網(wǎng)PHY配置

    電子發(fā)燒友網(wǎng)站提供《使用C2000 EtherCAT從站控制器的SMI進(jìn)行以太網(wǎng)PHY配置.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 10:37 ?0次下載
    使用C2000 EtherCAT從站<b class='flag-5'>控制器</b>的SMI進(jìn)行<b class='flag-5'>以太網(wǎng)</b>PHY配置

    利用TSN以太網(wǎng)特性改善工業(yè)以太網(wǎng)控制器的時(shí)序

    電子發(fā)燒友網(wǎng)站提供《利用TSN以太網(wǎng)特性改善工業(yè)以太網(wǎng)控制器的時(shí)序.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 10:53 ?0次下載
    利用TSN<b class='flag-5'>以太網(wǎng)</b>特性改善工業(yè)<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>控制器</b>的時(shí)序

    水電表集中支持以太網(wǎng)傳輸數(shù)據(jù)嗎?

    原理水電表集中通過內(nèi)置的網(wǎng)絡(luò)適配器,將從各水電表收集的數(shù)據(jù)打包成IP數(shù)據(jù)包,利用TCP/IP協(xié)議棧進(jìn)行封裝,再通過以太網(wǎng)接口發(fā)送至指定的服
    的頭像 發(fā)表于 08-13 17:42 ?587次閱讀
    水電表集中<b class='flag-5'>器</b>支持<b class='flag-5'>以太網(wǎng)</b>傳輸數(shù)據(jù)嗎?

    MSP432E401Y Simplelink? 以太網(wǎng)控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSP432E401Y Simplelink? 以太網(wǎng)控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-05 10:05 ?0次下載
    MSP432E401Y Simplelink? <b class='flag-5'>以太網(wǎng)</b>微<b class='flag-5'>控制器</b>數(shù)據(jù)表

    MSP432E401Y Simplelink? 以太網(wǎng)控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSP432E401Y Simplelink? 以太網(wǎng)控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-05 10:04 ?0次下載
    MSP432E401Y Simplelink? <b class='flag-5'>以太網(wǎng)</b>微<b class='flag-5'>控制器</b>數(shù)據(jù)表