自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(161)
  • 资源 (1)
  • 收藏
  • 关注

原创 Ubuntu安装Redis及使用

NoSQL简介NoSQL,全名为Not Only SQL,指的是非关系型的数据库随着访问量的上升,网站的数据库性能出现了问题,于是nosql被设计出来优点/缺点优点:高可扩展性分布式计算低成本架构的灵活性,半结构化数据没有复杂的关系缺点:没有标准化有限的查询功能(到目前为止)最终一致是不直观的程序分类类型部分代表特点列存储H...

2019-08-15 10:50:50 101709 19

原创 openwrt LuCI

等。可参考源码。

2023-04-21 11:08:46 4744

原创 编写 LuCI CBI 模型

CBI模型是描述UCI配置文件结构的Lua文件,并且CBI解析器将lua文件转为HTML呈现给用户。所有 CBI 模型文件都必须返回类型为的对象。CBI 模型文件的范围由 luci.cbi 模块的内容和 luci.i18n 的转换函数自动扩展。

2023-04-21 11:04:56 1024

原创 红米ac2100 刷openwrt以及刷回记录

redmiac2100 刷机参考手动升级漏洞固件https://wwx.lanzoux.com/i6iqxhqp98f 或者百度网盘链接: https://pan.baidu.com/s/1H355Ym9p_TLrVOux2w2b7Q 提取码: th3v开启sshhttp://192.168.31.1/cgi-bin/luci/;stok=a4abdbb85c35a0233899ca17a836e795/api/misystem/set_config_iotdev?bssid=Xiaomi&am

2022-03-30 11:28:56 10726

原创 OpenWrt之使用kerberos

OpenWrt之使用kerberos在openwrt源码中的位置:/package/feeds/packages/krb5/MakefileKerberos Server HowTo用户使用手册命令:kinit名称kinit - 获取和缓存 Kerberos 票证授予票证 (ticket-granting ticket)kinit 命令用于获取和缓存 principal 的初始票证授予票证(凭证)。此票证用于 Kerberos 系统进行验证。只有拥有 Kerberos 主体的用户才可以使用

2022-03-02 18:15:43 5685

原创 Getting Started with Bluetooth Low Energy 中文翻译版

版权声明:译文仅用于学习、研究和交流。版权归eronwu、文章作者和译者所有,欢迎非商业转载。转载前请联系译者获取授权,并在文章开头明显位置注明本文出处、译者、校对者和本文的完整链接,违者必究。本转载链接已获得作者授权!https://github.com/Eronwu/Getting-Started-with-Bluetooth-Low-Energy-in-Chinese/blob/master/chapter1.md...

2022-02-12 18:20:31 765

原创 openwrt中各种默认配置文件所在目录

openwrt中各种默认配置文件所在目录openwrt版本为15.05.1,以mt7620为例,其他类似。1.wifi的默认开启方式、ssid、加密方式等配置 /etc/config/wirelesspackage/kernel/mac80211/files/lib/wifi/mac80211.sh2.硬件资源的配置(usb、gpio、flash等),即dtstarget/linux/ramips/dts/ 下文件3.镜像生成方式控制target/linux/ramips/image/

2022-02-12 18:09:48 5757 1

原创 ESP32 相关

ESP32 相关记录Espressif Systems芯片选型编程指南使用eclipse开发更简单官方烧录工具EspTouch APP(smartconfig)

2021-12-30 18:23:51 2469

原创 openwrt banner

./package/base-files/files/etc/banner 为console登录欢迎横幅。http://www.network-science.de/ascii 可以生成想要的字符以及风格。openwrt风格默认rectangles ,我们选的是standard

2021-05-11 15:35:44 595

原创 newifi_dts

/*包含头文件*/#include "mt7621.dtsi"//板子级别#include <dt-bindings/gpio/gpio.h>#include <dt-bindings/input/input.h>//根节点/ { compatible = "d-team,newifi-d2", "mediatek,mt7621-soc";//compatible是系统识别该机器的标识/*tree中的 compatible 第一个""指定确切的设备,第二个""兼容的

2021-05-11 15:09:40 478

原创 mt7621dtsi

/dts-v1/; //dts版本//soc级别/*包含头文件build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-4.14.149/include/dt-bindings/一些宏定义*/#include <dt-bindings/interrupt-controller/mips-gic.h>#include <dt-bindings/clock/mt7621-clk.h>#include <d

2021-05-11 15:06:01 1684

原创 python订阅mqtt保存到文件中

import paho.mqtt.client as mqttClientimport timedef on_connect(client, userdata, flags, rc): if rc == 0: print("Connected to broker") global Connected #Use global variable Connected = True #Si

2021-04-09 16:37:45 708

原创 openwrt DTS

openwrt DTS相关参考Device Tree ReferenceDevice Tree Usage in OpenWrt设备树简介DTS(Device Tree) 设备树。DeviceTree是一种描述硬件的数据结构,DeviceTree发源于PowerPC架构,为了消除代码中冗余的各种device注册代码而产生的,现在已经成为了linux的通用机制。它替代arch/arm/plat-xxx和arch/arm/mach-xxx中的板级spec代码,便于code管理。它通过bootlo

2021-04-03 14:53:07 3320

原创 腾讯云服务器git clone 慢

使用国内镜像,目前已知Github国内镜像网站有github.com.cnpmjs.org和git.sdut.me/。速度根据各地情况而定,在clone某个项目的时候将github.com替换为github.com.cnpmjs.org即可。

2021-04-03 13:03:40 4278 2

原创 esp32使用nimble

esp32使用nimbleesp32配置nimble选择蓝牙主机堆栈 BLE only 节省 堆栈资源idf.py menuconfigComponent config > Bluetooth -> NimBLE - BLE only (BT_NIMBLE_ENABLED)其他选项nimble 相关 apiesp32 使用 NimBLE 堆栈,NimBLE-based host APIs 只有主要框架。esp32 nimble 基础框架伪代码框架如下:void app_ma

2021-03-11 14:30:54 4154

转载 nimble 2 蓝牙开发API

nimble 蓝牙开发API设置蓝牙设备地址 BD_ADDR蓝牙设备地址存在两种类型:公共地址和随机地址。蓝牙地址都是 48 位,6字节长。随机地址由细分为3种类型:不可解析随机地址,可解析随机地址,静态随机地址。在开始任意数据传输之前,都必须设置蓝牙设备地址,或公共地址,或随机地址,或者公共地址和随机地址都设置。蓝牙公共设备地址通过系统配置宏 MYNEWT_VAL_BLE_PUBLIC_DEV_ADDR 设置,在 host 和 controller 同步后会用宏定义中设置的公共地址配置 hos

2021-03-08 17:32:11 2348 2

转载 nimble 1 蓝牙开发概述

目录nimble 蓝牙开发概述BLE 简介BLE 基础知识蓝牙设备地址BLE 广播类型标准广播数据BLE 工作概述BLE 常见的操作BLE 常见的工作流程BLE 使用的协议规范GAPGAP 工作模式GAP 工作流程GAP 工作角色、模式、流程关系ATTATT角色属性属性访问方法 - ATT 协议帧GATTGATT角色GATT 数据结构服务(service)服务引用特征(Characteristic)特征声明属性特征值属性特征描述符属性GATT 功能GATT应用详述nimble 蓝牙开发概述BLE 简介

2021-03-08 17:31:31 1748

原创 蓝牙版本发展

蓝牙版本发展蓝牙的发展史名称由来蓝牙这个名称来自于第十世纪的一位丹麦国王哈拉尔蓝牙王,哈拉尔蓝牙王Blatand 在英文里的意思可以被解释为 Bluetooth( 蓝牙 )因为国王喜欢吃蓝莓,牙龈每天都是蓝色的所以叫蓝牙。在行业协会筹备阶段,需要一个极具有表现力的名字来命名这项高新技术。行业组织人员,在经过一夜关于欧洲历史和未来无线技术发展的讨论后,有些人认为用Blatand国王的名字命名再合适不过了。Blatand国王将挪威,瑞典和丹麦统一起来;他的口齿伶俐,善于交际,就如同这项即将面世的技术,

2021-03-08 17:30:40 1097

原创 蓝牙基础知识

蓝牙基础知识蓝牙参考资料BLE 协议系列CSDN参考蓝牙基础知识蓝牙通信协议也是通信协议的一种,目的就是把复杂的问题简单化,任何通信协议都具有层次性,特点如下:从下到上分层,通过层层封装,每一层只需要关心特定的、独立的功能,易于实现和维护在通信实体内部,下层向上层提供服务,上层是下层的用户。在通信实体之间,协议仅针对每一层。实体间的通信,就像每一层之间的通信一样,这样有利于交流、理解、标准化。当前的蓝牙协议包括BR/EDR(Basic Rate/Enhanced Data R

2021-03-08 17:29:59 2138 2

原创 git.io短链接

Git.io 是Github的短网址服务。 可以生成随机 code 的短链接也可以使用命令curl -i http://git.io -F "url=https://github.com/..."curl -i https://git.io -F url="https://github.com/Hzlarm" -F "code=Hzlarm"https://git.io/Hzlarm一个url只能对应一个code,如果你想多个code,那就在url上加参数:curl -i https://gi

2021-02-24 14:35:42 4354

原创 urcu

urcu记录urcu 源码包每个进入读侧临界区的线程都需要事先通过 rcu_register_thread() 接口进行注册,退出时调用 rcu_unregister_thread() 接口取消注册。URCU哈希表API/******************************************************/struct cds_lfht cds_lfht_new(unsigned long init_size,unsigned long min_nr_alloc_buck

2021-02-20 14:05:43 777

原创 github action 基础

github action 基础简介GitHub Actions 是 Microsoft 收购 GitHub 后推出的持续集成 (Continuous integration,简称 CI) 服务,它提供了配置非常不错的虚拟服务器环境,基于它可以进行构建、测试、打包、部署项目。简单来讲就是将软件开发中的一些流程交给云服务器自动化处理,比方说开发者把代码 push 到 GitHub 后它会自动测试、编译、发布。有了持续集成服务开发者就可以专心于写代码,其它乱七八糟的事情就不用管了,这样可以大大提高开发效率

2021-02-18 15:24:58 1830

原创 docker network 、compose

docker 进阶docker网络# 删除全部容器$ docker rm -f $(docker ps -aq)# 删除全部镜像$ docker rmi -f $(docker images -aq)原理每启动一个docker容器,docker就会给docker容器分配一个ip,就会有一个docker0桥接模式,使用的技术是veth-pair技术# 测试 运行一个tomcat$ docker run -d -P --name tomcat01 tomcat# 查看容器内部网络地址

2021-02-18 10:13:19 167

原创 docker基础

Docker笔记CSDN狂神说Docker笔记docker常用命令帮助命令docker -v # 显示docker版本号docker version # 显示docker的版本详细信息docker info # 显示docker的系统信息,包括镜像和容器的数量docker [COMMAND] --help # 帮助命令镜像命令docker images 查看所有本地主机上的镜像$docker imagesREPOSITORY T

2021-02-18 10:12:54 187

原创 linux字符串分割strtok_r函数

linux字符串分割strtok_r函数//man strtok_rNAME strtok, strtok_r - extract tokens from stringsSYNOPSIS #include <string.h> char *strtok(char *str, const char *delim); char *strtok_r(char *str, const char *delim, char **savept

2021-02-07 18:27:39 378 2

原创 linux的命令行解析参数之getopt_long函数

linux的命令行解析参数之getopt_long函数在linux中 ,经常使用 GNU C 提供的函数 getopt、getopt_long、getopt_long_only 来解析命令行参数。//man getopt_longNAME getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - Parse command-line optionsSYNOPSIS#include &lt

2021-02-07 11:35:07 273

原创 Fabric

未完成,以后需要的时候再深入研究安装Fabric#安装# fabric3支持python3pip3 install fabric3#查看帮助fab --help参考CSDN博客Fabric 是一个 Python 的库,同时它也是一个命令行工具。它提供了丰富的同 SSH 交互的接口,可以用来在本地或远程机器上自动化、流水化地执行 Shell 命令。使用 fabric 提供的命令行工具,可以很方便地执行应用部署和系统管理等操作。因此它非常适合用来做应用的远程部署及系统维护。其上手也极其简单

2021-01-14 16:28:30 119

原创 快捷键组合:vscode、vim、bash

vscode快捷键按 Press功能 FunctionCtrl + Shift + P,F1显示命令面板 Show Command PaletteCtrl + P快速打开 Quick OpenCtrl + Shift + N新窗口/实例 New window/instanceCtrl + Shift + W关闭窗口/实例 Close window/instance基础编辑 Basic editing按 Press功能 Function

2021-01-14 16:14:27 2561 2

原创 Linux下查看系统信息等命令

############################################################################### Linux下查看系统信息命令##############################################################################uname -a # 查看内核/操作系统/CPU信息的linux系统信息 head -n l /etc/issue # 查看操作系统版本 cat /

2021-01-14 15:54:52 185

原创 解决curl: (7) Failed to connect to raw.githubusercontent.com port 443: 拒绝连接 问题

参考自问题原因:DNS 污染解决方案打开 https://www.ipaddress.com/ 输入访问不了的域名查询之后可以获得正确的 IP 地址在本机的 host 文件中添加,建议使用 switchhosts 方便 host 管理199.232.68.133 raw.githubusercontent.com199.232.68.133 user-images.githubusercontent.com199.232.68.133 avatars2.githubusercontent

2021-01-12 15:44:17 19092

原创 Lua09-面向对象与数据库访问

Lua面向对象面向对象编程(Object Oriented Programming,OOP)是一种非常流行的计算机编程架构。以下几种编程语言都支持面向对象编程:C++JavaObjective-CSmalltalkC#Ruby面向对象特征1) 封装:指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。2) 继承:继承的方法允许在不改动原程序的基础上对其进行扩充,这样使得原功能得以保存,而新功能也得以扩展。这有利于减少重复编码,提高软件的开发效率。3) 多态:同一操

2020-12-14 21:23:33 114

原创 Lua08-错误处理、调试与垃圾回收

Lua错误处理程序运行中错误处理是必要的,在我们进行文件操作,数据转移及web service 调用过程中都会出现不可预期的错误。如果不注重错误信息的处理,就会造成信息泄露,程序无法运行等情况。任何程序语言中,都需要错误处理。错误类型有:语法错误运行错误语法错误语法错误通常是由于对程序的组件(如运算符、表达式)使用不当引起的。一个简单的实例如下:-- test.lua 文件a == 2以上代码执行结果为:lua: test.lua:2: syntax error near '==

2020-12-14 21:22:04 188

原创 Lua07-元表、协同与文件I/O

Lua元表(Metatable)在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作。因此 Lua 提供了元表(Metatable),允许我们改变table的行为,每个行为关联了对应的元方法。例如,使用元表我们可以定义Lua如何计算两个table的相加操作a+b。当Lua试图对两个表进行相加时,先检查两者之一是否有元表,之后检查是否有一个叫__add 的字段,若找到,则调用对应的值。__add 等即时字段,其对应的值(往往是一个函数或是tabl

2020-12-14 21:16:03 154

原创 Lua06-迭代器、table、模块与包

Lua迭代器迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址在Lua中迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素。泛型 for 迭代器泛型 for 在自己内部保存迭代函数,实际上它保存三个值:迭代函数、状态常量、控制变量。泛型 for 迭代器提供了集合的 key/value 对,例如:array = {"Lua", "Tutorial"}for key,value in ipairs(array) d

2020-12-14 21:15:19 204

原创 Lua05运算符、字符串与数组

Lua运算符运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。Lua提供了以下几种运算符类型:算术运算符、关系运算符、逻辑运算符、其他运算符。算术运算符设定 A 的值为15,B 的值为 20。操作符描述实例+加法A + B 输出结果 35 integer-减法A - B 输出结果 -5 integer*乘法A * B 输出结果 300 integer/除法A / B 输出结果 0.75 float 。4/2结果2.0

2020-12-14 21:14:22 1200

原创 Lua04-循环、流程控制与函数

Lua循环Lua 语言提供了以下几种循环处理方式:循环类型描述while 循环在条件为 true 时,让程序重复地执行某些语句。执行语句前会先检查条件是否为 true。for 循环重复执行指定语句,重复次数可在 for 语句中控制。repeat…until重复执行循环,直到 指定的条件为真时为止循环嵌套可以在循环内嵌套一个或多个循环语句(while、for、do…while)break 语句 退出当前循环或语句,并开始脚本执行紧接着的语句。

2020-12-14 21:13:27 358

原创 Lua03-数据类型

Lua数据类型Lua是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。数据类型描述nil这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。boolean包含两个值:false和true。number表示双精度类型的实浮点数s

2020-12-14 21:12:41 111

原创 Lua02-基本语法

标示符命名规则Lua 标示符用于定义一个变量,函数获取其他用户定义的项。标示符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上0个或多个字母,下划线,数字(0到9)。最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的。Lua 不允许使用特殊字符如 @, $, 和 % 来定义标示符。 Lua 是一个区分大小写的编程语言。以下列出了一些正确的标示符:mohd zara abc move_name a_123m

2020-12-14 21:11:41 135

原创 Lua01-介绍安装Lua、运行Lua程序

Lua01-介绍安装Lua、运行Lua程序Lua介绍(Lua官网)Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能 。Lua 是一种很容易和传统的 C/C++整合的语言。 Lua 所提供的机制是 C 不善于的:高级语言、动态结构、简洁、易于测试和 调试等。正因为如此,Lua 具有良好的安全保证,自动内存管理,简便的字符串处理功 能及其他动态数据的改变。Lua 大部分强大的功能来自于他的s类库。

2020-12-14 21:10:38 561

转载 添加右键打开vscode、notepad++

右键文件夹,可以使用vscode打开右键单文件,可以使用vscode打开右键空白处,可以使用vscode打开添加xxx.reg文件,后双击运行。Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\VSCode]@="Open with Code""Icon"="D:\\Program Files\\Microsoft VS Code\\Code.exe"[HKEY_CLASSES_ROOT\*\shell\VS.

2020-12-07 11:55:53 463 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除