自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

项目、学习记录

  • 博客(93)
  • 资源 (1)
  • 收藏
  • 关注

原创 OpenWrt19.07设置mac地址为芯片内置出厂地址

Openwrt19.07设置7628的mac地址为芯片地址

2022-12-31 11:52:21 1986 2

原创 ubuntu20开启NTP服务器操作步骤

Ubuntu20开启NTP服务器操作步骤

2022-08-01 15:57:29 6093

原创 platformio使用笔记

platformio使用笔记

2022-06-05 20:11:58 2850 16

原创 TI-15.4-STACK Linux SDK 源码调度思维导图

TI-15.4-STACK Linux SDK 源码思维导图调度,用于备忘

2022-03-14 10:21:37 276

原创 openwrt 使用 clock_gettime 函数没有秒返回问题

openwrt编译器设置set(CMAKE_SYSROOT /home/luke/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl)# 指定交叉编译器 arm-gcc 和 arm-g++# 直接使用绝对路径set(CMAKE_C_COMPILER /home/luke/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-11.2.0_musl/bin/mipsel-openwrt-lin

2022-01-30 11:10:59 1513

原创 ubuntu20编译UCI-详细步骤记录

1. 确保安装了cmake2. 编译安装lua$ curl -R -O http://www.lua.org/ftp/lua-5.4.1.tar.gz$ tar zxf lua-5.4.1.tar.gz$ cd lua-5.4.1$ sudo make all test$ sudo make install3.编译安装 libubox# a. 创建编译目录并进入到编译目录$ mkdir /home/xxxx/uci_compile$ cd /home/xxxx/uci_compi

2021-12-31 15:33:01 859 1

原创 合宙iotpower对比 是德科技3446A 评测-更新中

前段时间看到合宙发布了低功耗测量仪表iotpower,在日常工作和diy会制作一些低功耗设备,需要测量其动态和静态电流,而手中的福禄克15B不能满足平均电流及动态电流的直观测量,因此主动申请了一块,幸运的是得到的购买资格。外观与介绍请参考合宙官网,话不多说直接开测电压档iot power负责输出,34465A并联到输出负载上,两者显示电压对比。这张图片可以看连接图比较直观3.3V对比1对比2可以看出 相差在6-8mv左右。3.0V相差6mv左右电流档对比线路连接示意图如

2021-12-19 20:55:19 3234 1

原创 xrdp连接ubuntu20经常弹出验证窗口问题解决

问题现象homelab中安装ubuntu20,开启xrdp协议,在mac利用Mircrosoft Remote Desttop远程访问,窗口切换或者进行一些操作时经常弹出认证窗口,如下:烦死了,查找后 找到修复方法 参考链接为``不想看英文的可直接按照我下方的说明操作解决方式1. 切换rootsu root输入密码2.进入目录cd /etc/polkit-1/localauthority/50-local.d/3.创建文件并粘贴内容后保存文件1vim 45-allow-col

2021-12-11 14:59:10 2925

原创 Vscode搭建远程c开发环境

安装远程开发套件本机和目标机都需要安装。参考 vscode 免密登录服务器编辑配置服务器信息,用vscode打开远程电脑的一个目录。建立c文件#include <stdio.h>#include <stdlib.h> #include <unistd.h> //系统函数#include <string.h>#include <pthread.h> //多线程库 #include "net_control_client.h"

2021-11-24 18:58:24 3749 1

原创 OpenWrt增加SD卡支持

环境硬件:HLK_MTK7628n系统:官方Openwrt分支:master硬件连接注意:网口3 网口4 和SD卡冲突,两者只能2选一。操作步骤1.修改dts文件位置参考 led 博文&sdhci { status = "okay"; mediatek,cd-low;};2.打开SD卡支持测试查看启动日志:todo:实机测试:因为sd卡槽未焊接,待补充...

2021-11-23 10:34:27 1653

原创 OpenWrt增加usb转串口支持

环境硬件:HLK_MTK7628n系统:官方Openwrt分支:master硬件连接usb转串口芯片直连MTK7628的原生USB接口,比如 CH340 PL2303 CP2012操作步骤进入 make menuconfig1.usb转串口支持修改配置 选择 usb支持 及 usb转串口相关选项 ,见截图2.usb工具退出保存,编译、烧录固件测试进入系统,执行lsusb插入 cp2012 usb转串口线,控制台显示再次执行lsusb成功识别。minico

2021-11-23 10:26:47 5655

原创 OpenWrt增加Led

环境硬件:HLK_MTK7628n系统:官方Openwrt分支:master海凌科提供的OpenWrt 系统太老,是14年的版本,于是下载最新版本进行编译。编译步骤参考L大的lede项目说明。(ps:最先是使用lede进行的开发,后来发现mosquitto不能正常使用,折腾了好几天没有找到解决方案,于是回归到原版Openwrt)硬件连接将 4个网口的led释放,用于单独控制。操作步骤1.修改dts文件打开target/linux/ramips/dts/mt7628an_hilink_

2021-11-23 10:13:59 2864 1

原创 52832 使用pin9和pin10

踩坑许久得到的答案:在keil中增加宏定义:CONFIG_NFCT_PINS_AS_GPIOS

2021-09-24 18:27:17 778

原创 java项目扫盲-临时记录

java抽象类和接口区别:抽象类定义属性,决定 “是不是这样”,接口定义行为,决定“有没有这个功能”@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:1、可以当注释用,方便阅读;2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。@Autowired 注释,它可以对类成员变量、方法及构造函数

2021-08-21 16:41:31 85

原创 Tdengine 测试

直接安装在我自己腾讯云服务器(2c4g)安装,先在官网下载 deb包到服务器,然后设置host名称 为td1,执行命令如下sudo hostnamectl set-hostname td1检测是否设置成功hostname -f返回为td1为成功。设置host映射,切换到root用户,编辑**/etc/hosts**文件,在最后加入ip映射[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ELHBVYK-1629194115049)(C:\Users\duguo

2021-08-21 16:39:38 3351

原创 开源项目gin-vue-admin学习笔记

开源项目gin-vue-admin学习笔记目录开源项目gin-vue-admin学习笔记开篇克隆报错用到的开源库cobra说明小试牛刀1.项目初始化2.生成命令行模板3.编译4.执行开发方式初始化子文件修改并增加自定义代码编译运行知识点flag说明小试牛刀1.项目初始化2.编码Viper说明小试牛刀小知识反射开篇为了学习go的使用,利用开源项目gin-vue-admin来熟悉go编程的“套路”克隆报错错误现象解决方式:在克隆的目标文件夹中执行下方命令> git init> g

2021-08-21 16:38:56 2076

原创 自建server酱

目录获取关键参数部署常用命令调用方式项目地址:https://github.com/easychen/wecomchan/blob/main/go-wecomchan/README.mdd获取关键参数根据 https://github.com/easychen/wecomchan 中 企业微信应用消息配置说明部分说明,操作企业微信后台获取相关id和secret,其中secret需要在手机企业微信中接收,所以得提前下载好部署选择go语言版本,利用 docker compose 实现docker-c

2021-08-20 19:09:21 2068

原创 华美OpenWrt记录

目录常用命令MINICOM使用串口配置设置 Modem and dialing保存至默认其他常用快捷键问题常用命令查看是否支持usb转串口lsmod| grep usbserial 如果有usbserial,说明系统支持USB转串口查看串口ls-l /dev/ttyS*或者ll /dev/ttyUSB*或者直接使用MINICOM使用minicom进入主界面后按 Ctrl+A 然后再按Z,列出几个快捷操作命令,串口配置在上个界面按键盘O键,打开配置选项,进入Seria

2021-08-17 19:21:21 720

原创 Lua语言快速学习笔记

Lua语言快速学习笔记目录Lua语言快速学习笔记为什么学lua在线运行工具helloworld注释变量及数据类型1.number2.nil3.多变量赋值4.string表达方式转义字符常用方法1.字符串拼接2.字符串转数字3.数字转字符串5.boolean6.table表达方式1.直接赋值2.指定下标3.动态赋值(模仿对象)常用方法1.拼接2.插入元素3.删除元素全局变量程序结构1.选择2.循环1.while2.for函数常用函数type常用库字符串截取string.sub字符串长度 string.len

2021-07-31 17:07:30 613

原创 WIFI模块_ESP82xx常用命令整理

目录连接wifi1.设置wifi工作模式2.连接wifi3.查询本地ip地址和MAC地址4.电脑连接模块发出的wifi (可选)5.扫描当前可用AP6.断开wifi7.上电自动连接到AP8.查看当前连接AP信息(信号强度)9.Airkiss配网TCP 客户端1.连接服务器2.发送数据3.接收数据MQTT 连接1.配置参数2.连接3.订阅4.发布数据4. 主动断开连接5.意外断开6.通信时间说明HTTP 通信1.获取url资源大小2.GET数据参考连接 https://docs.espressif.com/

2021-07-28 09:39:41 3847 3

原创 windows笔记本查看电池损耗

cmd执行 powercfg /BatteryReport,会提示结果存放位置,然后直接打开结果结果如下:

2021-07-13 16:57:21 460

原创 服务器软件常用启停命令

windowsnginx进去到nginx.exe的根路径nginx.exe -s quit #停止退出nginx.exe -s reload #重载配置start nignx #启动linux

2021-06-21 14:16:12 194

原创 2. go 基本语法

语句go和js一样,语句不用加分号数据类型变量定义与c和js有相同和不同之处,命令如下var 变量 类型 = 表达式如:var i int = 10编写程序测试package mainimport "fmt"func main() { var i int = 10 fmt.Println(i)}注意:go语言中定义变量必须使用,否则会报错。go语言也可以像动态语言js一样初始化时不指定数据类型,go会自动推到类型。var i = 10一次声明多个

2021-05-08 18:33:13 295

原创 OTA更新利用CRC保证程序的完整性

OTA更新利用CRC保证程序的完整性引子在对STM32利用4G模块进行远程升级时,如何保证下载下来的bin文件是完整没有丢失的呢?有两种方式:1. 分包打校验,接收一包校验一包2. 整包打校验,接收完毕后整体校验为快速实现,采用第二种方式校验方式选择简单常见的CRC校验,为了降低难度,参考安富莱电子的教程,使用keil在编译时生成整个程序包的crc校验keil支持用户定义的命令,如下图在User标签页选择编译后执行的脚本CopyHex_Flash.bat该脚本文件中主要利用srec

2021-04-26 17:23:40 4264 7

原创 EC20 不常用AT 命令 整理

EC20 不常用AT 命令OTA更新中用到了EC20的HTTP和FILE操作AT命令,网上资料比较少,看手册又耗时,所以整理了下,方便以后查看使用,避免遗忘。HTTP 操作GET 请求1.设置HTTP URLAT+QHTTPURL=<URL长度>[,<超时时间>]URL长度:范围1-700 单位字节,一定要注意字节长度!超时时间:等待串口接收URL的超时时间正确返回CONNECT错误返回+CME ERROR: <errcode>如果单片机

2021-04-11 11:08:51 2814 1

原创 STM32F407汇编启动文件解析 (OTA 初始篇)

问题起源在编写 STM32 OTA 程序过程中对 FLASH第一个字存放栈顶地址和第二个字存放中断向量表实现比较疑惑,不太确定是在程序的哪个阶段固定这两个地址到了FLASH中,查询资料后发现原来就在启动文件中。之前工作写应用都是从自定义的main函数开始思考流程,虽然一直知道有启动文件,但是是因为汇编语言编写,所以没有深入了解,这次借此机会把启动文件的流程和具体功能过一遍。下方代码后都附有具体的注释,实际会汇编指令不多,具体功能都在下方有解释。代码分析;*********************

2021-04-10 10:20:45 1085

原创 STM32F407 OTA远程升级(上篇)

DFU : Device Firmware Upgrade,一般是指通过USB/UART接口进行固件升级。OTA : Over the air,一般是指通过无线进行空中固件升级。目标是使用OTA完成升级,下文主要介绍STM32 IAP的相关知识升级方式备份升级:将原有程序备份,更新运行区程序切换升级:切换运行中断向量表,分别在两个区域运行新程序这里使用前者(优点是好理解,缺点是对FLASH擦除次数多)存储区域划分STM32将整个FLASH分为4部分,分别存放不同程序bo..

2021-04-09 15:59:47 8688 8

原创 go helloworld

新建程序文件使用go module方式编写第一个go程序,进入程序目录/home/ubuntu/dev/code/goLearn/0.helloword执行go mod init demo生成go.mod文件,类似于js的package.json编写代码新建 main.go文件package mainimport "fmt"func main() { fmt.Println("Hello, 世界")}编译运行编译go build ./main.go生成 main 文

2021-04-02 18:02:40 124

原创 ubuntu 安装go

下载安装包首先在本地电脑上,打开 go 语言国内官网 https://golang.google.cn/dl/,选择linux版本,右击选择复制连接地址,然后登录ubuntu ssh上,执行下载命令。wget https://golang.google.cn/dl/go1.16.3.linux-amd64.tar.gzwget是下载工具,如果没有安装的话,先执行 apt-get install wget后边的地址就是刚才赋值的命令执行完毕后会将压缩包下载到当前目录中。解压到指定文件中执行

2021-04-02 18:02:06 21709 4

原创 KEIL编译以后查看FLASH和RAM占用单片机资源大小

程序输出包括四种类型:Code :程序代码RO-data : Read Only Data 表示只读常量,比如const 类型RW-data :Read Write Data 初始化了的可以读写的变量ZI-data :Zero Initialize Data 未被初始化的可以读写的变量,如未初值的全局变量数组,uint8_t uart_buff[100]FLASH 占用大小为:Code + RO Data + .

2021-04-02 15:16:12 1625

原创 多个NRF52832高频通信时生成字节长度为0的接收事件问题解决

1.现象如题,在调试多个52832高频率通信时,每隔一段时间会有载荷长度为0的 NRF_ESB_EVENT_RX_RECEIVED事件发生,52832接收处理部分代码如下:void rfEventHandler(nrf_esb_evt_t const * p_event){ uint8_t i; switch (p_event->evt_id) { case NRF_ESB_EVENT_TX_SUCCESS: SEGGER_RTT_printf(0,"TX

2021-04-01 17:41:21 833 3

原创 NRF52832的日志输出解析( C中可变参数宏使用)

可变参数宏问题起源在阅读NRF52832的官方程序demo时,发现有个自定义的log文件,程序运行时log通过jlink输出至j-link viewr显示。代码解析查看NRF_LOG_DEBUG的定义,步步深入依次为多层宏定义,具体如下//nrf_log.h#define NRF_LOG_DEBUG(...) NRF_LOG_INTERNAL_DEBUG( __VA_ARGS__)//nrf_log_internal.h#define NRF_LO

2021-03-31 10:49:25 1330

原创 electron-vue编写上位机

启动框架npm install -g vue-cli vue init simulatedgreg/electron-vue ele-vuecd myappnpm installnpm run dev一路next完成,其中 electron-packager 用于制作简单的可执行文件,electron-builder用于制作完整功能的程序。问题:运行后打开窗口后提示报错,修改 index.ejs文件<!DOCTYPE html><html style="height

2021-03-31 09:37:59 1631

原创 STM32 CUBEMX 配置外置SPI FLASH BY25Q128AS 参数设置

使用cubemx配置BY25Q128AS时需要设置一些参数,其中包含数据帧参数、时钟参数等。其中CPOL为时钟空闲电平状态,查看文档时序图可以看出来空闲电平为低电平,CPHA为采样电平,时序图可以看出是上升沿开始采集,所以选择第一个边沿...

2021-03-23 12:03:10 1222 3

原创 iperf和iperf3测速使用

用于测速的一款软件,分为 iperf和iperf3iperf安装apt install iperf参考连接 https://blog.csdn.net/peijian1998/article/details/26563957/常用命令:服务端iperf -s -i 1 -w 1M占用5001端口客户端iperf -c host -i 1 -w 1M注意:host为启动server的ip在测试vps到windows的速度时,发现iperf在windows中没有执行成功,所以尝试i

2021-02-25 13:11:18 1163

原创 windows10 docker 安装在D盘

win10安装docker后发现c盘空间急速减少,360管家查看发现images镜像安装在C盘,于是重装docker desktop以为在安装过程中能够选择,遗憾的是没有提供选择权限,默认直接就安装到了c盘。desktop 迁移百度得知可以将c盘的docker安装路径软连接到D盘,具体操作如下:现在D盘建立Docker文件夹然后在命令提示符执行下边的命令(注意:需要管理员身份运行命令提示符)mklink /j "C:\Program Files\Docker" "D:\Program File

2020-11-27 16:59:20 21374 17

原创 CC1310开发笔记

硬件资源双核,M3负责协议,M0负责无线通信,还有一个sensor控制器,用于采集数据,低功耗运行。128kBflash20kBSRAMsenserController传感器控制器是其他单片机没有的功能,cc1310可以说是3核,传感器控制器可以独立于主CPU控制外围设备。例如,主CPU不需要唤醒来执行ADC样本或通过SPI轮询数字传感器。这节省了当前时间和唤醒时间,。ti提供一个PC工具(SCS)让你配置传感器控制器,选择哪些外设被控制,哪些条件唤醒主CPU。(SCS)是一个独立的IDE,用于

2020-10-13 17:52:12 4792 1

原创 CSS常见备忘

1.span元素居中使span中元素居中,直接使用text-align是无效的,因为span是行内元素,所以必须将其转换为block才能生效<span style="text-align:center,display:block"}}>hello</span>2.button居中要使两个button居中,可以在其父级放置一个div,然后设置div的style 为 text-algin:center<div style="text-align:center">

2020-07-07 19:13:43 120

原创 macos vscode 配置 go开发插件

在vscode中 按 ctrl + shift +p 打开命令窗口,输入 go 然后选install/Update tools,弹出go插件列表,选择 全部勾选,确认安装。不出意外会失败,因为vscode 利用 go get下载,而部分插件在国内访问不到,所以需要配置代理。终端输入:设置你的 bash 环境变量echo "export GOPROXY=https://goproxy.io" >> ~/.profile && source ~/.profile#如果你的

2020-06-26 15:29:00 1605 2

原创 一文搞定js的原型对象

js是一门面向对象语言,但是它并不是一门真正面向对象的语言。与完备面向对象语言java、c#的区别是没有类的概念(ES6之后新出现的类是一种语法糖),而是利用原型对象来实现面向对象继承的功能,那么原型对象到底是什么东西呢?没有类js是怎么实现的继承呢?下文就一步步的来搞定这个问题。js对象在java中,新建对象需要先新建类,然后通过 new 类 来得到对象,继承利用类来来实现,而js则是完全通过对象来实现的。由于js在设计之初考虑其应用场景并没有设计太过复杂,所以没有原生 类 的概念。但是在使用中面向

2020-06-18 11:45:53 265

mqttws31.js

前端使用mqtt的的websocket库,简单易用,具体使用方法参考博文https://blog.csdn.net/liangcsdn111/article/details/105863097

2020-04-30

空空如也

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

TA关注的人

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