AI 大模型与智能应用
实践与技术

专注分享 AI 大模型、Agent 开发、深度学习等技术实战与架构设计;兼具 C#/.NET 后端开发经验

113
技术文章
8
文章分类
512
技术标签
29029
累计字数
接收红外信号VS1838B - Arduino开发ESP8266(NodeMcu)学习记录
嵌入式
2021-01-17 0k

接收红外信号VS1838B - Arduino开发ESP8266(NodeMcu)学习记录

所需硬件 VS1838B 红外接收头 ESP8266 开发板 (NodeMcu) 红外信号遥控器 杜邦线 x3 第三方库 IRremoteESP8266 下载地址:https://github.com/crankyoldgit/IRremoteESP8266 红外接收头图片 线路图 实物图 代码 /** 作者: Raikay (raikay.cn) 时间: 2021/01/17 说明: NodeMcu使用红外接收头接收红外信号 NodeMcu - VS1838B 3v3 - VCC GND - GND D5 - OUT **/ #include <Arduino.h>#include <IRrecv.h>#include <IRremoteESP8266.h>#include <IRac.h>//#include <IRtext.h> #include <IRutils.h> // 定义接收信号的引脚GPIO14,即NodeMcu的D5 const uint16_t kRecvPin = 14; // (接收引脚,接收信号大小,超时时间) IRrecv irrecv(kRecvPin, 1024, 50, true); // 存储结果 decode_results results; void setup() { Serial.begin(115200); #if DECODE_HASH // 过滤未知信号值 irrecv.

esp8266 Arduino NodeMcu
阅读更多
控制继电器 - Arduino开发ESP8266(NodeMcu)学习记录
嵌入式
2021-01-16 0k

控制继电器 - Arduino开发ESP8266(NodeMcu)学习记录

示例代码: 通过D5引脚(GPIO14输出高低电平)控制继电器开合 /** 作者: Raikay (raikay.cn) 时间: 2021/01/16 说明: 控制继电器 NodeMcu - 继电器 VU - VCC D5 - OUT GND - GND **/ //定义引脚GPIO14,即Nodemcu D5引脚 int relay = 14; void setup() { //设置引脚输出 pinMode(relay, OUTPUT); } void loop() { //程序灯带1秒(1000毫秒) delay(1000); //设置高电平 digitalWrite(relay, LOW); delay(1000); //设置低电平 digitalWrite(relay, HIGH); } 继电器 线路图 继电器是5v供电,NodeMcu两个版本输出5v的引脚不同。 CP2102版 :Vin引脚输出5v CH340版:VU引脚输出5v 也可以单独5v电源供电。 下图是CH340版 实物图 效果视频

esp8266 Arduino NodeMcu
阅读更多
git命令备忘系列(八) - 使用技巧集合
工具与效率
2021-01-15 0k

git命令备忘系列(八) - 使用技巧集合

一、Git彻底删除一次提交 这样删除之后,在历史记录中也查不到 git rebase --onto SHA^ SHA SHA是错误的提交。 例如,删除cbe8527这次提交: git rebase --onto cbe8527^ cbe8527 这条记录就从历史记录中消失了 二、git stash 工作状态保存 解决方案1 将当前工作状态保存 git stash save "保存说明" 恢复保存内容 git stash pop 如果有冲突, pop恢复时会失败,需要处理冲突 查看当前所有stash #查看命令 $ git stash list #结果如下: stash@{0}: On stu_git_1: bug8 stash@{1}: On stu_git_1: bug3 stash@{2}: On stu_git_1: bug2 stash@{3}: On stu_git_1: bug1 恢复指定stash,恢复之后不删除stash $ git stash apply stash@{1} 恢复指定stash,恢复冰删除stash $ git stash pop stash@{1} 三、git cherry-pick用法 重演commit 场景: 如果应用已经发布了一个版本2.

git git技巧 git stash
阅读更多
串口调试 - Arduino开发ESP8266(NodeMcu)学习记录
嵌入式
2021-01-15 0k

串口调试 - Arduino开发ESP8266(NodeMcu)学习记录

示例代码: void setup() { //初始化串口设置 Serial.begin(9600); } void loop() { //获取程序开始运行的毫秒数 long time = millis(); //输出调试日志 Serial.println(time); } 选择开发板 选择端口 这个端口 一般可能是 3、5、6根据设备和电脑环境不同有所区别,可以到电脑的设备管理器查看一下 (我机器插了两个板子,所以是下面这种情况,一般只会是COM3或COM5一个) 上传代码 查看串口调试窗口 【工具】–> 【串口调试】 说一下这个9600波特率,和代码上的一致就可以一般是9600、115200 我也可能会用esp8266系列的其他开发板,其实所有esp8266的板子代码是通用(比如 Wemos D1 R1、Wemos D1 R3 Uno、D1 mini、Wifiduino、ESPduino、WiFinfo),只要对照一下引脚图稍微改动一下差异的引脚就可以。

esp8266 Arduino NodeMcu
阅读更多
快速开始- Arduino开发ESP8266(NodeMcu)学习记录
嵌入式
2021-01-14 0k

快速开始- Arduino开发ESP8266(NodeMcu)学习记录

环境安装 下载Arduino-IDE 官网:https://www.arduino.cc/ 下载地址:https://www.arduino.cc/en/software 下载时不是一定要付费,选择JUST DOWNLOAD 免费下载 解压后双击EXE就可以打开了 安装驱动 驱动下载地址:https://gitee.com/raikay/elefiles/tree/main/tools/驱动 下载ESP8266库 文件–>首选项 把这个网址填到 【附加开发版管理器】 http://arduino.esp8266.com/stable/package_esp8266com_index.json 工具–> 开发板–>开发板管理器 如果没有梯子下载可能会非常慢,可以用下面的直接安装工具 工具下载地址:https://gitee.com/raikay/elefiles/tree/main/开发板/esp8266 点亮LED 新建项目 代码 //定义引脚GPIO14,即Nodemcu D5引脚 int led = 14; void setup() { //设置led引脚输出 pinMode(led, OUTPUT); } void loop() { //程序等待1秒(1000毫秒) delay(1000); //设置led引脚高电平 digitalWrite(led, LOW); delay(1000); //设置led引脚低电平 digitalWrite(led, HIGH); } 线路图 实物图 选择开发板 选择端口 这个端口 一般可能是 3、5、6根据设备和电脑环境不同有所区别,可以到电脑的设备管理器查看一下 (我机器插了两个板子,所以是下面这种情况,一般只会是COM3或COM5一个) 上传代码 运行效果 我也可能会用esp8266系列的其他开发板,其实所有esp8266的板子代码是通用(比如 Wemos D1 R1、Wemos D1 R3 Uno、D1 mini、Wifiduino、ESPduino、WiFinfo),只要对照一下引脚图稍微改动一下差异的引脚就可以。

esp8266 Arduino NodeMcu
阅读更多
git命令备忘系列(七) - 标签操作(tag)
工具与效率
2021-01-13 0k

git命令备忘系列(七) - 标签操作(tag)

对于某些提交,我们可以为它打上Tag,表示这次提交很重要, 比如为一些正式发布大版本的 commit,打上TAG,当某个版本出问题了,通过TAG可以快速找到此次提交对应的Hash值, 直接切换到此次版本的代码去查找问题,比起一个个commit找省事多了。 git tag #列出git中现有的所有标签 git tag -r #查看远程标签 git tag [name] #创建标签 git tag -d [name] #删除本地标签 git push origin [name] # 推送标签到远程仓库 git push origin --tags # 删除所有本地仓库中不存在的标签 git push origin --delete tag [name] #删除远程标签 在 git 中有两种最主要的标签–轻量级标签(lightweight)和带注释的标签(annotated)。轻量级标签跟分枝一样,不会改变。它就是针对某个特定提交的指针。然而,带注释的标签是git仓库中的对象。它是一组校验和,包含标签名、email、日期,标签信息,GPG签名和验证。一般情况下,建议创建带注释的标签,这样就会保留这些信息,但是如果你只是需要临时性标签或者某些原因你不想在标签中附带上面说的这些信息,lightweight标签更合适些。 带注释的标签 在git中创建带注释的标签非常简单,在运行’tag’命令时加上-a就可以了。 # 提交 $ git tag -a v1.4 -m ‘version 1.4′ #查看 $ git tag v0.1 v1.3 v1.4 ‘-m’指明标签信息,跟标签一起存储。如果你不使用-m指明标签信息,git会自动启动文本编辑器让你输入。 可以使用 git show 命令查看相应标签的版本信息,并连同显示打标签时的提交对象。 $ git show v1.4

git git tag 标签管理
阅读更多
git命令备忘系列(六) - 创建合并等分支操作(branch)
工具与效率
2021-01-12 0k

git命令备忘系列(六) - 创建合并等分支操作(branch)

1、查看分支列表 git branch #显示本地分支 git branch -r #显示远程所有分支 2、创建分支和切换分支 git branch branchName # 创建分支 git checkout branchName1 #切换到 branchName1 分支 git checkout -b branchName2 #创建并切换到 branchName2分支 强制创建分支 git checkout -B branchName 为什么强制创建分支,比如已经有dev分支,打算创建新的dev分支,正常情况同名不允许创建,-B参数之后既可以成功创建 新创建的分支推送到远程仓库 git push --set-upstream origin branchName git push origin branch1 #多个仓库时,指定origin仓库下 branch1分支 3、删除 git branch -d 分支名 # 删除分支,分支上有未提交更改是不能删除的 git branch -D 分支名 # 强行删除分支,尽管这个分支上有未提交的更改 git push origin --delete 分支名 #删除远程分支 4、恢复误删除分支 两步:找出被删分支最新的commit的Hash值,然后恢复分支: git log --branches="被删除的分支名" # 找到被删分支最新的commit版本号 git branch 分支名 版本号(前七位即可) # 恢复被删分支 5、分支重命名 git branch -m 老分支名 新分支名 # 分支重命名 6、合并分支 branchName1 合并到当前分支

git git branch 分支管理
阅读更多
git命令备忘系列(五) - 版本恢复和撤销命令(reset)回滚操作
工具与效率
2021-01-11 0k

git命令备忘系列(五) - 版本恢复和撤销命令(reset)回滚操作

1、撤销本地(工作区)修改 git checkout fileName #指定文件撤销 git checkout . #点表示撤销所有文件 checkout 只撤销已有(tracked)文件,新增文件(untracked)不会撤销 清除工作区新增(untracked)文件 git clean -df 2、撤销暂存区修改(已经add,未commit /push) 把添加(add)到暂存区的更改,恢复到工作区 git reset #撤销暂存区全部文件 git reset filename #指定文件 3、查看本地仓库修改(已经commit,未push) git log 本地branch ^仓库 远程分支 #可以查看本地有远程没有的提交。 git log 远程分子 ^本地branch #可以查看远程有,本地没有的提交。 git log master ^origin master #demo 4、撤销本地仓库修改(已经commit,未push) 仅仅是撤回commit操作,您写的代码仍然保留。 HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤回,可以使用HEAD~2 git reset --soft HEAD^ 参数说明: --mixed 不删除工作空间改动代码,撤销commit,并且撤销git add . 操作 --soft 不删除工作空间改动代码,撤销commit,不撤销git add . 操作 --hard

git git reset 版本回退
阅读更多
git命令备忘系列(四) - 对比两个分支的差异(diff)
工具与效率
2021-01-10 0k

git命令备忘系列(四) - 对比两个分支的差异(diff)

1、工作区与缓存区的差异 git diff 2、工作区与某分支的差异 远程分支这样写:remotes/origin/branchNmae git diff branchNmae 3、工作区与HEAD指针指向的内容差异 git diff HEAD 示例: git diff HEAD^ # 工作区与上次提交内容差异 git diff HEAD^^ # 上上次提交内容差异 git diff HEAD~3 # 也可以直接~次数 git diff head f42b15f5 # 也可以指定id 4、工作区某文件“当前版本”与“历史版本”的差异 git diff 提交id 文件路径 5、查看从某个版本后所有改动内容 git diff 版本TAG 6、 查看两个分支指定文件的详细差异 git diff branch1 branch2 具体文件路径 7、查看所有有差异的文件的详细差异(也支持TAG) git diff branch1 branch2 8、查看 branch1 分支有,而 branch2 中没有的 log git log branch1 ^branch2 9、查看 branch2 中比 branch1 中多提交了哪些内容 列出来的是两个点后边(此处即 branch2)多提交的内容。

git git diff 分支差异
阅读更多
git命令备忘系列(三) - 查看提交历史记录(log)
工具与效率
2021-01-09 0k

git命令备忘系列(三) - 查看提交历史记录(log)

git log # 查看所有commit记录(SHA-A校验和,作者名称,邮箱,提交时间,提交说明) git log -p -次数 # 查看最近多少次的提交记录 git log --stat # 简略显示每次提交的内容更改 git log --name-only # 仅显示已修改的文件清单 git log --name-status # 显示新增,修改,删除的文件清单 git log --oneline # 让提交记录以精简的一行输出 git log –graph –all --online # 图形展示分支的合并历史 git log --author=作者 # 查询作者的提交记录(和grep同时使用要加一个--all--match参数) git log --grep=过滤信息 # 列出提交信息中包含过滤信息的提交记录 git log -S查询内容 # 和--grep类似,S和查询内容间没有空格 git log fileName # 查看某文件的修改记录,找背锅专用 git blame 文件名 # 查看某文件的每一行内容的作者,最新commit和提交时间 除此之外,还可以通过 –pretty 对提交信息进行定制,比如: 占位符: 占位符 说明 占位符 说明 %H 提交对象(commit)的完整哈希字串 %h 提交对象的简短哈希字串 %T 树对象(tree)的完整哈希字串 %t 树对象的简短哈希字串 %P 父对象(parent)的完整哈希字串 %p 父对象的简短哈希字串 %an 作者(author)的名字 %ae 作者的电子邮件地址 %ad 作者修订日期(可以用 –date= 选项定制格式) %ar 按多久以前的方式显示 %cn 提交者(committer)的名字 %ce 提交者的电子邮件地址 %cd 提交日期 %cr 提交日期,按多久以前的方式显示 %s 提交说明 参数: 选项 说明 -p 按补丁格式显示每个更新之间的差异 –stat 显示每次更新的文件修改统计信息(行数) –shortstat 只显示 –stat 中最后的行数修改添加移除统计 –name-only 仅在提交信息后显示已修改的文件清单 –name-status 显示新增、修改、删除的文件清单 –abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符 –relative-date 使用较短的相对时间显示(比如,“2 weeks ago”) –graph 显示 ASCII 图形表示的分支合并历史 –pretty 格式定制,可选选项有:oneline,short,full,Fullerton和format(后跟指定格式) 限制log输出参数: 选项 说明 -(n) 仅显示最近的 n 条提交 –since, –after 仅显示指定时间之后的提交。 –until, –before 仅显示指定时间之前的提交。 –author 仅显示指定作者相关的提交。 –committer 仅显示指定提交者相关的提交。 –grep 仅显示含指定关键字的提交 -S 仅显示添加或移除了某个关键字的提交 示例: 示例1:

git git log 提交历史
阅读更多