IOT知识记录

news2025/2/1 9:12:14

文章目录

  • 物联网
    • 程序设计
    • GPIO 端口配置结构体定义 //代码规范样例
    • NB模组运行流程
    • LORAWAN模组
        • 1. 基础知识:
        • 2. 运行流程:
    • 4G 和WIFI
    • GPRS
    • PDN与APN
    • PDP上下文和PDP地址
    • APN:APN即“接入点名称”

物联网

程序设计

  1. 程序框架的规划
  2. 各个模块功能的细分
  3. 系统资源的分配
  4. 算法的设计
  5. 程序流程图的绘制

GPIO 端口配置结构体定义 //代码规范样例

typedef struct
{
    en_gpio_dir_t       enDir;           ///< 端口方向配置
    en_gpio_drv_t       enDrv;           ///< 端口驱动能力配置
    en_gpio_pu_t        enPu;            ///< 端口上拉配置
    en_gpio_pd_t        enPd;            ///< 端口下拉配置
    en_gpio_od_t        enOD;            ///< 端口开漏输出配置
    en_gpio_ctrl_mode_t enCtrlMode;      ///< 端口输入/输出值寄存器总线控制模式配置
}stc_gpio_cfg_t;

NB模组运行流程

参考链接:NB-IoT/4G模组的AT拨号联网流程

1.空闲状态,等待发送
2.打开控制电源
3.触发开机
4.结束开机动作
5.触发复位
6.结束复位动作
7.使用AT测试连接
8.显示产品标识信息,如设备型号和固件版本号(读取模组型号)
9.关闭回显
10.设置休眠
11.读取模组SN
12.获取模组IMEI号
13.设置APN
14.读取USIM
15.等待网络连接
16.等待网络分配IP地址
17.读取USIM卡的IMSI
   SIM卡,里面有ICCID,也有IMSI。 ICCID是卡的标识,IMSI是用户的标识
18.读取USIM卡的ICCID
19.更新信号质量寄存器RSSI
20.更新当前时间

# TCP/UDP连接
21.设置数据格式为Hex还是String
22.设置服务器的IP和PORT (打开 Socket 服务)
23.等待连接平台
24.发送数据(从发送缓存提取数据)
25.等待发送结束
26.接收数据或URC
27.读取接收数据
28.关闭 Socket 服务

psm(Power Saving Mode):省电模式,相当于把eDRX开关网络的频率放的更低,低至几天打开一次网络。同样,打开网络的时候能收到数据,不打开网络的时候收不到数据。
eDRX:扩展不连续接收模式

LORAWAN模组

1. 基础知识:

在这里插入图片描述

  1. ADR(Adaptive Data Rate)标志位 : 速率自适应是LoRaWAN的核心功能之一。
  2. 加网方式 OTAA ABP
  3. class A:Class A 的终端在每次上行后都会紧跟两个短暂的下行接收窗 口,以此实现双向传输。
  4. class B:时隙打开窗口。

2. 运行流程:


 1. 空闲状态,等待发送
 2. 打开控制电源,开机
 3. 复位操作
 4. AT测试连接
 5. AT+RESET复位模组
 6. 再次用AT测试连接
 7. 低功耗模式设置(打开自动进入低功耗)
 8. 获取固件版本
 9. 模组默认时区设置
 10. 更新模组ID信息
 11. 更新模组密钥信息
 12. 获取模组ID
 13. 设置模组频率
 14. 设置模组通道
 15. 设置模组速率
 16. 是否使用ADR
 17. 加网模式
 18. 设置CLASS模式
 19. 断开当前网络,强制发送一个JOIN请求 AT+JOIN=FORCE
 20. 响应加网,接收数据
 21. 是否切换calss B
 22. 发送数据
 23. 数据确认
 24. 更新时间

4G 和WIFI

  1. 两者都要注意波特率的修改
  2. WIFI要注意配网

GPRS

通信过程对电流稳定性有一定要求。

PDN与APN

PDN is packet data network which will give data transmission services to the mobile 
user through Access point name which is configured in mobile device. In short APN 
identifies the PDN. APN is used in 3GPP data access networks, e.g. General Packet 
Radio Service (GPRS), evolved packet core (EPC).

1. PDN 是一种分组数据网络,通过在移动设备中配置的接入点名称向移动用户提供数据传
输服务。简言之,**APN识别PDN**。
2. APN 用于3GPP数据接入网络,例如通用分组无线业务(GPRS)、演进分组核心(EPC)。
3. APN 结构由两部分组成:1)网络标识符和2)运营商标识符

PDP上下文和PDP地址

概念理解:
1. PDP地址就像开通有线电话时,开通工单上的电话号码,而PDP上下文就是这张电话开通工单,
上面不仅有分配给你的电话号码,还有这部电话相应的其他属性,其他功能的信息;
2. PDP上下文(pdp context)是一个结构,而IP adr只是结构中的成员而已,其他还包括QoS,APN等,这些都是PDP上下文的内容。
3. 借助模组AT指令手册,查看具体参数定义。
4. PDP上下文,为建立数据传输的逻辑通路,获取PDP地址与IP地址等之间的映射关系

APN:APN即“接入点名称”

当连接到 NB-IoT 网络时,必须执行 PDN 连接设置

微控制器软件接口标准(CMSIS:Cortex Microcontroller Software Interface Standard)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/104442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

氧饱夹语音芯片,内置功放直推喇叭输出,低成本语音IC,WTN6系列

血氧夹能够实时检测用户当前的血氧饱和度&#xff0c;相比于传统没有嵌入语音芯片的血氧夹&#xff0c;只有一个显示屏&#xff0c;无法直观知道当前血氧是正常还是偏低&#xff0c;需要用户查阅一些资料/问客服如何使用&#xff0c;大大降低了产品的体验&#xff1b; 添加了语…

界面控件DevExpress WPF中文指南 - 主题设计器工作区介绍

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF的Them…

统一自己的mac和linux环境的终端使用(alacritty+tmux代替iterm2)

升级切换了下自己的终端工具tmux配置&#xff0c;终端工具从iterm2改到了alacritty。 为什么切换终端 快。 alacritty使用GPU进行渲染&#xff0c;可以做到其他无法实现的性能优化。小。 iterm2快40m&#xff0c;alacritty只有10m&#xff0c;当然这个只能算小优点&#xff0…

flex换轴,布局,语法,移动端

物理分辨率&#xff1a; 硬件所支持的&#xff0c;屏幕出厂就设定无法修改逻 辑分辨率&#xff1a; 软件可以达到的&#xff0c; 我们开发中写的是逻辑分辨率 视口&#xff08;viewport&#xff09;就是浏览器显示页面内容的屏幕区域。 <meta name"viewport" c…

栈的分类以及应用场景

栈的本质就是一段内存&#xff0c;程序运行时用于保存一些临时数据。栈大体可以分为四种类型空增、空减、满增、满减。ARM处理器一般使用满减栈。 目录 1、栈的分类 2、压栈/出栈的两种实现方式 (1) 方式一&#xff1a;使用后缀DB / IA (2) 方式二&#xff1a;使用后缀FD …

nexus 远程代码执行 (CVE-2020-10199)

目录 一、漏洞信息 二、影响版本 三、环境搭建 四、漏洞复现 五、修复建议 这里用的是docker desktopvulfocus搭建的环境。 一、漏洞信息 名称: nexus 远程代码执行 &#xff08;CVE-2020-10199/10204&#xff09; 描述: Nexus Repository Manager&#xff08;NXRM&a…

K8s 滚动升级与回退

目录前言一、升级二、回滚前言 Rolling Update 即滚动更新&#xff0c;先更新一部分副本&#xff0c;成功后再继续更新更多副本&#xff0c;最终完成所有的副本更新。前面说到动态伸缩容并不会触发上线&#xff0c;仅当 Deployment Pod 模板&#xff08;即 .spec.template&…

代码随想录拓展day1 1365.有多少小于当前数字的数字;941.有效的山脉数组;

代码随想录拓展day1 1365.有多少小于当前数字的数字&#xff1b;941.有效的山脉数组&#xff1b;1207.独一无二的出现次数&#xff1b;283. 移动零 打卡结束了&#xff0c;趁着世界杯当了几天懒狗&#xff0c;现在正好世界杯也结束了&#xff0c;希望能保持一个好习惯吧。 13…

m基于DCAR编码感知的网络路由发现算法matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 1.路由请求过程 当一个源节点有数据要向目的节点发送且在当前路由缓存中未发现可用路径时&#xff0c;则启动路由请求过程&#xff0c;下面分步对该过程进行说明&#xff1a; 步骤1&#xff1a…

AI行动,解放做表打工人

1. atomecho 插件介绍 如果你是个—— 需要做财报、数据新闻的冤种&#xff1b; 或者是“网上有的我都想要”的囤积狂魔&#xff1b; 或是沉迷“CtrlC、CtrlV”的做表工具人。 那你一定不陌生—— 对不上的格式、找不到的数据、删不完的无效内容、按烂了的“CtrlC”和“CtrlV…

在Qt creator中查看Qt源码

Qt 是开源语言&#xff0c;阅读其实现的源代码可以帮助我们更好的了解Qt&#xff0c;解决开发中遇到的问题&#xff0c;能帮助我们更快的成长&#xff0c;本文介绍了Qt官方原代码的两种查看方法。 在Qt creator中查看Qt源码在线查看本地查看配置版本一、下载源码1、运行Mainten…

阿里云崩“出圈”了!保护业务还得加一道同云跨可用区容灾!

2022年12月18日&#xff0c;上午10点47分&#xff0c;阿里云的香港部分服务出现故障&#xff0c;导致多个香港及澳门站点受到影响。 随后阿里云方面发布公告表示&#xff0c;阿里云官网 12 月 18 日下午更新处理进展称&#xff0c;经排查&#xff0c;阿里云香港地域故障确认为…

嵌入式Linux驱动开发之点灯

使用驱动开发的方式点亮一个LED灯。看看两者有啥区别不&#xff1f; 一、先看原理图 首先查看原理图&#xff0c;看看我们的板子上的LED等接在哪一个IO口上面。 好了&#xff0c;看原理图我们知道LED灯接在芯片的GPIO1的第三个引脚上面&#xff0c;也就是GPIO1_IO03。 二、I…

优化稠密点之尝试通过 Balance 来分摊访问压力

回忆之前的官方架构图&#xff0c;数据在 storaged 中是分片的&#xff0c;且 raft 协议中只有 leader 才会处理请求&#xff0c;所以&#xff0c;重新进行数据平衡操作&#xff0c;是有可能将多个稠密点分摊到不同的服务上以减轻单一服务的压力。同时&#xff0c;我们对整个集…

记录C,C++关键字的位置,直接跳过注释和字符串文本。(修正)

依据第二版本&#xff0c;可以写一个跳过注释的查找函数 C_IndexOfWord Java_IndexOfWord CSharp_IndexOfWord 还有一种方法&#xff0c;可以先把所有注释用空格代替&#xff0c;查出的字符位置也不变。 以前版本&#xff1a; DList<TextColor> Syntax::GetTextColorP…

(三分钟)学会kd-tree 激光SLAM点云搜索常见

Kd-Tree&#xff1a; 今天来介绍一下有关Kdtree的相关概念&#xff0c;它是一维线段树的多维推广。Kd-tree常用在激光点云编程中使用&#xff0c;Kd-tree简称k维树&#xff0c;是一种空间划分的数据结构&#xff0c;常被用于高维空间中的搜索&#xff0c;比如范围搜索和最近邻…

动态规划问题——最长公共子序列问题

题目: 给定两个字符串 str1 和 str2 &#xff0c;返回两个字符串的最长公共子序列。 举例&#xff1a; str1 "1A2C3D4B56" str2 "B1D23CA45B6A" 最长公共子序列为&#xff1a;"123456" 或 "12C4B6" 返回哪个都行 思路&#xf…

「内核知识」Linux下的系统调用write

本文以x86_64平台为例&#xff0c;分析linux下的系统调用是如何被执行的。 假设目标系统调用是&#xff0c;其对应的内核源码为&#xff1a; // fs/read_write.c SYSCALL_DEFINE3(write, unsigned int, fd, const char __user *, buf,size_t, count) {return ksys_write(fd, …

通过国产化低代码平台搭建设备管理系统,助力中国航天企业信息化建设

编者按&#xff1a;掌握软件自主权&#xff0c;支持信创国产化。本文分析了国产化低代码平台的意义&#xff0c;并介绍了低低代码平台是如何为航天企业提高信息化建设水平的。 关键词&#xff1a;国产化&#xff0c;第三方对接能力&#xff0c;文件管理 以容器、微服务、DevOp…

Linux内核中的open方法

在linux下&#xff0c;假设我们想打开文件/dev/tty&#xff0c;我们可以使用系统调用open&#xff0c;比如&#xff1a; int fd open("/dev/tty", O_RDWR, 0); 本文将从源码角度看下&#xff0c;在linux内核中&#xff0c;open方法是如何打开文件的。 首先看下入…