LEDE/OpenWRT 路由器打造家庭媒体影音中心(二)

USB 驱动

查看已安装的驱动

opkg update
opkg list-installed | grep usb

安装驱动和工具

如果下列驱动未出现在上一步的结果中,请务必首先安装缺失的驱动

opkg install kmod-usb-core kmod-usb-storage

kmod-usb-core:USB 核心驱动

kmod-usb-storage:大容量存储设备驱动

kmod-usb2:WRT1900ACS 有一个 USB2.0/eSATA 口,可以不安装

kmod-ata-marvell-sata:Marvell SATA 接口驱动,可以不安装

网上搜到的教程和官方指南里还让安装一些其他的应用,但这些都是不必要或已被编译至内核中,包括:kmod-usb-ohcikmod-usb-uhcikmod-usb3kmod-usb-storage-uas

安装相关工具

opkg install usbutils block-mount e2fsprogs kmod-fs-ext4 gdisk fdisk …
➟ 查看全文

LEDE/OpenWRT 路由器打造家庭媒体影音中心(一)

前言

软/硬件

软件:本文系统都是基于 LEDE 17.01.4

硬件:Linksys WRT1900ACS V2

其他:一台电脑,最好是 Linux 带 SSH,Windows 的话可以下个 putty 安装上

前提:我不会从头写起,而是从路由器已刷好 LEDE 17.01.4,WAN 口已联网,且已经可以 SSH 登录之后开始,其他外设,如硬盘、硬盘盒、用于 Extroot 的 U 盘都已准备好。

实现目的

基于 Linksys WRT1900ACS 强悍的性能和扩展功能丰富的 LEDE,打造一个有权限控制的 …

➟ 查看全文

CentOS6 数据库服务器配置

本文章仅用于记录在公司服务器上通过 yum repo 来安装官方提供的数据库程序,而非通过编译方式来安装。通过官方仓库来安装有很多好处,比如升级、打补丁都很方便,不用编译浪费时间,更不需要安装多个版本的 gcc 来满足各种不同软件的要求。

Mysql

下载安装 mysql repo

rpm -Uvh https://repo.mysql.com//mysql80-community-release-el6-1.noarch.rpm

升级至 57 版本

yum --disablerepo=mysql80-community --enablerepo=mysql57-community upgrade

当前默认是 80 版本,如果未来需要升级,如果未来一直要维持在 57 版本,那么建议修改配置文件,以免每次都带上两个参数

vim /etc/yum.repos.d/mysql-community.repo …

➟ 查看全文

使用 Python 发送 Gmail

本文基于一个真实的项目,使用 python3.6 和最新官方 smtplib 接口。项目的目的是爬取网站,然后通过邮件给自己发送邮件提醒新文章。最后使用 linux 系统的 crond 服务定时执行。

发邮件方法

在定义发邮件方法之前,我们还定义了一个类和类中的爬虫,单拿出来发邮件来说,代码如下:

    def sent_email(self):
        fromaddr = '[email protected]'
        toaddrs  = ['[email protected]']
        subject = "{}{}".format(datetime.now().strftime('%Y年%m月%d日'),'共有产权房信息')
        msg = ''.join(['日期:\t{}\n标题:\t{}\n地址:\t …
➟ 查看全文

Pandas 时间处理函数速度对比

Pandas 非常擅长处理时间序列,拥有多种处理时间序列的函数和方法,自己做了几个小测试,看看内置函数都能适配哪种格式、哪种情况,速度又有多快。

我用到的时间处理主要是对细粒度的时间重采样至粗粒度,之后再对重采样后的时间进行分组再进行后续操作,如求和、求平均或取最后值。

所以我就设计两个场景,第一个场景是对频率为秒的时间序列重采样至一分钟然后求平均;第二个场景就是对频率为秒的时间序列重采样至 3 分钟然后对新的时间序列取每个时间的最新值。

所以首先是要生成一组数据

import pandas as pd

rng = pd.date_range(start='2018-04-07',end='2018-04-08',freq='s')
df = pd.DataFrame(pd.np.random.randn(rng.size),index=rng)
ser = pd.Series(pd.np.random.randn(rng.size …
➟ 查看全文