作者归档:Leaf

在树莓派B+ 架设一个shadowsocks

安装

创建配置文件,编辑 vim /etc/shadowsocks.json

运行

设置开机启动,编辑 vim /etc/rc.localexit 0的上一行加入

参考:在树莓派上架设 Shadowsocks 本地 Socks 5 代理以及 http 自动配置代理

在树莓派B+ 3.18.x 上编译mt7601U芯片的小度WiFi驱动

硬件ID 2955:1001

网上很多帖子太老了,按照教程编译的驱动在新版内核中用不了,总结了几个关键的坑

安装配置 gcc/g++ 4.8

下载好驱动后,打开驱动目录

修改common/rtusb_dev_id.c 加入小度WiFi的硬件ID

查找

在下面加入以下内容

修改include/os/rt_linux.h 修复用最新版GCC编译报错的问题

查找

替换成

编辑 os/linux/rt_linux.c 关闭 Debug

查找

替换成

激活网卡

参考: 树莓派2安装使用小米WIfi(360 小度 腾讯wifi)

nginx使用非80端口做反代理 Django会重定向到错误端口的问题

使用nginx做反代理,设置的访问端口不是80,但是当打开网站重定向到登陆页面的时候,却转向到80端口上,导致打不开的问题。

解决办法

当一个Django应用部署在代理或负载均衡器后面的时候,解决这个问题需要依赖 X-Forwarded-Host 报头提供转发地址。

首先,添加下面字段到 nginx 的主机配置文件(插入到 location 部分),用于配置 nginx 发送出合适的报头:

其次,添加下面字段到 Django settings.py 文件,用于配置 Django 信任接收到的 X-Forwarded-Host 报头:

现在它应该能正常工作了。

另外,出于安全原因,应用不应该无条件信任接收到的 X-Forwarded-Host 参数,正确的做法是在Django settings.pyALLOWED_HOSTS配置中加入可信任的域名或者IP。

参考:django admin redirects to wrong port on save

使Raspberry Pi上的USB键盘和iPad显示屏协同工作

适用场合:没有显示器,没有电脑,而又想好好的折腾Raspberry Pi。

必须要有:Raspberry Pi,iPad,USB键盘,网线或者无线网卡,无线路由器。

PS1:可以用其他能用SSH软件的设备替代iPad,比如各种安卓手机,平板。
PS2:Raspberry Pi + 无线网卡 再利用hostapd开热点,可以不需要无线路由器。

这个和以前那个 KindleBerry Pi 一样的用法,就是把 Kindle 换成 iPad 做显示屏,同理适合任何能用SSH软件的设备。

安装screen用于查看共享会话,这样在用 Raspberry Pi 上的键盘输入的时候,在 iPad 上也能同步显示输入什么

编辑~/.bashrc,加入下面内容,使得登陆 Raspberry Pi 后能自动启动screen

设置 Raspberry Pi 开机自动登陆,以便能运行前面安装的screen
编辑/etc/inittab 找到1:2345:respawn:/sbin/getty --noclear 38400 tty1,修改为

重启树莓派 sudo reboot

在iPad上用SSH软件(我用的是 Serverauditor)连接 Raspberry Pi,试试效果,比用iPad自带的软键盘舒服吧。

解决 Raspberry Pi 用 hostapd 开启热点后 dnsmasq DHCP 不能分配IP

编辑 /etc/default/ifplugd,改成下面这样

参考:Why won’t dnsmasq’s DHCP server work when using hostapd?

Raspberry Pi B+ 使用 DS3231 实时时钟(RTC) 模块

修改/etc/modprobe.d/raspi-blacklist.conf注释掉禁用的i2c-bcm2708模块

修改/etc/modules加入i2c-bcm2708i2c-dev

安装 I2C 工具包

添加当前用户到I2C组

运行i2cdetect -y 1查看I2C接口

启用

成功

写入系统时间到实时时钟(RTC) 模块

编辑/etc/rc.local找到exit,在上面一行加入下面命令,使实时时钟能在开机后写入时间到系统

禁用fake hwclock

参考:hwclock man pages

Raspberry Pi B+ 使用 rpi-update 更新固件后I2C 接口报错

前几天买了DS3231实时时钟(RTC),按着网上的教程操作,先开启内核的I2C支持。

检查了好几遍没有发现哪里操作不对的,最后还是报下面的错误。

搜了一下发现原因是前几天使用rpi-update<strong>更新了 Raspberry Pi 固件,而新版的 Raspberry Pi 固件引入的设备树,I2C默认没有启用。

解决方案

修改/boot/config.txt添加 一行dtparam=i2c_arm=on,保存后重启,问题解决。

参考

在Ubuntu中使用pyodbc 连接 MS SQl servers

安装依赖包

Edit the file /etc/freetds/freetds.conf and replace placeholders appropriately. Note that we are calling our server sqlserver.

Edit /etc/odbcinst.ini like this:

Edit /etc/odbc.ini like this, to add a data source named sqlserverdatasource:

If everything is fine, with the help of pyodbcit should be really easy! You may try the following snippet:

解决中文字符乱码 问号的问题:

添加一个配置参数unicode_results=True

参考:

http://www.tryolabs.com/Blog/2012/06/25/connecting-sql-server-database-python-under-ubuntu/

http://blog.csdn.net/jw083411/article/details/8940574