STM32的oneNet物联网远程智能家居控制系统-思路分享

设计了一款基于OneNET的物联网智能家居系统,用于家庭的智能控制系统。系统采用意法半导体公司的STM32F103C8T6作为控制单片机,果云科技的GA6作为物联网通信的载体。中国移动的OneNET作为服务器的数据交互平台实现物联网的远程数据采集以及设备控制。该系统具有数据通信可靠,开发成本低,维护简单等特点。

随着物联网技术的发展,越来越多的设备被连接入互联网,小到一个不起眼的插座,大到远程医疗手术设备,物联网技术已经遍布我们的生活,起着一个不可替代的作用,物联网产业的兴起促进了人们生活、工作的信息化和智能化水平的提升。推进物联网产业的发展,提高新兴产业的经济竞争力是下一阶段重点要做的工作。但当下我国物联网产业尚且存在很多漏洞,如产业链薄弱、物联网技术发展不成熟以及产业区域发展不平衡等,抑制了物联网的进一步发展。若想要使物联网产业取得实质性发展,就要加大对物联网技术的研究和对物联网产业布局的优化,健全物联网产业链,以期促进产业的协同发展。

物联网产业的领域、区域发展不平衡是当前非常显著的问题,通过分析和归纳物联网的发展情况和趋势,不难发现未来一段时间其发展的主要方向是物联网的行业应用。当前我国已经在智能交通、智能物流、医疗卫生等诸多领域进行了试点。但是物联网技术、行业保护等还不够成熟,导致部分试点项目存在周期长、回报收益低等问题,还有就是对行业实际发展需要和物联网现有技术认识不到位,出现盲目无序开发现象。

再者,物联网产业区域发展不平衡也是当前的显着问题。东部沿海地区的省市信息产业较为发达,争相对物联网产业的发展进行合理规划,以期形成特色产业集群效应。中西部省市由于物联网产业基础薄弱,实际发展需求较小,抑制了物联网产业的发展,逐渐与东部省份拉开差距。而其领域、区域的发展不平衡造成我国的物联网产业布局出现了不均衡的局面,物联网产业集群多分布在东部地区经济发达省市,而发达地区之间却又少有合作沟通,且对周围的不发达省市不能起到带动和示范作用。

其次,物联网产业的健康发展需要统一的行业组织规范。物联网产业涉及到多个领域的多个企业,行业跨度较大,不同行业的要求和用户需求也各不相同。目前,我国的物联网发展缺乏统一的行业组织标准,物联网产业各个时期的成本增加,阻碍了物联网的长效发展。

因此面对这种种的困境,中国移动首次推广了其物联网平台”OneNET”, 该系统从当前的实际情况出发,为用户提供了一个集开发、管理、推广于一体的物联网开放平台,是的人们能够用最少的经历以及最短的时间开发出最稳定的产品,借助于OneNET平台,用户可以不用过多的考虑协议层的内容。

2 系统组成

3 系统架构

本设计要求系统能够接收来自于手机APP的控制指令并准确无误的执行,并且实时反馈环境变量,系统架构如图3所示。整个设计由四部分组成,分别是MCU、GPRS通信、传感器电路、继电器电路。MCU主要负责处理来自与GPRS模块和传感器哦模块通信,并控制继电器进行响应的动作。GPRS模块主要负责与OneNET平台进行数据交互,传感器采集环境的温湿度,继电器用来控制用电设备的通断。

3 硬件系统设计

本设计的硬件主要包含了电子元器件的选型,基本电路的设计,以及电路的布局和排布,如图5所示,电源由5V电源输入,分别供应了继电器和GPRS模块,5V电源经过ASM1117-3.3后转换为3.3V电压供应单片机最小系统和DHT11温湿度模块。

5 硬件设计流程图

#include "user.h"
#include "a6.h"
#include "mqttkit.h"
#include "onenet.h"
#include "bsp_DHT11.h"
/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
	unsigned char Connect=0;
/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */

/* USER CODE END PD */

/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------*/

/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
unsigned int timeCount = 0;	//发送间隔变量
/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */
  

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_USART1_UART_Init();
  MX_USART2_UART_Init();
  MX_USART3_UART_Init();
  /* USER CODE BEGIN 2 */ 
	User_Gpio_Init();
	DHT11_Init();
	DHT11_Data_TypeDef DHT11_Data;
		if(DHT11_Read_TempAndHumidity(&DHT11_Data)==SUCCESS)
    {
      printf("读取DHT11成功!-->湿度为%.1f %RH ,温度为 %.1f℃ \n",DHT11_Data.humidity,DHT11_Data.temperature);
    }
    else
    {
      printf("读取DHT11信息失败\n");      
    }
		 HAL_Delay(2000);//等待外设初始化完成
	   printf("串口1工作正常\r\n");
		A6_Init();
		HAL_Delay(200);
		
		if(OneNet_DevLink()==1)//连接平台
		{		
			HAL_Delay(500);	
		}
		printf("平台连接成功");
		OneNet_SendData();	
		unsigned char *dataPtr = NULL;
		
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {				
		if(++timeCount >= 100*60*4 )									//发送间隔5min
		{ 
	
			OneNet_SendData();
			timeCount = 0;
			A6_Clear();
		}
		dataPtr = A6_GetIPD(0);
		if(dataPtr != NULL)	
		{
		  OneNet_RevPro(dataPtr); //平台返回数据检测
			printf("检测到平台数据\r\n");
		}	
			HAL_Delay(5);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  /** Initializes the CPU, AHB and APB busses clocks 
  */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
  RCC_OscInitStruct.HSEState = RCC_HSE_ON;
  RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;

731 基于STM32的ONENET物联网远程智能家居控制系统(毕业设计全套)

文章转自电设屋,完整资料百度网盘下载地址 https://www.aiesst.cn/share.html

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于单片机STM32和ESP8266的智能家居安防OneNET物联网系统可以具备以下功能点: 1. 远程监控与控制:通过连接到OneNET物联网平台,用户可以通过手机APP或者网页等远程监控和控制智能家居安防系统。例如,用户可以实时查看家庭摄像头的画面、远程开关灯、调节温度等。 2. 安全监测与报警:系统集成门磁、窗磁、红外感应器等传感器,实时监测家居的入侵情况。一旦有异常情况发生,系统会发出警报并向用户发送通知,提醒用户注意家庭安全。 3. 环境监测与控制:系统通过温湿度传感器、光照传感器等监测家居环境参数,例如温度、湿度、光照强度等。用户可以根据需求调节空调、加湿器、灯光等设备,提高家居的舒适性。 4. 省能节能管理:系统可以根据用户设置的时间表或自动感应,智能地控制家电设备的开关。例如,在用户离开家时自动关闭电器设备,实现节能管理。 5. 数据存储与分析:系统将监测到的数据上传到OneNET物联网平台,实现数据的存储和分析。用户可以通过手机APP或者网页查看历史数据,并根据数据分析报告做出相应的调整。 6. 安全权限管理:系统可以设置不同用户的权限,例如家庭成员和访客可以拥有不同的操作权限,保证系统的安全性。 通过以上功能点,基于单片机STM32和ESP8266的智能家居安防OneNET物联网系统能够提供全面的家居安全解决方案,并实现远程监控、环境控制、省能节能等智能化操作,提高家居的便利性和舒适度。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值