stm32L4|物联网管道设计总结(4+小结)

STM32与UG95实现物联网远程低功耗通信方案 低功耗广域网络(LPWAN)技术是物联网设备实现远程通信的关键,其中NB-IoT作为LPWAN的重要分支,以其超低功耗和广覆盖特性在工业物联网中广泛应用。基于ARM Cortex-M3架构的STM32微控制器与支持LTE Cat M1/NB1/NB2的UG95通信模块组合,通过动态电压调节和智能功耗管理策略,可在1.8V超低电压下稳定运行。该方案特别适合野外环境监测、移动资产追踪等需要突破地理限制的应用场景,实测表明采用TLS 1.2加密的CoAP协议配合边缘数据处理算法,可使日均通信时长缩短62%,电池寿 阅读详情


截取了本人课程报告的相关资料内容,如需引用,请结合自己的理解,切勿直接copy,我说的也不一定对hhh。是一个非常简单的demo,作为一个阶段记录叭

1.简要回顾物联网云管端设计思路

物联网导论课上知识,华为率先提出云管端分层的思想,这样层次清晰的结构是十分利于复杂问题的开发的。

  • 感知识别层(端):对应信息生成
  • 网络构建层(管):负责信息传输
  • 管理服务层(云):负责信息处理
  • 综合应用层(用):信息综合应用
    明确我们所处的位置,更好衔接上下层关系。

2.管道设计的实操经验

这里采用的的stm32L4板子,阿里云平台服务器,influxdb数据库,grafana可视化显示。稍微简单介绍一下每一部分基本功能。

  • stm32L4(小熊派开发板),调试终端,搭载传感器拓展板,发送数据源(端)
  • 阿里云平台服务器,轻量级应用服务器,用于安装influxdb数据库,信息存储。(用啥服务器都差不多,主要是这个99新人优惠便宜够用…)
  • influxdb数据库,特征点是时序数据库,通俗理解,就是时间索引,记录不同时刻收到的值,这个特点和物联网实时数据采集十分对口,于是广泛应用于监控场景。至于使用Go写成吖balala的都是后话,先弄清最基本操作。
  • grafana可视化平台,将influxdb数据库里的数据通过各种图表方式呈现。

2.1明确管道设计主要任务

物联网管道设计设计了个啥,做事要明确目的,其实很简单,我明确为以下几点:
管道设计任务需求
管道的设计,主要是数据从nbiot发送过后,从nbiot到云端数据库的过程进行设计。明确任务分析后,便着手解决对应的问题,我们处理的操作主要是联网和数据接收存储,对应下面的解决方案。

2.2 以udp为发送协议,存入influxdb数据库

2.2.1 UDP协议

接触这个之前,还没学习计算机网络,对与协议我最直观的理解主要是TCP和UDP,课程中老师提供了基本的发送demo,就是完成基本发送到服务器,并不管你存不存。
下面展示一些 UDP发送的代码demo。

# !/usr/bin/env python3
# -*-coding: UTF-8 -*-
import socketserver

class MyUDPHandler(socketserver.BaseRequestHandler):
     def handle(self):
            self.data = self.request[0]  # 接收数据。数据以字符串形式返回
            print("接收到来自{}的数据:{}".format(self.client_address, self.data))
            self.request[1].sendto(self.data, self.client_address)  # 将data发送到连接的套接字。


if __name__ == "__main__":
    HOST = "0.0.0.0"  # 服务器IP地址
    PORT = 13333     # 服务器端口号***(自定义的)***

    server = socketserver.ThreadingUDPServer((HOST, PORT), MyUDPHandler)  # 绑定服务器IP和端口号,启动监听,采用多线程
    print("UDP服务器已启动,等待接收数据...")
    server.serve_forever()

那么我是如何读懂使用的呢?
其实结构及其简单,主要就是开启服务器然后跑线程,不断调用函数监听采集的数据,清楚这个就十分好办啦。(当时我也看了很久,主要是没接触过类似代码,不过慢慢读懂,还是非常好理解的)
因为考虑到项目作为监测装置,需要快速采集,且低功耗应用,因此选用UDP。
操作方式:在服务器端运行python文件即可开启监听。

2.2.2 存入influxdb数据库

这个问题关键点是什么样的格式写入。关键代码如下:

def read_info():
    data_list = [
        {
            'measurement': 'test3',
            'tags': {'geohash': 'ws135jp',
                     'host': 'xyy'
                     },
            'fields': {
                'value': 1,  #随机写数据
            }
        },
    ]
    return data_list
client.write_points(read_info())

这是一个写入格式的函数+写入的操作,
这样写入是一种json格式(详细可查看其他资料)
转载自其他博主:
几个重要的名词介绍

  • database:数据库;
  • measurement:数据库中的表;
  • point:表里面的一行数据。

每个行记录由time(纳秒时间戳)、字段(fields)和tags组成。

  • time:每条数据记录的时间,也是数据库自动生成的主索引;
  • fields:记录各个字段的值;
  • tags:各种有索引的属性,一般用于where查询条件。
    明白大概名词就可以有基本操作了。
    将上面两个代码融合,就是发送+存入的最终代码。

2.3数据可以怎么处理

我们有三四个传感模块,为了让接收到的数据更加的可靠,效率更高且通用,经过与终端设计的协商,管道设计不同的模块发送的数据第一位采用不同前缀进行标识,后面跟对应的数值信息进行传送,然后再利用python进行切片处理和强制类型转换,将对应数值块存入不同的influxdb表格当中,由grafana对应读取表格中的数值,进行可视化数据展示。

好处:

  • 数据清晰,分到了不同的表
  • 简单,高效

缺点:

  • 如果数据长度不定,切片很难处理
  • 切片操作还是有点繁琐,需要一个个数出来,数据量大,工作量就上来了

这样的设计思路,也是和队员商量出来的,我们始终觉得还有一定的改进方案,但是目前还没有其他什么想法,希望以后学习通信相关知识,回来填坑。

3.复盘总结(唠唠嗑hhh)

10天的课程结束了,内心很复杂,感觉并没有之前想的这么兴奋。不是因为课程老师安排或者讲的不好,相反我觉得老师安排的特别好,由浅入深,体会stm32基础开发到基本可视化处理。
但是我自我感觉,我目前在这个过程中看到的可自由发挥方向太少,可能是碍于自己的眼界和技术。举个例子,我负责的是管道设计,在这个过程中熟悉了python语言设计,udp发送基本架构,数据简单处理,当然还有之前基本操作的终端调试。这些似乎不是一个发散的命题,不像java大作业那样,能够发散性思维,有系统设计美观,界面优化,用户操作逻辑等等,像一个蜿蜒不绝的路,让人忍不住一步步向前。
我起初对于stm32的理解,停留在Robomaster的电控上面,stm32电路控制,觉得是一个很酷的方向,也可能是这次主要侧重于传感器,监测方面,并没有像电机控制那样有实际的体验,让人觉得很兴奋。
最后的结课报告,我们其他小组基本上都是基于开发板监测装置,有一组是借鉴了稚晖君全息投影的应用,做的非常炫酷,搭载陀螺仪,全息投影,可变换颜色字体,配有前端显示陀螺仪状态,发送相关信息,有很高的集成度和观赏性。对于他们复刻稚晖君的想法,我挺惊讶的,就是在一个物联网设计课上会延伸到这个想法,emmmm我觉得我好像没有这个跨度。虽然都是陀螺仪(端),websocket开发作为中间管道运输,前端作为可视化展示。可以说是十分具有创新点了。我满脑子都是为什么我想不到这样的创意呢emmmm就是没能把这样的想法连接在一起呢?是我对于物联网的理解还不够全面吗?一直在自我反问。
写着一段话,我都还在很纠结,通过这样的形式,写出我现在的困惑和目前的思考。

下一阶段目标方向(时间定在国庆回来复盘):

  • 完成一项软件+硬件开源小项目(前提是便宜的那种hhh,毕竟可能只有自掏腰包了):在这里插入图片描述
    可能我在实际动手过程中,才会有新的收获,说不定能解决我现在的困惑。
  • 增强ppt制作能力:这次演示组员的ppt制作也很值得我学习,学习ppt的制作细节。
  • 技术不够心理不要有自卑或浮躁情绪,而要一种不停虚心学习的心态:这次合作的组员身上,我学习到他遇到问题,总是提醒我们不停变换思路去解决一个问题,不要死脑筋,耐心然后不停查找资料,相信搜索引擎和自己的理解能力,解决问题的办法不止一种。心态要摆好,冷静下来思考问题,灵活看待问题。对于女生偏见也好,技术不够菜鸟偏见也好。这些都是外界的声音,与我本身无关。
  • 不停朝着热爱的东西去,点亮一个个技能点!

在这里插入图片描述
稚晖君镇楼!在这里插入图片描述
以上的想法仅仅是我这个阶段的一些想法,并没有针对性,仅代表个人思考过程,我一直觉得思辨非常重要,不停复盘一个问题,找到一些新的思考方式,不断探究。

之前总会去权衡要不要去做,浪费了自己的时间,既然决定,就要行动起来。希望有一天能够成为一名机器人工程师。

别再只做智能家居了!用STM32+LoRa/NB-IoT做这些冷门但实用的毕设,导师眼前一亮 本文介绍了5个基于STM32与LoRa/NB-IoT的冷门物联网毕设方案,包括城市地下管网健康监测、历史建筑微环境监测等,突破传统智能家居项目,展现低功耗广域网络技术的实际应用价值。这些方案不仅实用,还能让导师眼前一亮。 阅读详情

相关推荐

基于物联网的智能LPG钢瓶安全监测系统:硬件选型、低功耗设计与算法实现

物联网技术通过传感器、网络和数据分析,实现了物理世界的数字化与智能化管理,其核心价值在于提升效率、保障安全与优化决策。在工业与家庭安全领域,传感器网络与低功耗设计是关键。具体到燃气安全场景,结合高灵敏度MEMS气体传感器和压力传感器,通过本地智能算法实现泄漏预警与余量监控,能有效预防事故并提升生活便利性。本文以印度市场的智能LPG钢瓶系统为例,详细阐述了其硬件选型、低功耗设计实战以及泄漏检测与余量计算等核心算法的实现,展示了物联网技术在解决具体民生安全痛点上的工程实践。

weixin_28724661的博客 240

基于STM32单片机采集数据并上云

基于STM32单片机采集数据并上云一、实验目的及要求二、实验软硬件环境三、实验过程3.1用STM32CudeMx工具创建HAL库工程模板3.2使用Keil5在HAL工程模板的基础上进行开发四、实验结果 一、实验目的及要求 利用STM32单片机通过连接DHT11温湿度传感器测出温湿度数据,并通过连接Esp8266模块把数据上传到云服务器中 二、实验软硬件环境 1、硬件 STM32F103C8T6开发板、DHT11温湿度传感器、ESP8266 2、软件 MDK5(Keil5)、STM32CudeMx 3、接线

weixin_43517147的博客 4671

2024机器人工程专业毕设创新选题50例:从STM32到AIoT的融合实践

本文提供了2024年机器人工程专业毕业设计的50个创新选题,涵盖STM32与AIoT的融合实践。从智慧农业到工业检测,再到机器人感知与控制,这些选题结合了最新的技术趋势,如边缘计算、5G通信和新型传感器应用,旨在帮助学生打造具有实际应用价值的毕业项目。

culuo8053的博客 524

(实测可用)STM32CubeMX教程-STM32L431RCT6开发板研究串口通信(RS485)

1、开发板资源简介 (1)开发板主芯片型号:STM32L431RCT6 (2)开发板主芯片封装:LQFP-64_10x10x05P (3)开发板主芯片内核:ARM® Cortex®-M4 (4)开发板主芯片主频:80MHz (5)开发板主芯片Flash大小:256KB (6)开发板主芯片RAM大小:64KB

zhej2014的博客 6911

物联网设计报告

选择在普林特印染科技有限公司研发部门实习,主要原因是可以完美的把本专业的自动化知识和本学校的纺织特色相结合。

STM32F4上使用TCP和UDP的例程

这个是在STM32F4上使用TCP和UDP的例程,通过LWIP协议进行Socket通讯,有需要的可以下载。

[STM32L4]STM32L431使用TencentOS tiny操作系统连接腾讯物联网开发平台

根据自己的开发板在encentOS-tiny\board文件夹下寻找相对应的开发板,我这里选择TencentOS_tiny_EVB_MX_Plus,进入文件夹,打开KEIL文件,打开hello_world工程。板子实物就这样,没啥好介绍的,都是基础的外设,如今闲来无事,再加上众多大神完善了git库,使开发变得容易,所以索性掏出来玩一下。基本满足开发需求,使用很方便。为了方便观察到设备受控,这里控制开发板上的灯,因为该灯只受高低电平控制,所以无法显示颜色,亮度的受控结果,这里会使用OLED来替代。

ic2121的博客 738

STM32L4 系列硬件开发入门.pdf

里面有如何设计 基本电路,注意事项,对于硬件工程师非常有参考价值

STM32L4学习

STM32Cube 是 ST 提供的一套性能强大的免费开发工具和嵌入式软件模块,能够让开发人员在 STM32 平台上快速、轻松地开发应用。图形配置工具STM32CubeMX。允许用户通过图形化向导来生成C语言工程。嵌入式软件包(STM32Cube库)。包含完整的HAL库(STM32硬件抽象层API),配套的中间件,以及一系列完整的例程。Drivers文件夹Drivers文件夹包含BSP,CMSIS和STM32L4xx_HAL_Driver三个子文件夹。

Caramel_biscuit的博客 2282

手把手教你用VSCode+SDL在Ubuntu上跑LVGL8.2模拟器(附插件清单)

本文详细介绍了在Ubuntu系统上使用VSCode和SDL库搭建LVGL8.2模拟器环境的完整流程,特别适合嵌入式开发者(如全志F1C100s平台)进行UI设计验证。从环境配置、项目编译到VSCode深度集成,提供了实用技巧和常见问题解决方案,帮助开发者实现'先模拟后真机'的高效开发模式。

weixin_33737134的博客 358

别再只插线了!用示波器‘偷看’USB-C PD协议握手全过程(附BMC/4B5B编码解析)

本文详细介绍了如何使用示波器捕获并解码USB-C PD协议的握手过程,包括BMC/4B5B编码的解析技巧。从硬件配置到波形分析,再到协议注入,为工程师提供了一套完整的实战解码手册,帮助深入理解PD协议的工作原理。

weixin_42526417的博客 403

在STM32上移植FreeModbus RTU的一点经验总结

这几天因为工作需要,移植了modbus RTU到STM32来,之前也听说过modbus,但是没有深入了解过,还以为会像usb 那样复杂的,经过这几天的折腾,发现真的太简单了。为了防止过段时间又忘记了怎么移植,在这里把移植过程记录下来,也为了方便初次接触modbus的人。     废话少说,首先去下载源码,我下载的是freemodbus-v1.5.0,解压后如图所示:   在demo文件夹中有

东来东往 3万+

Cadence Virtuoso ADE L保姆级教程:从DC到Noise,一次搞定6种仿真设置

本文提供Cadence Virtuoso ADE L的全面仿真教程,涵盖DC工作点分析、瞬态响应、AC特性、零极点分布和噪声性能等6种仿真设置。通过详细的步骤和实用技巧,帮助工程师高效完成从基础配置到高级后处理的完整工作流,显著提升IC设计效率。

weixin_26841743的博客 601

基于UG95与STM32的物联网远程通信方案设计与优化

LoRa技术作为低功耗广域网络(LPWAN)的核心技术之一,通过扩频调制实现远距离通信与强穿透能力。其工作原理是在sub-GHz频段采用 chirp扩频技术,在保持低功耗特性的同时显著提升链路预算。在物联网领域,LoRa与STM32等低功耗MCU的组合能构建超长待机的边缘节点,广泛应用于环境监测、智慧农业等野外场景。UG95模块作为典型LoRa模组,配合STM32L152RE的电源管理技术,可实现μA级休眠电流与15km+通信距离。本文详解硬件选型、协议优化及抗干扰设计,为远程物联网系统开发提供实践参考。

weixin_33794672的博客 671

Ubuntu 20.04下Cube-Studio云原生平台单机部署全攻略(附避坑指南)

本文详细介绍了在Ubuntu 20.04系统上单机部署Cube-Studio云原生平台的完整流程,包括环境准备、Docker配置、Rancher与Kubernetes集群部署以及Cube-Studio核心组件安装。特别提供了官方文档未涵盖的实战技巧和常见问题解决方案,帮助开发者高效完成部署并避免常见陷阱。

weixin_29313423的博客 465

【超简单】一文入门在Ubuntu系统使用GitHub

Github是基于git的代码仓库,对于开发项目的科研者或者工程师,代码仓库都是不可多得的版本控制与多端编程工具,今天这篇文章带你轻松Github入门,简单的项目本文的操作足矣。

a13337649640的博客 5236

STM32与NB-IoT模组OTA远程升级实战:从Bootloader设计到固件安全更新

空中下载技术是物联网设备实现远程维护与功能升级的核心机制,其原理是通过无线网络将新固件传输至终端设备并完成安全替换。该技术对于部署在广泛区域的低功耗物联网设备具有关键价值,能极大降低现场维护成本并快速修复漏洞。在嵌入式领域,微控制器与通信模组协同工作是实现OTA的常见架构,其中引导程序的设计、固件分区管理以及断电保护策略是保障升级可靠性的技术要点。本文聚焦于STM32微控制器与移远BC28 NB-IoT模组的组合,深入剖析了在这种资源受限、网络不稳定的典型物联网场景下,如何构建一套包含固件下载、校验、备份与

weixin_30258901的博客 448

【GAMES101】现代计算机图形学入门 资料整理

课程网址 课程主页 包括ppt 课程PPT和视频 一篇搞定!GAMES101现代计算机图形学入门(全) 作业链接地址 作业论坛 GAMES101课程环境搭建(Win10+VSCode) 计算机图形学笔记 虎书pdf 提取:n2rx 【必须】:高等数学(微积分、线性代数)、算法、数据结构 【非必须】:信号处理、数值分析、大学物理(光学) 在线公式编辑器 一定要做作业,如果个人要配置环境的话应该是配置opencv,eigen这两个核心库就行了,目前觉得最核心的一个作业是作业3,实现着色器和渲染管线,做完一遍

ysh的博客 2684

基于STM32单片机矿井安全 瓦斯检测 天然气 甲烷报警物联网DIY

该系统基于STM32单片机设计,用于实时监测矿井中的甲烷(CH₄)浓度,并通过物联网技术实现远程报警和数据传输。核心功能包括高精度气体检测、阈值报警、数据记录及无线通信,适用于煤矿、天然气管道等易燃易爆环境的安全监控。

ztopmind的博客 715

通达信强龙趋势幅图指标 - 精准捕捉趋势,把握强势行情,多角度分析个股,强弱一目了然

STICKLINE(趋势>0 AND SJTJ,4.8,5.8,1.5,0),COLORYELLOW;STICKLINE(资金>0 AND SJTJ,1.2,2.2,1.5,0),COLOR0080FF;STICKLINE(异动>0 AND SJTJ,0,1,1.5,0),COLORFF0080;STICKLINE(异动=0 AND SJTJ,0,1,1.5,1),COLORGRAY;

Q1809330692的博客 5637

华为 MetaERP 集成盘古大模型、天筹 AI 求解器等生成式 AI 相关技术能力,结合华为云数智融合平台的支撑,在供应链预测中围绕需求预测、物料匹配

华为 MetaERP 集成盘古大模型、天筹 AI 求解器等生成式 AI 相关技术能力,结合华为云数智融合平台的支撑,在供应链预测中围绕需求预测、物料匹配、风险预警等核心场景开展实践,大幅提升了供应链预测的精准度与效率,以下是具体实践内容及成效: 动态需求预测,降低库存偏差华为供应链涉及数万种采购物料,物料清单层级高,且市场需求波动大。MetaERP 集成华为云 ModelArts 等工具构建专属动态需求预测模型,融合深度学习算法,纳入市场趋势、历史销售、产能数据等多维度信息进行综合预测。在华为自身供应链应

金牌架构师 701

基于STM32单片机的健康监护语音播报APP设计

系统构成:本设计由STM32单片机电路+心率血氧采集电路+DS18B20温度采集电路+蜂鸣器报警电路+ 按键检测电路+wifi电路+美锐-MR628 TTS语音播报电路+LED指示灯电路+OLED显示电路+电源电路组成。

嵌入式基地 3513

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

STM32CubeMX功耗优化:系统时钟调优完整示例

通过合理配置系统时钟,利用stm32cubemx教程指导实现STM32的低功耗运行,结合实际案例展示时钟树优化对能耗的影响,帮助开发者提升能效。

weixin_34640289的博客 819

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

proteus如何添加stm32_STM32信息安全概览

1、STM32信息安全层叠架构随着物联网以及智能化产品的不断涌现,信息安全问题也日渐受到关注。信息安全是一个全系统需要统一考虑的问题,在提供服务的云端、通信管道、边缘及中断节点都需要部署完整的安全策略,即使是节点设备也不应该因为资源和处理能力有限而成为整个系统信息安全的薄弱环节。STM32 MCU从产品底层硬件的安全能力,中间件的提供的密码学引擎,到对接应用程序的安全方案与服务等,提供了完整的生态...

weixin_40004659的博客 518

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: stm32L4|5G模组入网与云平台收发学习记录
下一篇: python|在阿里云服务器上跑预测模型
windblocks
博客等级 码龄7年 6粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值