基于STM32腾讯云物联网平台和微信小程序应用

2022-05-30
关注

1.腾讯物联网平台简介

腾讯云物联网开发平台(IoT Explorer)是面向智慧生活与产业互联应用的物联网 PaaS 平台,为基于物联网的各行业设备制造商、方案商及应用开发商提供一站式设备智能化服务。平台提供海量设备连接与管理能力及基于腾讯连连的小程序应用开发能力,并打通腾讯云基础产品及 AI 能力,聚合腾讯生态内容能力。从而提升传统行业设备智能化的效率,降低用户的开发运维成本。

为用户提供一站式产品开发服务,满足智慧生活与产业互联场景下的设备上云开发效率。用户通过产品定义、物模型管理、设备开发、设备调试即可完成设备快速接入到平台。对于智慧生活领域的应用,用户可选择腾讯连连官方小程序或 OEM 小程序、App,通过交互开发定义专属的配网交互、告警规则、设备操控面板开发能力快速完成应用侧开发。

2.注册腾讯云账号,登录云平台

1. 搜索物联网平台,登录物联网平台。

  2. 进入物联网控制台

3.创建项目

3. 创建产品

3.创建产品功能

//设备名,产品ID,设备秘钥修改为自己所创建产品参数
#define DeviceName "Smart_123"//设备名
#define ProductID "LA57WL612"//产品ID
#define DeviceSceret "9JHiCQ5668uZlVDuQ2ZnQ=="//设备秘钥

腾讯物联网平台采用MQTT协议接入, MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大的优点在于可以以极少的代码和有限的带宽,为远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,MQTT在物联网、小型设备、移动应用等方面有广泛的应用。MQTT属于应用层协议。

通过MQTT接入物联网平台时需要用户名和密码。该参数可直接使用云平台提供的password小工具来生成。

//服务器IP:{PRODUCT_ID}.iotcloud.tencentdevices.com   ---PRODUCT_ID对应产品ID
#define SERVER_IP "LA57fg612.iotcloud.tencentdevices.com"//服务器IP
#define SERVER_PORT 1883 //端口号
//客户端ID:{产品ID}{设备名}
#define ClientID "LA57WL612Smart_123"
//用户名和密码可使用密码生成工具完成
#define Username "LA57fgz612Smart_123;12010126;R05S3;1621619622"
#define Password "9ebe0d0069ac4dd1efg8664abc9f726c13b5a150190afdfa7b3c12240ff1e73;hmacsha256"//密文 
//订阅主题:$thing/down/property/{ProductID}/{DeviceName} ---{ProductID}产品ID,{DeviceName}设备名
#define SET_TOPIC  "$thing/down/property/LA57WL612/Smart_123"//订阅

4.主题订阅与发布

//订阅主题:$thing/down/property/{ProductID}/{DeviceName} ---{ProductID}产品ID,{DeviceName}设备名
#define SET_TOPIC  "$thing/down/property/LA57WL612/Smart_123"//订阅
//发布主题:$thing/up/property/{ProductID}/{DeviceName}
#define POST_TOPIC "$thing/up/property/LA57WL612/Smart_123"//发布

3.配置ESP8266WIFI,连接腾讯云

WIFI工作模式为STA+TCP_Client模式。实现腾讯云连接,消息订阅与发布。

#define WIFI_NAME "wbyq"//WIFI名
#define WIFI_PASSWORD "asdfghjkl23"//wifi密码
char mqtt_message[200];//上报数据缓存区
int main()
{
    int i=0;
	u8 stat=0;
	u32 time=0;
	u16 cnt=0;
	float temp;
	Beep_Init();//蜂鸣器初始化
	Led_Init();//LED初始化
	Key_Init();//按键初始化
	Usartx_Init(USART1,115200,72);
	Usartx_Init(USART3,115200,36);
	TIMx_Init(TIM2,72,20000);//通过定时器2辅助串口接收数据,20ms
	TIMx_Init(TIM4,72,20000);//通过定时器2辅助串口接收数据,20ms
	DS18B20_Init();	
//	RTC_Init();//RTC初始化
	printf("初始化完成\r\n");
	while(1)
	{
		stat=Esp8266_STA_TCPclinet_Init((u8 *)WIFI_NAME,(u8 *)WIFI_PASSWORD,(u8 *)SERVER_IP,SERVER_PORT);
		if(stat==0)break;
		Delay_Ms(500);
		printf("stat=%d\r\n",stat);
	}
	printf("服务器连接成功\r\n");
	while(1)
	{
		MQTT_Init();
		stat=MQTT_Connect(ClientID,Username,Password);
		if(stat==0)break;
		Delay_Ms(500);
		printf("正在连接....\r\n");
	}
	printf("连接成功\r\n");
	stat=MQTT_SubscribeTopic(SET_TOPIC,0,1);
	if(stat)printf("订阅失败\r\n");
	else printf("订阅成功\r\n");
	while(1)
	{
		if(usart3_flag)
		{
            for(i=0;i=5000)
		{
			time=0;
			MQTT_SentHeart();//发送心跳包
		}
		if(cnt>=1000)
		{
			cnt=0;
			temp=DS18B20_GetTemp()*0.0625;
			sprintf(mqtt_message,"{"method":"report","clientToken":"123","params":{"LED1":1,"temp":%.2f,"L":356}}",temp);//温度
			MQTT_PublishData(POST_TOPIC,mqtt_message,0);
		}
	}
}
;i++)>

数据上报格式:

{
   "method":"report",//上报设备属性
   "clientToken":"123",//消息配对标识
   "timestamp":1212121221,  //可不填,默认为系统时间
   "params":{
       "power_switch":1, //设备属性power_switch
       "color":1,        //设备属性color
       "brightness":32   //设备属性brightness
   }
}

4.云平台在线调试效果

5.手机端微信小程序接收腾讯云

腾讯云物联网平台本身自带微信小程序,用户也可以通过提供的SDK接口进行二次开发。

腾讯连连 H5 自定义开发是指设备制造商、方案商,将智能化产品通过“腾讯连连”小程序统一管理控制,只需根据腾讯连连 H5 自定义开发规范进行厂商个性化设备操控面板的交互开发,即可直接使用“腾讯连连”提供的所有能力,从而减少用户开发完整独立应用的开发成本。

微信小程序以免下载、即扫即用降低消费者使用智能化产品的门槛,腾讯云物联网提供“腾讯连连”官方小程序,让消费者实现不同品牌、不同品类、不同通信方式设备的互联互通,满足厂商个性化和共享腾讯连连生态的需求。

可直接在微信端搜索腾讯连连,打开腾讯连连扫描设备二维码即可接入,实时监测产品信息,实现远程控制。

微信小程序效果:

  • 云计算
  • 物联网应用
  • mqtt
  • stm32
  • 物联网平台
  • 微信小程序
您觉得本篇内容如何
评分

评论

您需要登录才可以回复|注册

提交评论

提取码
复制提取码
点击跳转至百度网盘