- 博客(75)
- 资源 (1)
- 收藏
- 关注
转载 [BLE]详解BLE连接建立过程
转载:https://www.cnblogs.com/iini/p/8972635.htmlBLE连接示例假设我们有一台手机A(以安卓手机为例),一个设备B(设备名称:Nordic_HRM),如下所示,我们可以通过安卓设置菜单里面的蓝牙界面,让两者连接起来。打开安卓设置菜单选择“蓝牙”条目打开蓝牙等待系统搜索结果,不出意外的话,设备“Nordic_HRM”会出现在结果列表中点击“...
2019-07-26 19:33:31 2898 1
转载 [BLE]整体架构
网上的资源:http://www.wowotech.net/sort/bluetooth/page/2https://blog.csdn.net/XG_2013/column/info/24074https://www.cnblogs.com/iini/(本篇文章转载处)协议栈框架PHY层(Physical layer物理层)。PHY层用来指定BLE所用的无线频段,调制解调方式...
2019-07-23 20:22:58 1955
原创 【Audio】WAV音频文件格式结构解析
网上找的一些资料,和自己的调试经验,总结~https://blog.csdn.net/imxiangzi/article/details/80265978https://www.cnblogs.com/ranson7zop/p/7657874.htmlWAVWAV文件是在PC机平台上很常见的、最经典的多媒体音频文件,最早于1991年8月出现在Windows 3.1操作系统上,文件扩展名为W...
2019-07-05 11:14:33 3933 2
原创 【Audio】MP3音频文件格式结构解析
网上找了一圈,自己做一个总结;方便自己查询~https://www.cnblogs.com/ranson7zop/p/7655474.htmlhttps://blog.csdn.net/fulinwsuafcie/article/details/8972346https://blog.csdn.net/xiahouzuoxin/article/details/7849249整个MP3 文件...
2019-07-05 10:18:17 4307 1
原创 【esp32】SNTP
参考资料https://blog.csdn.net/mmlii/article/details/6961473准备APP:https://github.com/EspressifApp/EspRelease/tree/master/EspTouch开发板一块源码地址https://github.com/zhqi-ang/esp32SNTP国内网址1.cn.pool.ntp....
2019-07-03 22:26:11 1377
原创 【C基础】memset
最近写一个函数,需要对输入的参数(输入参数类型不一样)进行清零,一开始打算自己写,然后需要判断输入参数的类型等等,发现好麻烦,想起了memset,就想着研究下实际原理;头文件选其中一个就好#include <memory.h>#include <string.h>memsetvoid *memset(void *s, int c, size_t n);分...
2019-06-27 12:53:51 210
原创 【MSP430】定时中断
中断的开关中断这个,我试了好像不太好用,定时中断还是会启动~// disable global interrupt关中断__bic_SR_register(GIE);// enable global interrupt开中断__bis_SR_register(GIE);_DINT();//关总中断 (可用于保护不希望受到中断打断的程序)_()NOP; //在保护程序之前与关中...
2019-06-27 10:02:27 3482
原创 【esp32】esp-aliyun:smart_light解析
阿里飞燕平台接上个文章,分析下代码:app_main(){ //Initialize NVS esp_err_t ret = nvs_flash_init(); if (ret == ESP_ERR_NVS_NO_FREE_PAGES) { ESP_ERROR_CHECK(nvs_flash_erase()); ret = nvs_f...
2019-06-25 22:14:09 2877 4
原创 【WiFi】HTTP1.0、1.1、2和HTTPS
TCP数据包模拟HTTP先通过域名解析,获取IP地址//DNS域名解析int err = getaddrinfo(WEB_SERVER, WEB_PORT, &hints, &res);//域名,端口,TCP设置,返回的地址信息创建TCP、socket按照HTTP协议格式发送请求//http请求包static const char *REQUEST =...
2019-06-24 13:56:38 977
原创 【UTF-8】文件转换为utf-8编码
关于带不带BOMBOM是什么?他是字节顺序标记,如下图主要用户UTF-16,UTF-32它的存在干扰了软件使用UTF-8,所以不带最好问题在日常的编程过程中,有时需要合作开发,不同的人用不同的软件打开的文件有时编码格式不一样,特别是采用了中文的GB2312等等,用软件打开可能就是乱码!!!其实一两个文件还好,手动改改也就这么回事,但是架不住多啊!为了解决这个问题,网上找了半天...
2019-06-21 17:32:59 5578
转载 【加密算法】AES
很早之前做的笔记,找不到是哪位大佬分享的了哈希摘要算法:MD5,SHA,不可逆对称加密算法:AES,可逆(DES的替代者)1.密钥密钥是AES算法实现加密和解密的根本。对称加密算法之所以对称,是因为这类算法对明文的加密和解密需要使用同一个密钥。AES支持三种长度的密钥:128位,192位,256位平时大家所说的AES128,AES192,AES256,实际上就是指的AES算法对不...
2019-06-20 13:16:11 19130 2
转载 【加密算法】SHA
很早之前做的笔记,找不到是哪位大佬分享的了SHA-1SHA-1算法可以从明文生成160bit的信息摘要,示例如下:给定明文: abcdSHA-1摘要: 81FE8BFE87576C3ECB22426F8E57847382917ACFSHA-1 与 MD5的主要区别是什么呢?摘要长度不同。MD5的摘要的长度为128bit,SHA-1摘要长度160bit。多出32...
2019-06-20 12:54:17 393
转载 【加密算法】MD5
MD5算法底层原理:简单概括起来,MD5算法的过程分为四步:处理原文设置初始值循环加工拼接结果第一步:处理原文首先,我们计算出原文长度(bit)对512求余的结果,如果不等于448,就需要填充原文使得原文对512求余的结果等于448。填充的方法是第一位填充1,其余位填充0。填充完后,信息的长度就是512*N+448。之后,用剩余的位置(512-448=64位)记录原文的真正长度...
2019-06-20 11:48:30 680
原创 【C基础】inline内嵌函数
C++中的inline用法内联函数的内涵:比如int g(int x) { return x + x;} int f() { return g(); } 这样f会调用g,然后g返回x + x给f,然后f继续把那个值返回给调用者。如果g是inline的话。f会被直接编译成:int f() { return x + x; } 相当于把g执行的操作直接融合到...
2019-06-19 15:47:00 462
原创 【esp32】用RMT控制WS2812
ESP32 各种时钟参数值设置ws2812驱动总结两位大佬的奉献:https://github.com/FozzTexx/ws2812-demohttps://github.com/JSchaenzle/ESP32-NeoPixel-WS2812-RMT头文件:esp-idf/components/soc/esp32/inclued/soc/soc.h//Periheral Clock...
2019-06-19 15:29:24 4899 3
原创 [GitHub]常用命令
命令下载和上传git clone +addrgit add .git commit -m "提交信息"git push -u origin master更新git status(查看本地分支文件信息,确保更新时不产生冲突)git checkout – [file name] (若文件有修改,可以还原到最初状态; 若文件需要更新到服务器上,应该先merge到服务器,再更新到本地...
2019-06-19 15:27:22 135
原创 【esp32】阿里飞燕平台
1、阿里飞燕平台AliOS-Things生活物联网平台阿里有飞燕平台,可以用来连天猫精灵,开放度好像还挺高的;又搭了一个Windows环境搭环境一时爽,一直搭一直爽o(╥﹏╥)o后来发现espressif有一个aliyun的包,可以用来直接用,不需要非得用Alios-Thinghttps://github.com/espressif/esp-aliyun这个是直接git clone ...
2019-06-17 21:45:12 5773 4
原创 [总线]I2S通信
I2S音频总线I2S总线I2S总线和格式【音频】I2S协议详解I2S总线SCK/BCLK:串行时钟, SCK的频率=2×采样频率×采样位数。WS/LR:字段(声道)选择,用来切换左右声道数据。WS = 采样频率(fs)DATA:串行数据,用二进制补码表示的音频数据,(MSB —> LSB:数据由高位到低位依次传输)MCLK:主时钟(为了使系统间能够更好地同步,也叫系统时钟(S...
2019-06-17 14:56:08 4875
原创 linux/Ubuntu python相关问题的解决方法
python2.7 升级到最新2.7.X目前可以升级到2.7.16 —2019-06-11sudo add-apt-repository ppa:jonathonf/python-2.7sudo apt-get updatesudo apt-get install python2.7python --versionpip升级python -m pip install -U pip...
2019-06-11 16:03:01 188
原创 【esp32】smartconfig
APP乐鑫APP根据自己需要可以下载对应的app,有的给源码了,app的链接也在里面,如下图,自己找找就有了EsptouchForAndroid代码官方给得已经很全了,可以先编译试下~本人我的是加入了nvs保存、然后http读取json天气预报~https://github.com/zhqi-ang/esp32/tree/master/wifi_scapp要用组播!保存过...
2019-06-10 21:05:08 1352
原创 【esp32】开发环境
官网链接:ESP-IDF 编程指南网上也有很多教程,大家可以去看看本人我一开始是搭的ubuntu的环境,我的是14的32位升级到16的现在在百度云上传,等会传完了再放链接吧~~后面看到阿里有飞燕平台,可以用来连天猫精灵,开放度好像还挺高的;又搭了一个Windows环境搭环境一时爽,一直搭一直爽o(╥﹏╥)o...
2019-06-09 16:51:35 1475
原创 【esp32】一些资料
对于TCP/IP需要有了解,可以看下《TCP/IP 网络编程》.((韩)尹圣雨)目前网上找的一些相关的资料ESP32开发指南这位大佬,非常开源,对于前期学习esp32的同学来说,有很大的帮助,注释都写的很清楚了半颗心脏这位大佬,写的资料挺多的,之前一直玩esp8266,就是不咋开源,有需要的可以进行了解(我先自己折腾下)刘知海SimonLiu...
2019-06-09 16:40:09 1911 1
转载 为什么要使用base64编码,有哪些情景需求?
为什么要使用base64编码,有哪些情景需求公钥证书也好,电子邮件数据也好,经常要用到Base64编码,那么为什么要作一下这样的编码呢?我们知道在计算机中任何数据都是按ascii码存储的,而ascii码的128~255之间的值是不可见字符。而在网络上交换数据时,比如说从A地传到B地,往往要经过多个路由设备,由于不同的设备对字符的处理方式有一些不同,这样那些不可见字符就有可能被处理错误,这...
2019-05-29 14:19:48 2705
原创 【加密算法】基础知识
1、加密算法说到加密,就有密钥和加密、解密算法这几个概念密钥,一般就是一个字符串或数字,在加密或者解密时传递给加密/解密算法。前面在公钥密码体制中说到的公钥、私钥就是密钥,公钥是加密使用的密钥,私钥是解密使用的密钥。加密算法主要分为两种,一种对称机密算法,一种非对称加密算法;详细如下1.1、对称加密算法(symmetric key algorithms)在对称加密算法中,加密使用的密...
2019-05-20 14:18:50 1427
原创 【WiFi】AP和STA的创建
wifi的模式modedescriptionAP(Server)(Acess Point),无线接入点,是无线网络的创造者,网络的中心节点,例如路由器STA(Client)(station),站点,任何一个介入无线AP的设备都是一个STA,例如带有无线网卡的笔记、带有无线网卡的手机等。PROMISCUOUS混杂模式,即抓包模式,手机wifi发出的数据包,通过...
2019-05-15 22:41:18 1402
原创 【WiFi】wifi信道
世界各个地区WIFI 2.4G及5G信道划分表ChannelWLAN信道列表是法律所规定的IEEE 802.11(或称为WiFi)无线网络应该使用的无线信道。802.11工作组划分了两个独立的频段,2.4 GHz和4.9/5.8 GHz。每个频段又划分为若干信道,且每个国家自己制定政策订出如何使用这些频段。国家2.4GHz5GHz(4.9/5.8)中国2.412 ~...
2019-05-15 21:32:46 5687
原创 【WiFi】WiFi安全类型
代码分析typedef enum { WIFI_AUTH_OPEN = 0, /**< authenticate mode : open */ WIFI_AUTH_WEP, /**< authenticate mode : WEP */ WIFI_AUTH_WPA_PSK, /**< authe...
2019-05-14 14:36:59 9042
原创 【WiFi】beacon时槽
以下内容大部分都是从网上找的, 目前在边学边写wifi相关的文档,看到这些不太清楚,就先记下来,后续我会再做确认,有误之处,请指出,谢谢^^Beacon帧:Beacon的实际发送一般都是采用最低速率的,其包含两个原因,beacon帧是一个广播帧,其没有ACK反馈,所以无法设置重传机制,beacon帧目的是广播AP的基本信息,所以希望所有的节点都能够有效的接收该数据,从而采用较低的速率以保...
2019-05-14 09:54:27 9094 1
原创 【WiFi】TCP握手和挥手
TCP三次握手握手是为了确保,连接双方的通信是无误的,正常应该是一次问答(SYN+ACK)两次;像下图一样,这样的话就需要四次;ClientServerSYN:Hi,How are you?ACK:GreatClientServer但是出于优化的目的,在第一次的ACK上加入了SYN;这样就节省了一次握手的次数ClientServerSYN:Hi,How are you?ACK+SYN:Gr...
2019-05-11 16:32:56 483
原创 【C基础】位的对齐顺序
位的对齐顺序位域的使用,位域一般存放数据默认都是字节内低位对齐,就是前面的是低位,后面的是高位;如下面的代码一样;typedef struct bitmap{ char bit0:1 char bit1:1 char bit2:1 char bit3:1 char bit4:1 char bit5:1 char bit6:1 char bit7:1 };位域、结构体...
2019-05-10 10:47:11 1669
原创 【C基础】大小端模式和网络通讯协议
大小端的原理Endian表示数据在存储器中的存放顺序大端:(Big-Endian):指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。小端:(Little-Endian):指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。网络字节序:TCP/IP协议传输数据时,字节序默认大端。大端法和小端法指的是字节在内存中存储时的排列规则,而...
2019-05-09 16:45:21 1214
原创 【C基础】struct结构体所占空间计算方法
怎么计算struct结构所占空间?以前看过又不太记得,记个笔记,省的每次都要去找两个原则整体空间是占用空间最大的成员(的类型)所占字节数的整数倍。数据对齐原则—内存按结构体成员的先后顺序排列,当排到该成员时,其前面已摆放的空间大小必须是该成员类型大小的整数倍,如果不够则补齐,依次向后类推。举个栗子32位系统下,(64位系统下long字节数不一样)struct A{ ...
2019-05-07 22:45:17 1048
原创 【MSP430】触摸按键总结
CapTIvate_Design_CenterCapTIvateDesignCenter下载地址GUI的使用指南这个GUI是专门用于调试用的,里面有按键、接近感应、旋钮、滑动器等等。我这边主要用来调节接近感应和按键,以下总结下使用步骤:程序根据硬件,通过GUI在连接各个设备,如下图所示,并保存生成初始代码;创建两个工程,一个专门用于调试对应的设备的,一个是自己的项目工程;CapTI...
2019-05-07 11:42:43 1967 1
转载 【WiFi】基本知识整理
本片文章是从此博客看到的,具体是哪位原创,就不知道,对于想要学习WiFi知识的人来说感觉不错https://blog.csdn.net/acs713/article/details/8740974另外我个人做了些整合,有误之处,请多指正^^一、基本概述1、有线和无线网络目前有线网络中最著名的是以太网(Ethenet),但是无线网络WLAN是一个很有前景的发展领域,虽然可能不会完全取代以太...
2019-04-30 16:48:07 1484
原创 WIFI理论速度计算
参考:https://blog.csdn.net/pchaojin123/article/details/80272195以下是各个WIFI版本的最大吞吐量表wifi802.11802.11a802.11b802.11g802.11n802.11ac最大吞吐量(Mbps)25411546001Gbps强调下,Mbps=Mbit/s即兆比特每秒(...
2019-04-29 14:49:29 14087 1
原创 【FreeRTOS】CPU使用率
头文件定义/******************************************************************** FreeRTOS与运行时间和任务状态收集有关的配置选项 **********************************************************************///启用运行时间统计功...
2019-04-23 22:06:55 4522 1
原创 【FreeRTOS】中断管理
开/关中断。恢复中断。中断使能。中断屏蔽。可选择系统管理的中断优先级。硬件1、外设,外部中断2、中断控制器(Cortex-M 系列控制器NVIC),接收外部中断,然后发送中断信号给CPU3、CPU,响应中断源请求,NVIC最多支持240个中断,每个中断最多256优先级名词中断号:使得计算机能够判断是哪个设备提出的中断请求的标志中断请求:向 CPU 提出申请,临时征用,处理...
2019-04-23 21:50:07 1607
原创 【FreeRTOS】内存管理
heap_1.c只能申请内存而不能进行内存释放,并且申请内存的时间是一个常量,这样子对于要求安全的嵌入式设备来说是最好的,因为不允许内存释放,就不会产生内存碎片而导致系统崩溃,但是也有缺点,那就是内存利用率不高,某段内存只能用于内存申请的地方,即使该内存只使用一次,也无法让系统回收重新利用。内存申请函数 pvPortMalloc()heap_2.c查找比申请大或者等于的内存空间,在其中选...
2019-04-23 21:14:44 838
原创 【FreeRTOS】任务通知
从之前学习的过程中,任务间通信是需要创建队列、二进制信号量、计数信号量或事件组,这些都需要消耗内核资源;而任务通知就更为的灵活,按照官方说法,使用任务通知比通过信号量等 ICP 通信方式解除阻塞的任务要快 45%,并且更加省 RAM 内存空间(使用 GCC 编译器,-o2 优化级别),任务通知的使用无需创建队列。 configUSE_TASK_NOTIFICATIONS 1几种方式(...
2019-04-23 08:31:25 715
platform-tools_r28.0.1-windows
2018-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人