- 博客(49)
- 收藏
- 关注
原创 卡尔曼滤波器的Python实现
本文介绍了一个基于Python语言的关于卡尔曼滤波器的Demo用于理解卡尔曼滤波器,卡尔曼滤波器实际上是用来融合多传感器的一种方式,首先我们先解决一个问题,已知传感器A与传感器B分别测量同一个量,二者误差满足均值为零的正态分布,根据极大似然估计,能够得到最优的值应当是,传感器示数的加权平均,均值分别为传感器误差的倒数,对于一个具有位移传感器与速度传感器的物体,一方面,位移能够通过速度与时间...
2020-02-04 22:55:44 1777
原创 VSCode的Remote - SSH功能的使用
许多商用的应用都是在LINUX环境上运行,如何方便的修改LINUX上的文件就是一个比较麻烦的事情,针对这个问题,VSCode新加入了一个Remote-SSH的插件非常简单的解决了这个问题,首先为了使用这个功能需要下载安装该插件,安装完插件后需要使用一个配置文件用于配置连接的名字,地址与端口,这里配置文件如下Host localhost HostName 127.0.0.1 Use...
2020-01-29 15:51:58 1534
原创 VSCode下C语言多文件编译
VSCode下的C\C++插件对于多文件编译支持相对薄弱,多文件编译的方式是通过修改task.json中的参数来调整的,每次加入文件都需要进行修改task.json,不灵活,在VSCode的插件库中有CMake可以解决多文件编译的问题,下载安装CMake插件,需要修改的地方有“首选项”-“Cmake Path”此处应填入cmake.exe的具体位置,在“首选项”-“Generator”,此处应填入...
2020-01-26 19:23:10 4727 1
原创 VSCode下的C语言环节搭建
VSCode对C语言的平台支持比对Python的支持相对较弱,需要自行配置环节,流程如下,先安装C\C++插件,安装完毕后,通过Debugger管理器向launch.json添加一个gbd的配置器,生成后需要修改的是"miDebuggerPath",该处应该填入所使用的gbd.exe的绝对位置,然后需要注意的是,该处仅修改调试工具,编译本身需要预先运行Task任务,一起按shift、ctrl和...
2020-01-26 11:54:14 333
原创 多传感器融合的数学原理依据
在实际的应用中,基于鲁棒性考虑,会采用多传感器综合的技术,而如何将传感器的数据进行融合,这是需要数学推导的。基于中心极限定理与方便处理(实际上具体情况需要结合实际来测试实际分布,不能直接做假设,本文为了简单说明作此处理),我们可以采用P(θ)描述待测量真值为θ的概率,该概率实际上是P(θ|x1)、P(θ|x2)等概率的乘积,而x1、x2为传感器示数,计算θ的实际情况应当采用最大似然的方式求解,θ应...
2019-12-26 21:37:39 315
原创 嵌入式中可能使用的算法
在嵌入式的测量中可能存在某些无法被直接测量的变量,但可能可以通过几个不同的数据指标运算处理得到,这里介绍最小而成发,最小二乘法适用于描述Y = AX + B的数据,即寻找到最合适的一条通过X描述Y的直线,X向量维度过多将会受到单片机的性能的制约,这里介绍最简单的单维度X生成Y。最小二乘法的原理是,我们可以构造y = ax + b,对于预测的误差通过 Q = Σ(axi + b - yi) ^ ...
2019-12-09 21:56:18 725
原创 Multisim中扬声器与麦克风的使用方式
Multisim中实际上有扬声器和麦克风,在右边设备栏中选择更多,会发现一个LabView的选项,点击后会看到一个Speaker即扬声器,和一个MicroPhone即麦克风,加入便可以使用,其中二者均仅有单独的接口,因为这两个设备实际上是默认接地的,如果需要使用可以通过电容耦合的方式接入电路,然后扬声器是在仿真时记录接入点电压情况,达到预设录音时间后停止仿真,点击播放即可,而麦克风需要提前录制,然...
2019-11-04 22:12:25 39005 1
原创 关于温度调节自适应的思考
设加热功率为P(t),即加热功率为随时间变化的函数,根据物理学知识,物体散热功率与当前温度与环境温度的差值成正比即P(t) dt - k (T(t) - Te) dt = cm dT需要注意,该处温度由于后续考虑短时间,故视为定值对上述方程离散化处理得到P(n - 1) - k [T(n - 1) - Te] = cm [T(n) - T(n - 1)]即 αP(n - 1) ...
2019-10-27 21:30:55 524
原创 Esp8266的MicroPython下的串口问题
由于Esp8266串口调试占用了端口,实际上如果直接开启UART0串口会发生卡顿,故将串口写入main.py,通过RST重置,进入main.py,开启串口,但这会存在一个问题,你无法进入常规的调试界面。所以最合适的方式应当在main.py下加入对输入字符串的识别以进入串口模式...
2019-09-27 20:11:35 2575 1
原创 一种低功耗的交流信号放大的电路实现
如图所示R2实际上是提供偏执电压,R1是让输入阻抗匹配,实际上这里应该选择100k,交流信号主要从C1进入,放大倍数应该是R3 / C1
2019-09-16 21:57:47 2082
原创 硬件PID的实现
PID算法是一个经典的控制算法,被广泛的应用在诸多行业,相对常见的应用方式是通过AD采样,再进行数据处理,再通过DA输出的方式,而实际上PID算法可以通过直接的电路进行实现,而上位机后续仅需要根据需要,直接输出目标值,不再需要额外的AD模块了,原理图如下图所示...
2019-09-16 21:51:50 8031 1
原创 AD模数转化电路的一种实现方式
测量电压实际上可以通过间接的测量由该电压通过一个确定的电阻所产生的电流对一个确定的电容进行充电达到预定的电压所花费的时间得到,而该处方案的实现可以采用运放中的积分器进行实现,在充满电后释放电容存储的电荷可以采用电开关进行释放,由于三极管存在的二极管的导通电势,导致电容无法完全释放,故采用的场效应管,但是在采用N沟道场效应管时,存在的参考的低电压是输出电压,会随着时间的改变而改变,在释放的过程中,V...
2019-09-16 21:44:35 1855 1
原创 关于场效应管使用时存在的一个容易令人疏忽的问题
场效应管实际上存在着结点电容,这也是为何部分芯片使用MOS管的引脚时不能浮空,就是因为无法释放结点电容存储的电量
2019-09-15 21:46:59 418
原创 用Python构建你的物联网Demo:基于ESP8266、MicroPython与Flask
IoT应用最简单的构成是设备终端与服务器端,关于设备终端,本文采用了自带WiFi功能的ESP8266,这是一块极具性价比的物联网芯片,在万能的淘宝上仅需要10+便能够买到,具有良好的应用生态,乐鑫官方给出了相关的开发SDK,也支持Arduino编辑器与Alios,这里出于熟悉的缘故采用了MicroPython做为开发的基础,在服务器的选择上,由于本文是Demo开发,选择了Python的Flask这...
2019-09-02 21:33:54 1930
原创 RuoYi系统的快速添加页面Python工具
由于为了方便工作和若依本身结构明细优秀,本人弄了一个小工具,模板拿的是系统自动生成的部门代码,在其基础之上加以修改的代码import os# 该工具用来自动生成RuoYi的页面,# 使用方法是确保输入地址为预设的模板,# 输出地址便是所设置的地址,# 将其覆盖原有的文件夹便可以实现功能。inpath = "RuoYi_template"outpath = "RuoYi"# 模板...
2019-06-20 10:09:42 1799
原创 Redis 启动注意事项
直接通过 src/redis-server 发现他无法自动从下载的 redis 文件夹下读取配置文件 需要显式声明配置文件地址 他才能得到配置文件内容
2019-03-12 22:27:17 226
原创 广度遍历与深度遍历在爬虫策略上的区分
爬虫对下个节点的选择上有可以有广度与深度两种具体实现上,可以考虑通过队列和堆两种数据结构基本情况描述,一个链接下指向多个链接,依次将链接按照队列形式存储将会是广度遍历而通过堆存储将会是深度遍历...
2019-03-11 15:44:11 436
原创 关于 Python try、continue、finally 的时序关系
import requestsfor i in range(0, 5): try: 1 / 1 except (Exception, requests.exceptions.ProxyError) as e: print(e) else: print("success") continue ...
2019-02-26 19:20:47 5180
原创 基于 Python 的知乎爬虫设计
这里是知乎爬虫的一个小项目,实际上知乎在不涉及个人主业的情况下爬虫实际上难度不大,但是这里有个小细节的地方是,知乎直接提交请求,不能够得到内容,需要附带头部信息,但是其头部信息不能直接复制浏览器信息,因为,知乎默认压缩是采用br压缩形式,而在requests默认是无法解析br编码的信息。...
2019-02-23 19:41:43 697
原创 上证指数的预测与投资策略,基于 Python 的量化投资尝试
时间序列预测方法有很多种,初次尝试采用最基础的线性预测的方式,通过傅里叶变换得到其于时间域上的频谱分布图,提取主要的周期,建立Yn = ΣYn-i 的预测模型, 根据预测结果计算残差,根据假设检验结果判断涨跌,进而判断买入卖出。...
2019-02-23 19:40:58 738
原创 用 Python 模拟一个 MQTT 设备
Recv 部分import paho.mqtt.client as mqttimport SendControlPath = "home/bedroom/switch1/set"StatePath = "home/bedroom/switch1"# 链接时调用def on_connect(client, userdata, flags, rc): print("Conn...
2019-02-23 10:12:21 1734
原创 用 snowboy 做你自己的小爱同学
由于毕业设计需要,用树莓派做语音交互,但发现小爱同学并没有原生支持home-assistant,于是打算自己实现一边小爱同学部分功能,目前实现了语音唤醒然后语音识别,后期可以通过对得到文本做匹配,在有限的命令里,能够做到一个交互的效果。首先你需要下载 snowboy 下的开发包,然后由于树莓派并未自带声卡的缘故,你需要一个USB麦克风即带有声卡的麦克风收音,后期如果需要远程控制,可以考虑麦克风...
2019-02-21 23:54:54 4944 1
原创 关于树莓派使用 SnowBoy 进行语音唤醒时 需要配置声卡的流程
由于树莓派并未自带声卡,直接使用 SnowBoy 存在找不到声卡的问题,为了解决这个需要把 USB声卡作为默认声卡这样才能正常运行SnowBoy,配置步骤如下 在/etc/目录下生成一个asound.conf的配置文件,并且在里面加入defaults.ct1.card 1defaults.pcm.card 1defaults.timer.card 1即可...
2019-02-21 16:25:18 1433
原创 home-assistant 在没有公网IP条件下实现外部访问的方案
由于毕业设计需要 home-assistant 但是并没有公网IP 为了能够通过IP访问树莓派 考虑已有阿里云服务器,计划通过VPN技术将树莓派地址通过VPN 连接到阿里云服务器,再依赖端口映射连接到树莓派实现从阿里云服务器连接至树莓派。...
2019-02-20 14:19:32 4255
原创 vscode 下 Java 开发环境配置
加载 Language Support for Java(TM) by Red Hat 模块在 菜单 > 首选项 > 设置 中点击 在 setting.json 中编辑 加入 java.home 配置 java 环境在调试器界面 选择 设置 添加一个 Java Launch Program 即可 ...
2019-02-20 14:08:25 806
原创 加速你的 Maven 修改 Maven 镜像源
修改 Maven 解压目录下的 conf/settings.xml 加入 <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven
2019-02-18 17:30:46 334
原创 关于打开 Mysql 的 远程连接
Mysql 远程连接 需要通过打开 mysql 本身对于 ip 的限制即 在配置文件中查找到 bind-address = 127.0.0.1 并且注释和 修改用户的端口限制 即 在 user 表中 修改 host对于部署在服务器上的 mysql 服务还需要开放端口...
2019-02-18 12:42:54 88
原创 关于在 Raspbian 中安装 Python 3.7
由于Raspbian 自带环境不支持 Python 3.7 需要通过下载一些驱动以符合 Python环境 且 Python 本身属于部分软件依赖工作, 在Raspbian 中直接安装 Python 3.7 存在依赖问题 可以通过直接pull docker 上的 Python 3.7 的镜像来跑 Python 3.7...
2019-02-14 22:48:29 2245
原创 对知乎的用户网络进行数据分析
其实对于知乎用户结构数据分析的有很多大佬已经做过了,但是这里作为个人实验小项目还是记录一下。用户数据来源是,通过一个用户去发现其关注列表中的所有用户,并且加入统计用户被关注次数中并且由此循环迭代,最后得到用户被关注统计数据,数据根据关注人数排序,输出折线图,结果如下图像纵坐标表示关注人数,横坐标表示人数序号可以变相的理解为大于横坐标关注人数下关注的人数累计,可以发现极小部分的人拿走了大...
2018-12-17 11:14:23 1382
原创 关于利用神经网络压缩数据
这里有个简单的构思,记录一下,也欢迎讨论存储信息存在一定的冗余,大部分信息都是能够压缩假设 原始数据(A,B,C,D,E...) 是由 隐含的信息 (X, Y, Z) 生成 即 (A,B,C,D,E...) = f(X, Y, Z) 利用(A_, B_, C_, D_, E_) = G^-1(G(A,B,C,D,E...)) 结构的网络其中G(A,B,C,D,E...)...
2018-12-15 14:34:55 878
原创 Python 文件地址 问题
python 文件结构 有个顶层地址,IDE 下 顶层地址一般是工程地址 或者例如VSCode 这种打开文件夹的地方,而在直接调用python文件 实际上顶层地址是在被调用的文件所在地址 这也意味着 如果像 /APP/app1/app.py 调用 /APP/app2/app.py 要在/APP/下 设置一个main.py 函数去协调 自动设置顶层地址 不过这个问题 在IDE里一般不会设计到 因为 ...
2018-10-25 19:32:11 588
原创 关于VSCode环境下Python环境的更换
Python2 和 Python3 的切换在VSCode环境下十分的简单,当Python2与Python3的路径都加入环境变量时,VSCode自动可以检索到模拟器此时只需要在界面下方切换就可以了...
2018-10-20 23:47:02 7484
原创 Python 中的 logging 模块的简单使用
from Tools import CSDNimport loggingLOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"logging.basicConfig( filename = 'my.log', level = logging.WARNING,format = LOG_FORMAT) # 日志文件的基本配置log ...
2018-10-08 21:34:46 183
原创 Python 中 __name__ 的价值
__name__ 类似的 左右存在下划线的标志 意味着 这是系统变量__name__ 主要区别在于 当 文件被其他文件作为模块调用时 为 __模块__ 而当文件直接执行时 __name__ 为 __main__模块文件if __name__ == "__main__": 测试函数当模块被调用时 测试函数被忽略 而 在直接执行时 测试函数可以被执行 这也就是 if _...
2018-10-08 21:30:44 107
原创 raise 的使用
try: f()except Exception as e: print("error") raise efinally: print("success")
2018-10-08 08:47:51 573
原创 url下载文件解析文件名存在中文的时候如何解决
网络文件存储中,部分文本存在的协议是 ISO-8859-1 协议,需要通过解码再转化为utf-8才能得以显示,中文编码真的是巨坑啊
2018-09-26 18:24:22 1062 1
原创 python 中如何在不知道错误类型情况下在 except 中输出错误信息
except: print("Unexpected error:", sys.exc_info()[0])这样就可以得到错误信息了
2018-09-26 18:20:17 1617
原创 关于ini,cfg配置文件的使用技巧
.cfg .ini 文件是一种文件格式,其本身结构类似于[标题]具体变量 = 变量这种形式在py中解析得到的变量值为字符串,如存储数字信息,需要进一步解析,这种配置文件在初始化程序的时候非常的有用,在文件的存储之中,有个特性叫做变量插值类似于%(title)s23333此类语句中%(title)s将会被替换为title的值,这个在变量存储中非常的有用。...
2018-09-26 18:15:29 3177
原创 Python 的 中的修饰器 生成器 过滤器
修饰器对于一些具有重复的函数功能实际上可以用修饰器来对重复的部分进行简化,比如我有个程序是将爬来的网站信息进行存储,由于实际上的解析函数因为网页结构的不同而存在不同,此时,我们可以通过修饰器提高代码的可重用性,def save(Function): List.append(Function())@savedef CSDN(): return {"data": d...
2018-09-17 17:27:45 211
原创 关于SSH关闭后Python脚本不执行的解决方法
尝试在Centos上跑Python却发现当SSH断开后Python也将会停用,于是百度发现此时只需要 在抬头加入 nohup 他将会忽略断开SSH时发送的断开信息 转为后台执行 可以用于24小时在线脚本...
2018-09-12 10:54:33 2073
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人