基于STM32的端到端物联网全栈开发一

应用逻辑

MQTT

TLS

TCP/IP

 

 

 

公有云应用服务器会提供一个 API,1、把数据转到客户自己的应用服务器上。

嵌入式 网站 数据库

 

阿里云平台汇聚节点端的数据再转发给应用服务器,为了方便各种设备接入,提供不同网络的设备接入方案。例如 2G 3G 4G NB-IoT LoRa 等,来解决异构网络接入管理的痛点。平台还提供多种协议的设备端SDK,目前支持设备以CoAP HTTP MQTT 协议接入。本些列课程会讲解两种方式的MQTT接入阿里云平台。

一个适用于存储和计算资源受限的设备(不带TLS),资源受限的设备使用原生的MQTT客户端接入 ,这里采用的是 Pahoo mqtt 客户端协议栈,由于节点设备存储资源有限,该连接方式不带TLS,数据格式来说,为了传输效率尽量简洁高效,节点和用户服务器端事先约好了数据负载的格式。由IOT平台管理和转发的主题也是事先约好的。

另一种适用于资源相对丰富的节点设备,如果节点端的应用逻辑复杂度到了一定程度,通常会使用RTOS,并基于 Linkkit SDK 这个由阿里云提供给设备厂商的SDK连接到阿里云iot平台,linkkit的信息以及如何使用会在之后介绍。另外,在丰富的设备中安全连接是一个重要的考量。因此在这个场景会支持TLS,还有是在阿里云IOT平台上,我们采用设备管理的高级版(物管理中的物模型),一旦物模型固定了,双方要处理的消息主题,消息负载的格式就确定下来。

 

 

Web端的应用开发

分为后端开发和前端开发两个部分。开发语言和运行环境也大不相同,后端开发核心是基于阿里云iot平台提供的http/2 SDK订阅能力。通过运行在springboot上的 http/2 sdk,服务端程序可以实时接收到设备上报的数据。并通过mybatis数据持久化框架将数据存储到mysql数据库中,供系统管理与查询。同时基于springboot开发的api服务将数据查询与管理的能力与http协议的接口开放出来,供前端程序请求调用。

前端开发是基于阿里巴巴开源的 流行框架 UMI和 AntD,其中AntD提供高质量的UI组件,可以使得开发者通过组件搭配快速开发出页面。UMI负责处理前端应用程序的编译打包,以及页面路由。前端组件是基于流行的React架构,交互友好并且相应迅速。

 

 

JDK8 是 java的开发工具包,是后端开发必不可少的环境工具

IntelliJ IDEA 是代码集成开发工具,自带包管理方便应用。

nodejs 是高性能的JavaScript的运行环境

mysql是最流行的数据库软件,在项目中用于存放项目上报的各类数据

Navicat for MySQL是·图形化操作MySQL的开发软件,VScode用于编辑前端项目代码。Git是分布式的代码管理软件,本例程中用于设备备份与实例代码下载。

 

经济的发展与技术的进步带动着人们更加渴望高品质的生活质量,作为当今产业大热门的智能家居逐渐成为市场关注的焦点,很多科技公司纷纷开发出自己的产品.不过由于浮夸的宣传,不合理的定位和高品的价格,导致了消费者纷纷对智能家居产品望而却步,行业呈现出叫好不叫卖的现象,鉴于此种情况,本文定位于智能家居中低端产业,开发设计出一款简单实用、价格低廉的智能家居控制网关系统,目的是在于让普通人也可以享受科技发展的成果. 该网关系统综合了电子技术、计算机技术、通信技术等多种技术,从硬件和软件两个方面对控制网关进行深入研究,最终实现对家居环境远程监测的目的. 在硬件方面,该控制网关系统采用以单片机为硬件控制平台,以供电模块、时钟模块、EEPROM模块等众多外围电路模块为输助,结合ZigBee与WiFi无线通讯技术,完成对智能家居网关系统的搭建工作,该网关系统的单片机采用功能强大、价格低廉基于ARM 32位CortexMLM3的STM32F103RCT6,它主要负责对家居环境的任务调度,智能控制:ZigBee部分采用主芯片为CC2530的无线通信模块,该模块主要包括两个部分:协调器和终端节点,终葡节点除了通信部分,还包括温湿度传感器、光线传感器、烟感传感器符部分,它负责完成对数据的采集、打包和发送工作,协调器则负责把终端节点发送的数据进行重新打包然后通过串口传送给主控模块:WiFi部分采用的是价格低廉、功能实用的ESP8266 WiFi通信模块,该模块有三种工作模式:STA.AP和STA/AP,使得WiFi部分兼具连接热点和发送热点两种功能,该模块负责智能家居控制单元和外界通信的工作,它通过串口和控制单元通信,然后通过WiFi网络发送接收信息. 在软件方面,控制网关采用以Keil和IAR为开发环境,以uCIOS-I操作系统为程序运行环境,结合C语言及少量汇编语言,共同完成系统的软件控制工作.Keil和IAR作为开发环境可以进行程序检测、烧录等辅助工作,大大减轻了工作量:uCOS-11操作系统短小精炼、功能强大的特点,使得硬件资源可以更加合理的利用,有助于节约成本,同时也让控制网关系统可以实时多任务执行,增强了系统功能:此外充分合理利用了网络库函数资源,大大节约了学习与开发进度.
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值