嵌入式之红外通信
红外通信上一篇只是粗略地提了一下红外通信,这篇来说些注意事项与细节问题 载波红外通信一般为 38K 载波,“载波” 简单来讲就是一段周期性的、不断震荡的波; 注:特别注意的是,对于一些非信号专业的新手来讲,虽然眼睛看到了该条件,但并没有进行思考,只当作“公理”给记住,这时在使用时往往会忽略掉。与福尔摩斯说过的话有异曲同工之处:“你只是用眼睛看,并不是在观察”,现在是:“你只是眼睛看到了,却没有在思考。” 我们可通过调制将信息加载到载波上,这样信息就会随着波的传播而发射出去了;波发出去后会受到外界环境光的干扰,这就可能会导致信息的丢失或篡改;理论上来讲:传播距离越远,信息丢失的概率越大。 38K频率上面提到载波上的信息可能会丢失,那有没有什么预防措施呢? 这就要说到用 38K 载波的原因了:主要是为了提高抗干扰能力,尽量避免因环境光干扰导致的信息丢失或篡改; 另外的原因(来自百度): 这一频率的选择与常用的 455kHz 晶振密切相关。在发射端,通过对晶振进行整数分频,通常取分频系数为12,从而得到 38kHz 的载波频率。这种分频方式不仅技术上可行,而且经济实用,因为它利 ...
嵌入式总结(一)
红外通信原理红外通信的整个工作过程发送过程数据 -> 编码 -> 调制 -> 发送电路 数据:假设发送的数据为 0XA5,二进制为:10100101 编码:用脉冲宽度编码(Pulse Width Encoding)来表示二进制数据。每个数据位由一系列的脉冲组成,逻辑0和逻辑1分别由不同的脉冲宽度表示。现假设如下: 逻辑0为:0.5ms高 + 0.5ms低; 逻辑1为:1ms高 + 0.5ms低; 调制:就是把编码数据放到一定频率的载波上面,即使用数据调制载波,形成一串脉冲信号 发送电路:即:红外灯珠对脉冲信号的发送 + 脉冲信号的放大 接收过程接收电路 -> 解调 -> 解码 -> 数据 接收电路:接收发过来的红外信号 解调:当红外接收管接收到调制信号时,输出高电平,否则输出为低电平 解码:解调后将得到的一系列脉冲变为二进制 数据:解码后即可得到发来的数据,即 0XA5 (二进制为:10100101) 优缺点红外通信的优点:抗电磁干扰、成本低 红外通信的缺点:传输效率低,易受到环境 ...
Ubuntu服务器部署FRP内网穿透
前言由于有给服务器传文件的需求,又没有FTP,就想着先给服务器装个FRP内网穿透;就百度了一下,结果好几天也没成功,后来又不甘心,又继续搞,终于有结果了,记录一下。 安装vsftpd 安装 vsftpd 12sudo apt updatesudo apt install vsftpd 配置 vsftpd vsftpd的配置文件默认位于 /etc/vsftpd.conf下,我们编辑一下 1sudo vi /etc/vsftpd.conf 配置以下配置 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251 ...
Ubuntu下不使用宝塔面板建站
前言恰逢国庆中秋双节放假,闲来无事,想着搞点什么玩玩;思来想去,还是写个博客吧! 由于之前建站都是使用的宝塔或者直接docker部署,感觉没什么进步;就想着不使用宝塔来建个站,虽然不好管理,但学习嘛,不怕困难。 准备 服务器 域名(非必须) 爱折腾的心 过程Apache更新源 1sudo apt update //先更新一下源再安装,否则有可能安装不成功 安装 1sudo apt install apache2 查看apache运行状态 1sudo systemctl status apache2 开机自启Apache 1sudo systemctl enable apache2 修改配置文件 1vi /etc/apache2/apache2.conf //不会使用vi编辑器的可百度下,也不难 12345<Directory /var/www> //这里是自己的网站目录 Options Indexes FollowSymLinks AllowOverride None Require all granted&l ...
精确搜索之Google搜索语法大全
Google谷歌搜索语法大全 算 符 含 义 应用举例 AND/空格 所连接的关键词之间是“与”的关系 云计算 分布式计算 OR/| 所连接的关键词之间是“或”的关系 图片 | 风景 - 所连接的关键词之间是“非”的关系 神雕侠侣 - 游戏 () 在检索式中括号里的运算将优先进行 电子商务 AND (云计算 - 分布式计算) “ “ “ “英文双引号中的内容作为一个整体被搜索,精确匹配搜索 “智能天线” * 通配符——星号(*),代表完整的字词:A * B与A * * B是有区别的 Flower * pots 与Flower * * pots + 强制搜索一般会被自动忽略的搜索关键词,如:who、the、of、am + B ~ 同义符——在搜索词前使用,表示会和同时搜索相近词义的词;注:示例中会同搜元素Si ~ silicon .. 搜索数字范围限定 手机 价格2000..5000 filetype: 把搜索范围限定在特定文件类型中;.pdf/.doc/.docx/.ppt/.pptx/.xls/.xlsx/.rtf/.txt/.swf/ ...
Ubuntu部署Docker项目
拉取Alist镜像并部署 1docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest 通过日志获取默认密码 123docker logs alist#或者docker exec -it alist ./alist admin 拉取文件快递柜镜像并部署 1docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:latest 如果需要修改配置,可以修改/opt/FileCodeBox/目录下的.env文件;里边包含后台地址、后台密码等 部署Cloudreve 12docker pull cloudreve/cloudreve#拉取最新Cloudreve镜像 12 ...
Docker常用命令
启动 启动容器 123docker start 容器id # 启动容器docker restart 容器id # 重启容器docker start $(docker ps -a -q) # 启动所有容器 停止 停止容器 123docker stop 容器id # 停止当前运行的容器docker kill 容器id # 强制停止当前容器docker stop $(docker ps -a -q) # 停止所有容器 查看 查看运行的容器 12345docker ps -a # 查看所有容器的运行记录 -n=? # 显示最近创建的n个容器 -q # 只显示容器的id 查看容器运行日志 12docker logs -tf 容器iddocker logs --tail num 容器id # num为要显示的日志条数 查看所有镜像 1docker images 获取容器ID 1docker ps | grep "$f ...
Linux(Ubuntu)部署Memos
前言最近又白嫖了一个月服务器,反正空着也是空着,就想着用来练练手;刚好看见一个实用的备忘项目,就来搞搞,顺便(水)写一篇博客。此博客纯属小白向,零基础也能可以试试。 准备工作 一台服务器 一个域名(如果只是练练手,没想让别人访问的话不用也行) Xshell或者其他同类型软件 服务器选择服务器操作系统:建议选Linux,我这里用的是Ubuntu_20.04。 设置你的实例密码,待会儿用得上 Xshell这里我用的是 Xshell ,你也可以用其他同类型软件;连接服务器: 主机:填你服务器的公网IP; 端口号:22 ;如下: 然后选择左侧栏中的“用户身份验证”,填写 用户名:root;密码:就是你刚才设置的; 如下: 点击下边的“连接”即可连接到你的服务器;出现以下字样(即root@主机名)即算连接成功,如下图: 安装Docker 先更源,保证是最新 1sudo apt-get update 先卸载旧版本Docker 1sudo apt-get remove docker docker-engine docker.io containe ...
常用的命令提示符
1. 查看并导出目录文件夹名称12tree>list.txt //查看文件夹并导出为list.txt文件tree /f >list.txt //查看文件夹及里面的文件并导出为list.txt文件 解释: 只查看不导出,只用 tree 就行 list.txt 可以自己更改(list 为文件名,txt 为后缀;文件名可以自定义,后缀可以为:txt、md、xls 等) 加上 /f 为显示文件夹下的文件,不加的话就只显示文件夹 2. 批量更改文件名及后缀12ren *.txt *.md //改后缀名ren 旧文件名.txt 新文件名.txt //改文件名 解释: ren 为更改后缀的命令 *.txt 为更改前的后缀 *.md 为你要更改的后缀 如果你要更改所有文件,不只是txt 文件;那么可以用 ren *. *.md 命令! ps: 上面的 * 为通配符,通配符还有一个 ? ; 具体作用为:? 代表匹配一个字符, * 代表匹配多个字符; 其应用也很广,可以用来搜索你不记得具体名称的文件夹: 比如你记得你磁盘有一个文件,它的文件名的第一个字符不记得了,只记 ...
Github+PicGo图床搭建
准备工作:首先需要准备: 一个GitHub账号 (没有的话先注册一个) 下载PicGo软件并安装 (软件GitHub地址:https://github.com/Molunerfinn/PicGo/releases) 创建仓库:打开GitHub,点击右上角的 “+” 号,选择第一个 “New repository” 创建一个存放图片的仓库; 仓库名称可以起个 “Image” ,描述的话随便就行,然后一定要选 “Public” 不要选 “Private” 下边随便勾一下 “Add a README file” 就行!最后点击 “Create repository” 来创建,具体如下图: 获取Token:回到GitHub主页,点击右上角头像,在下拉菜单中找到 “Setting”;然后翻到最下边,点击 “Developer setting”, 再点击最下边的 “Personal access tokens” ,然后新建一个 token 就行,如下: “Note” 可以随便填一个,时间的话自己选个天数就行(这个天数是 token 过期的时间),我这里就选个90天吧!最重要 ...