分类目录归档:理工

homeassistant deploy: No module named '_sqlite3'.

背景

遇到一个坑:homeassistant部署后提示_sqlite3依赖找不到!

可是libsqlite-dev已经装有。

???

发现

因为Homeassistant最低需要Python3.9起步,raspberryPi国内镜像只有3.7版本(国外镜像慢得出奇就没加入源,也不知道有没有),只能自行编译安装。

官方默认sqlite可以被python调用的,但自己编译的就很孤立。于是configure的时候没有加进去!!!不说这谁能知道!

1.确认已经安装好所需要的依赖:

sudo apt-get install libsqlite3-dev

2.编译的时候加上sqlite的拓展!!!

./

Read more (1314 views)

堆排序

2022下半年软考软件设计下午算法题:实现大顶堆排序。

因为复习没到位,导致该题全错!此处补上知识点。

堆排序实现:

1.构建初始大顶堆。

2.最后一个元素与第一个元素交换位置。

3.重排堆。

4.排完后的堆按自下而上插回顺序表。

HeapSort.cpp

#include <iostream>
using namespace std;
#define  MAXSIZE  20    //顺序表的最大长度

//定义顺序表数值结构
typedef struct
{
    int key;
    char *otherinfo;
}ElemType;

//顺序表的存储结构   

Read more (1168 views)

python操作excel

需求

某网站导出的excel表需要先变换格式才能整合进新表。

每次都要手动:取消单元格合并->筛选->升序排列->删除多余列。

处理前

修改前

处理后

修改后

让程序来做这些枯燥而重复的工作!

考虑到vba只能对单个excel执行,而c++库太少,python有丰富现成的库,所以选择python作为实现语言。

过程:

①读取文件路径作为变量。

②拆分带有合并的单元格。

③A6~AH14范围内,按A6升序排列。

④删除多余列。

⑤保存并退出。

面向过程,当脚本使用。

代码如下:

filename : dataProcess.py

import xlwings as xw
import t

Read more (1194 views)

使用aircrack-ng破解wifi密码

免责声明:本文所攻击路由器为本人个人路由器。此网络技术只作研究,请勿用于不正当渗透。

1.停止网络管理的守护进程。

sudo systemctl stop NetworkManager.service wpa_supplicant.service

2.查看网卡名称。

iwconfig

我的网卡名称为wlp1s0。

wifi破解2

3.网卡设成监听模式。

sudo airmon-ng start wlp1s0

如果设备是单网卡,此操作会断开正连接的网络。

wifi破解3

4.扫描附近wifi。

sudo airodump-ng wlp1s0

wifi破解5

记住要破解的wifi的MAC地址和信道CH。

这里MAC地址为:18

Read more (1236 views)

GB18030编码转UTF-8

背景

下载了一份源码,当我在linux平台用nvim查看时,英文部分正常,但中文乱码。

由于作者是在windows平台编写的,处于历史原因,windows向后兼容了GBK系列的编码。

而几乎所有linux的/etc/locale.conf文件都使用utf-8。

解决

方法一:修改.nvimrc配置文件,加入以下内容:

set fileencodings=utf8,cp936,gb18030,big5

此方法属于修改文本编辑器,虽然nvim查看显示正常,但属于自欺欺人。编译运行起来还是会乱码。

方法二:将文件编码直接修改成utf-8

进入想要改变的文件的路径

cd path-GB18030-

Read more (1110 views)

git status中文显示乱码

问题

因为历史原因,git不能很好支持utf8

当我新增内容到暂存取时,看到git状态为乱码。

git中文乱码

解决

配置~/.gitconfig,往里面追加以下内容:

[core]
        quotepath = false

结果

git中文乱码j解决

Read more (1048 views)

mysql修改字符编码方式

背景

记一次mysql因为不同的编码方式无法把两个字段拼凑起来的情况。

报错原因:mysql数据库latin和utf8混编连接

查询数据库编码情况

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

改变编码前

解决(把所有编码方式改成utf8mb4)

编辑/etc/mysql/conf.d/mysql.cnf

[client]                                                     

Read more (1152 views)

esp8266+dht11+小爱同学

效果

通过小爱同学询问温湿度情况(天猫精灵或者小度小艺也可,具体调用方法可以看blinker api文档)。

准备

  • Esp8266 node MCU
  • dht11温湿度传感器(也可以用DHT22或者AM23系列)
  • blinker库、dht库
  • android blinker app
#define BLINKER_WIFI
#define BLINKER_MIOT_SENSOR    //接入小爱同学

#include <Blinker.h>
#include <DHT.h>

char auth[] = "8f4520ad443e";    //

Read more (1191 views)

配置jupyter,并且通过nginx反向代理

1.在home目录创建jupyter根文件目录

mkdir ~/jupyter

2.建立虚拟环境

  • jupyter基于python环境,为了隔离主机python环境,所以创建虚拟环境。
    virtuanenv -p /usr/bin/python3 ~/jupyter/jupyterenv
    source ~/jupyter/jupyterenv/bin/activate
    

    以下涉及python3执行的步骤都需要在刚刚进入的jupyterenv虚拟环境下。

3.用pip3安装jupyter

pip3 instal jupyter

4.生成默认配置文件

jupyter notebook --

Read more (2036 views)