物联网开发esp8266通过HTTP协议连接新版onenet云平台(一)

背景介绍

因为项目需求,需要STM32板子与上位机通信,偷懒不想设计app所以采用物联网方式,本来是打算通过MQTT连接阿里云平台,但是不知道是ESP8266模块的问题还是烧录固件出现问题。

在等待新的ESP8266模块到来,先尝试用HTTP协议连接云平台,但是后面发现问题,HTTP协议只能上报,如果要设备能接收云平台的消息还需要开通推送比较麻烦。

onenet平台创建设备

1.进入中国移动物联网开放平台:https://open.iot.10086.cn/doc/v5/fuse/
2.点击开发者中心,然后进入物联网中心,先创建产品
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.产品品类可以随便选,接入方式选择【设备接入】,产品名称可以随便起,重要的是产品id(创建完可以看到),

### 使用 ESP8266 和 C51 单片机进行 HTTP 通信 为了使 C51 单片机通过 ESP8266 实现 HTTP 请求,通常采用 AT 命令集来配置 ESP8266 的工作模式并发送数据。以下是具体的实现方法: #### 配置 ESP8266 进入 Station 模式连接 Wi-Fi 网络 首先需要让 ESP8266 成功接入互联网以便发起 HTTP 请求。 ```c // 发送命令给ESP8266设置为Station模式 void set_station_mode() { UART_SendString("AT+CWMODE=1\r\n"); } // 连接到指定SSID和密码的Wi-Fi网络 void connect_wifi(char* ssid, char* password) { sprintf(UART_Buffer,"AT+CWJAP=\"%s\",\"%s\"\r\n",ssid,password); UART_SendString(UART_Buffer); } ``` #### 初始化串口通信 确保 C51 单片机能够与 ESP8266 正常通讯是至关重要的步,在此之前应当初始化好两者之间的串行接口参数致[^2]。 ```c void init_uart(void){ TMOD = 0x20; // 定时器1方式2(8位自动重装载) TH1 = (65536-9600/12)/16; TL1 = TH1; TR1 = 1; SCON = 0x50; // 设置为8位可变波特率UART模式 EA = 1; // 开启总中断允许 ES = 1; // 开启串口中断允许 } ``` #### 构建 GET 或 POST 方法请求 URL 资源 当准备就绪之后便可以通过构建相应的 HTTP 请求字符串向目标服务器提交查询或更新操作。 对于简单的 GET 请求而言: ```c void http_get_request(const char *host, const char *url) { UART_SendString("AT+CIPSTART=\"TCP\",\""); UART_SendString(host); UART_SendString("\",80\r\n"); delay_ms(100); UART_SendString("AT+CIPSEND="); int content_length = strlen(url)+strlen("GET ") + strlen(" HTTP/1.1\r\nHost: ")+ strlen(host)+strlen("\r\nConnection: close\r\n\r\n")+7; UART_SendNum(content_length); UART_SendString("\r\n"); delay_ms(100); UART_SendString("GET "); UART_SendString(url); UART_SendString(" HTTP/1.1\r\nHost: "); UART_SendString(host); UART_SendString("\r\nConnection: close\r\n\r\n"); } ``` 以上代码片段展示了如何利用 C51 控制 ESP8266 执行基本的 HTTP Get 请求过程[^1]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值