程序如何实现上传和下达数据?

系列文章目录



前言

客户端=板子
服务端=阿里云
板子里的数据如何发给阿里云界面呢?
阿里云又如何下达命令进行控制呢?


一、服务端发送数据

定义发送数据的结构体:
在这里插入图片描述

定义的数组与结构体的重命名


 1. uint8_t data_buf[256]={0};
 2. Ali_data_Struct Ali_data;

发送数据的函数
在这里插入图片描述

二、服务端接受数据


uint8_t LED1_FLAG=0;
uint8_t SEN_STATE = 0;

void Ctrl_Elec(void)
{
		//printf("接收到数据\r\n");
		LED1_FLAG=DealPushdata_Qs0((uint8_t *)"LED1",4);
		if(LED1_FLAG == '0') // "0"
		{
			Ali_data.LED1=0; 
			SEN_STATE = 1;
			LED4(0);
			LED5(0);
			LED6(0);
			printf("LED熄灭\r\n");
			
		}else if(LED1_FLAG == 49)//"1"
		{
			Ali_data.LED1=1; 
			SEN_STATE = 1;
			LED4(1);
			LED5(1);
			LED6(1);
			printf("LED点亮\r\n");
		}
		
		if(SEN_STATE == 1)
		{
			SEN_STATE = 0;
			sprintf((char *)data_buf,
			"{\"method\":\"thing.service.property.set\",\
\"id\":\"230788020\",\
\"params\":{\
\"LED1\":%d\
}\
,\"version\":\"1.0\"}",
Ali_data.LED1);
			MQTT_PublishQs0(P_TOPIC_NAME,(char *)data_buf,strlen((char *)data_buf));
			memset(data_buf,0,256);			
		}		
}

接收的数据,我就写的控制LED灯的开关。
DealPushdata_Qs0
MQTT_PublishQs0

这两个函数怎么用在 手把手教你写MQTT协议 里。

三、阿里云界面展示

if(Ali_run[0]>Ali_run[1])//加上时间片 阿里云接收不到数据
 {				
	strcpy(Ali_data.DoorPwd,"1");
	Ali_data.VoicePwr=4;
	strcpy(Ali_data.NewCard,"3");
	Send_Pack_Data(Ali_data);
 }

在这里插入图片描述

总结

只是简单的写了上传数据,下达数据。 没有原程序的话,未必看得懂。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值