- 博客(32)
- 收藏
- 关注
原创 OAuth 2.0 详解
OAuth 2.0 是一个强大的授权框架,旨在让用户安全地授权第三方应用访问其资源,而无需暴露用户的凭据。OAuth 2.0(Open Authorization 2.0)是一个开放标准的授权框架,用于在不共享用户凭据(如用户名和密码)的情况下,允许第三方应用程序安全地访问用户的资源。它的主要目的是让客户端(第三方应用)能够以用户的名义访问受保护的资源,而无需直接获取用户的凭据。客户端向授权服务器发起授权请求,通常通过重定向用户到授权服务器的登录页面。资源服务器验证访问令牌的有效性后返回请求的资源。
2025-02-18 16:12:24
1153
原创 OATH 详解
OATH(Open Authentication,开放认证)是一组开放标准协议,主要用于增强身份验证的安全性。OATH 的核心思想是使用共享密钥和算法生成唯一的密码,广泛应用于双因素认证(2FA)和多因素认证(MFA)场景。OATH 是一种强大的身份验证技术,通过动态生成一次性密码(OTP)增强了用户登录的安全性。无论是 TOTP 还是 HOTP,它们都依赖于共享密钥和特定的输入(时间或计数器)来生成 OTP,并通过服务器端的验证完成认证过程。OATH 是一个开放标准框架,旨在提供一种安全的身份验证机制。
2025-02-18 16:06:03
602
原创 GATT(Generic Attribute Profile)详细解析
GATT(通用属性协议,Generic Attribute Profile)是 BLE(Bluetooth Low Energy,蓝牙低功耗)通信的核心协议,定义了客户端(Client)和服务器(Server)之间的数据交互方式。它构建在 ATT(Attribute Protocol)之上,负责服务发现、数据读写、通知等操作,适用于各种 BLE 设备,如智能家居、智能穿戴、健康监测等。
2025-02-13 16:28:29
766
原创 以太网(Ethernet)连接智能家居设备技术流程和原理
以太网(Ethernet)是智能家居设备(如 Hub、摄像头、网关等)与本地网络或互联网连接的基础。相比 Wi-Fi,无线协议(Zigbee、Thread、BLE、433MHz),以太网提供。供电,使设备无需额外电源适配器。的通信方式,并且支持。
2025-02-12 10:42:57
962
原创 DHCP协议概述
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种。的网络协议,适用于 TCP/IP 网络环境。
2025-02-12 10:07:14
750
原创 WiFi配网流程—SmartConfig 配网流程
SmartConfig 配网的核心思路是:📡,使用 UDP,让设备并解析出 Wi-Fi 信息,完成自动联网。
2025-02-10 14:24:56
1643
原创 WiFi配网流程—Soft-AP 配网流程
Soft-AP(Soft Access Point)配网是 IoT 设备常用的 Wi-Fi 配网方式之一,允许设备创建临时热点,用户手动连接后,在 App 内完成 Wi-Fi 传输,使设备加入家庭 Wi-Fi 网络。:由于 Soft-AP 没有互联网,iOS 可能会干预 Wi-Fi 连接。直接跳转 Wi-Fi 设置页面(但不能直接选中 Wi-Fi)。:设备扫描附近 Wi-Fi,获取 SSID 列表。:App 可通过局域网发现设备(如设备支持)。:设备开启 Wi-Fi 热点,允许手机连接。
2025-02-07 16:36:50
774
原创 WiFi设备的配网流程(总概述)
Matter over Wi-Fi 设备、Google Home / Apple HomeKit 设备配网。(AP模式),让用户手机连接到这个热点,配置 Wi-Fi 账号和密码,然后设备再去连接目标 Wi-Fi。的配网方式,设备在 Wi-Fi 网络中监听特定数据包,从中提取 Wi-Fi 账号和密码。不同厂商的 Wi-Fi 设备配网方式可能略有不同,但大体上可以分为。Wi-Fi 设备的配网(Provisioning)是指。传输 Wi-Fi 配网信息的方法。等 Wi-Fi 模块的设备。
2025-02-07 15:59:14
689
原创 Thread 概述
Thread 设备使用 6LoWPAN,可以与 Wi-Fi/以太网设备(如 Google Nest Hub)直接通信,而 Zigbee/433设备则需要网关进行协议转换。,产品开发人员和消费者可以轻松地通过Thread安全地将250多个设备组成一个低功耗无线Mesh网络,并且网络中的每个设备都可以连 接Internet,访问云服务。:新设备加入网络时,只需连接到最近的 Mesh 设备,而不需要单独的配置。,设备之间可以动态调整角色,以保证网络的稳定性。,这就是“每个设备可充当路由器”的含义。
2025-02-07 11:24:05
1277
原创 ZigBee3-2 练习 看门狗
ZigBee3-2 练习 看门狗3-3看门狗原代码分析修改后代码理论学习:无线传感网络 --ZigBee3-2 看门狗3-3看门狗要求:(3)在《3-3看门狗》实验中体验了没有启用看门狗和启用看门狗对于应用程序的影响,要求修改代码,将看门狗的溢出周期修改为0.25秒,并且修改延时,检验看门狗对于应用程序的影响。原代码/***************************************************************************** 文 件 名: main
2021-10-05 23:16:51
448
原创 ZigBee3-1 练习 系统睡眠唤醒
ZigBee3-1 系统睡眠唤醒3-1 系统睡眠唤醒--中断唤醒原代码分析修改后代码3-2 系统睡眠唤醒—定时器唤醒原代码代码分析:修改后代码理论学习:无线传感网络 --ZigBee3-1 系统睡眠唤醒3-1 系统睡眠唤醒–中断唤醒要求:在《3-1 系统睡眠唤醒–中断唤醒》实验中,系统LED灯闪烁3次以后进入PM3模式,可以由用户通过按键唤醒。要求修改代码,尝试进入PM2模式,并通过按键唤醒原代码/************************************************
2021-10-05 23:07:18
2487
原创 无线传感网络 --ZigBee3-2 看门狗
ZigBee3-2 看门狗看门狗的使用看门狗模式定时器模式相关寄存器寄存器配置源码分析看门狗的使用看门狗是在软件跑飞的情况下CPU自恢复的一个方式,当软件在选定的时间间隔内不能置位看门狗定时器(WDT),WDT就复位系统。看门狗可用于电噪声,电源故障或静电放电等恶劣工作环境或高可靠性要求的环境。如果系统不需要应用到看门狗,则WDT可配置成间隔定时器,在选定时间间隔内产生中断。WDT的特性如下:4个可选择的时间间隔看门狗定时器模式下产生中断请求时钟独立于系统时钟,WDT包括一个15位定时/计数器,它的频率
2021-10-05 22:12:09
1626
原创 无线传感网络 --ZigBee3-1 系统睡眠唤醒
ZigBee3-1 系统睡眠唤醒电源管理简介系统睡眠唤醒--中断唤醒相关寄存器源码分析系统睡眠唤醒--定时器唤醒相关寄存器源码分析电源管理简介系统睡眠唤醒–中断唤醒相关寄存器睡眠定时器用于设置系统进入和退出低功耗睡眠模式之间的周期。还用于当系统进入低功耗模式后,维持MAC定时器(T2)的定时。其特性如下:长达24位定时计数器,运行在32768KHZ的工作频率。24位的比较器具有中断和DMA触发功能在PM2低功耗模式下运行.按照表格寄存器的内容,相关寄存器配置如下:SLEEPCMD|=mode;
2021-10-05 14:24:22
2317
原创 ZigBee2-2 练习 串口
ZigBee2-2 练习 串口2-3 串口通讯--收发字符串原代码分析:修改后代码2-4 AD采集cc2530温度串口显示原代码分析:修改后代码2-3 串口通讯–收发字符串要求:(2)在《2-3 串口通讯–收发字符串》中完成了串口数据收发的功能,要求修改代码,使得串口调试助手向开发板发送字符串“D1#”时,Led1交替改变亮和灭的状态。原代码/*****************************************************************************
2021-10-05 13:53:08
3435
原创 无线传感网络 --ZigBee2-3 串口
ZigBee2-3 串口CC2530的串口通信模块相关寄存器波特率串口配置步骤CC2530的串口通信模块CC2530具备2个串口;且每个串口都可以配置选择控制脚。两个USART接口具有相同的功能,通过PERCFG寄存器可以设置两个USART接口对应外部1/O引脚的映射关系:位置1:RX0—P02TX0—PO3 RX1—P05TX1—PO4位置2:RX0—P14TX0—P15 RX1—P17TX1—P16串口初始化代码:相关寄存器波特率串口配置步骤指定串口的IO位置;(此处
2021-10-05 13:33:39
2500
原创 ZigBee2-1 练习 定时器
ZigBee2-1 练习 定时器2-1 定时器原代码:2-1 定时器T1-查询方式2-2 定时器T3-中断方式分析:修改后代码理论部分:无线传感网络 --ZigBee2-2定时器2-1 定时器要求:(1)在《2-1 定时器T1-查询方式》实验中使用查询方式检测定时器的溢出,在《2-2 定时器T3-中断方式》实验中使用中断方式检测定时器的溢出。请大家在《2-2 定时器T3-中断方式》的基础上,计算溢出时间,使得Led灯点亮和熄灭的保持时间为1秒。原代码:2-1 定时器T1-查询方式/*******
2021-10-05 11:25:39
578
原创 无线传感网络 --ZigBee2-2定时器
ZigBee2-2定时器定时器定时/计数器的基本原理CC2530的定时/计数器CC2530的定时/计数器中断系统定时器T1例 定时器T1-查询方式源码分析定时器T3(明天再说)定时器定时/计数器的基本原理定时/计数器,是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时向CPU提出中断处理请求,从而实现定时或者计数功能的外设。定时/计数器的最基本工作原理是进行计数。不管是定时器还是计数器,本质上都是计数器,可以进行加1(减1)计数,每出现一个计数信号,计数展就会自动加1(自动减1)当
2021-10-04 23:38:25
2439
原创 无线传感网络 --ZigBee2-1 时钟
ZigBee2-1 时钟时钟例子CC2530在正常运行的时候需要一个高频时钟信号和一个低频的时钟信号高频时钟信号,主要供给CPU,保证程序的运行。低频时钟信号,主要供给看门狗、睡眠定时器等偏上外设。时钟信号的来源:高频信号有2个,芯片内部的16M RC电路;外接的32M石英晶振低频信号也有2个来源,芯片内部的32K RC电路,外接的32.768K石英晶振。CC2530芯片默认上电的时候,是内部的2个RC电路作为高频和低频的时钟来源。如果我们在用串口,特别是无线通信的时候,必须要用32M的石
2021-10-04 22:17:07
739
1
原创 ZigBee1-2 练习 外部中断
代码分析原代码/***************************************************************************** 文 件 名: main.c* 描 述: 通过按键S1产生外部中断改变LED1状态****************************************************************************/#include <ioCC2530.h>typedef unsign
2021-10-04 20:35:18
411
原创 无线传感网络 --ZigBee1-2 外部中断
ZigBee2 外部中断外部中断配置组配置组内配置PICTL寄存器中断函数例(附带解析)外部中断配置初始化IO口工作在普通IO、上拉输入状态。首先开IO口组中断开组内对应的具体某IO口中断上升沿还是下降沿触发开CPU总中断EA=1组配置特别注意PIIE在IEN2的第四位,要用P1IE的话,定义IEN2 |=0x10;//0001 0000,相当于P1IE等于1的作用组内配置第几位对应的是第几个脚PICTL寄存器0代表上升沿,1代表下降沿中断函数/**********
2021-10-04 00:31:43
809
原创 ZigBee1-1 练习 IO控制
1-1 IO控制Led亮灭代码分析代码分析要求:(1)在《1-1 IO控制Led灯亮灭》实验中完成了对Led1的控制,请大家添加代码,完成对Led3的控制,要求:Led3与Led1交替闪烁,即,Led1点亮时,Led3熄灭;Led3点亮时,Led1熄灭。原代码:/***************************************************************************** 描 述: GPIO输出控制实验1 操作IO口控制LED灯的亮和灭*****
2021-10-03 23:12:38
869
原创 无线传感网络 --ZigBee1-1 硬件相关,IO操作
ZigBee1 硬件相关,IO操作控制所有口子的输入输出IO口控制相关寄存器PxSEL寄存器PxDIR寄存器PxINP寄存器输出怎么配置:输入怎么配置:控制所有口子的输入输出一共有21个通用IO口,其中这21个分为3组P0\P1\P2;这些口子都可以作为普通或对应的片上外设控制。IO口控制相关寄存器PxSEL、PxDIR、PxINP Px(x分别对应0、1、2,用来控制对应的IO口组)3种寄存器,复位,默认都是0。PxSEL寄存器PxSEL寄存器作用: 有8位,每一位对应具体的IO组
2021-10-03 22:23:39
1262
原创 CH3 HTML基础 1
CH3 HTML基础html基本模板文字标题特殊字符超链接目录跳转跳转到外部链接链接到邮箱html基本模板<!DOCTYPE html><html lang="en"> <!-- 页面语言说明 --> <head> <meta charset="UTF-8"> <!-- 字符集 --> <meta http-equiv="X-UA-Compatible" c
2021-04-18 17:46:08
7284
4
原创 微信小程序3-1
微信小程序3尺寸单位rpx样式导入尺寸单位rpx1 小程序中 不需要主动来引入样式文件2 需要把页面中某些元素的单位 由px 改成rpx 1 设计稿750x 750 px= 750 rpx 1 px = 1 rpx 2 把屏幕宽度 改成375px 375 px = 375 rpx 1 px = 2 rpx 1 rpx = 0.5 px 3 存在一个设计稿 宽度414 或者 未知 page 1 设计稿 page 存在一个元素 宽度 100px
2021-02-15 23:01:09
539
原创 微信小程序2
微信小程序2事件绑定事件绑定简单双向绑定官方文档https://developers.weixin.qq.com/miniprogram/dev/framework/view/two-way-bindings.html<!-- 1 需要给input标签绑定 input事件 绑定的关键是 bindinput 2 如何获取 输入框的值 通过事件源对象e来获取 -->demon04.wxml文件<input type="text" bindinput="h
2021-02-09 13:42:46
142
原创 微信小程序1
数据绑定官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/view/component.htmldemon03.jsPage({ data: { msg:"hello mina", num:10000, isgirl:false, person:{ age:74, height:145, wight:200, name:"富婆" }})
2021-02-05 15:16:17
164
1
原创 JAVA常用类--String类
String类1.String2.StringBuffer和StringBuilder常用方法列表StringBuffer/StringBuilder基本用法3. 不可变和可变字符序列使用陷阱String和StringBuilder在频繁字符串修改时效率测试1.StringString 类对象代表不可变的Unicode字符序列,因此我们可以将String对象称为“不可变对象”。 那什么叫做“不可变对象”呢?指的是对象内部的成员变量的值无法再改变。我们打开String类的源码,如图String类的部分源码
2020-12-16 08:51:27
309
原创 JAVA常用类--包装类
Java常用类整理包装类Integer_Number自动装箱和拆箱包装类的缓存问题包装类Integer_Numberpublic class Test1 { public static void main(String[] args) { //基本数据类型转换成包装类对象 Integer a = new Integer(3); Integer b = Integer.valueOf(30); //把包装类对象转成基本数据类型
2020-12-15 23:54:02
296
原创 JAVA测试练习题---第一章
1.定义一个整型的长度为6的一维数组k[6],并将数组中元素k[i] 值初始化为i。然后,将元素k[3]打印出来。第一种:public class Test1 { public static void main(String[] args) { int [] k = {1,2,3,4,5,6}; for (int i:k); System.out.println("k[3]="+k[3]); }}第二种public class Te
2020-12-04 14:39:28
2858
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人