基于9轴惯性运动传感器的三阶卡尔曼滤波器算法

最近在玩九轴的惯性传感器,很是有挑战性.九轴说的是三轴的加速度计、三轴的陀螺仪以及三轴的磁场传感器。但是只是单纯的测出九个轴的数据没什么用,关键是要能够融合这九轴数据得出我们想要的结果。这里就运用三阶卡尔曼滤波算法来融合这九轴运动数据为三轴的角度。运用这三个角度可以用来做自平衡车或者四轴飞行器.

继续阅读基于9轴惯性运动传感器的三阶卡尔曼滤波器算法

Beaglebone Black(BBB)使用无线网卡RTL8188cus配置

最近给Beaglebone Black重新刷了最新的UBUNTU 14.04的系统,发现原来的usb网卡不能用了,于是考虑先用个usb无线网卡代替一下,就把给树莓派用的RTL8188cus芯片的USB无线网卡给拿过来用了.

继续阅读Beaglebone Black(BBB)使用无线网卡RTL8188cus配置

基于NRF24L01实现两个树莓派和一个Beaglebone Black组网通讯

最近买了几个NRF24L01模块用来做无线通讯,而我手中正好有两个树莓派和一个beaglebone balck,就打算使用nrf24l01来做这三个设备的通讯.可以玩的花样很多,NRF24L01基于SPI接口,普通的单片机就可以使用,所以可以很简单的实现arduino和树莓派等的无线通讯.NRF24L01是基于Zigbee通讯协议的.这里以一台树莓派为主机,一台树莓派为从机,一台beaglebone为从机,实现三台机器的组网通讯.

继续阅读基于NRF24L01实现两个树莓派和一个Beaglebone Black组网通讯

rails 4 使用turbolinks实现网页跳转进度条

有时候发现一些大的网站网页链接跳转并不是直接由浏览器跳转,而是自己网站上发起的请求,进而在网页没有完全加载成功的时候显示加载进度条或者动画,已提高用户体验,而不是等着浏览器一片空白不显示在那边加载.这个在网速慢的时候特别有用.在rails4中原生提供turbolinks以实现类似PJAX功能,即后台跳转功能.

继续阅读rails 4 使用turbolinks实现网页跳转进度条

原生编译nginx使支持php-fpm以及passenger

最近想用rails写个小网站,发现要把rails工程发布成production还是要花很多功夫的.之前服务器上装的是nginx+php-fpm来支持php,为了使nginx来服务rails,就必须重新编译nginx,使之支持passenger.用nginx来服务rails大都是直接通过’passenger-install-nginx-module’实现的,但是由于之前已经装了nginx,用这个方法就不方便.本文通过原生编译nginx来使之支持passenger.

继续阅读原生编译nginx使支持php-fpm以及passenger

Beaglebone Black(BBB)从SD卡启动ubuntu文件系统

之前在beaglebone black上使用的文件系统一直是官方自带的文件系统Angstrom,个人习惯用ubuntu,且ubuntu用的人也多,资源也多,所以决定更换系统。ubuntu对armv7的支持是很好的,官方也提供了软件源,之前我在tiny210上那个自己构建的ubuntu armv7文件系统就是基于ubuntu官方的,不过今天要用的ubuntu,是特别对beaglebone优化过的,安装起来也很方便。注意,今天让ubuntu从sd卡启动,不把系统刷到emmc上,和树莓派差不多。

继续阅读Beaglebone Black(BBB)从SD卡启动ubuntu文件系统

基于flask通过web浏览器控制树莓派raspberry的GPIO

之前介绍了在树莓派上使用flask web 开发框架,这个框架是基于python的,而树莓派可以很容易的通过python来操作gpio,所有顺其自然的想到通过web来控制树莓派的gpio,可以通过浏览器访问web页面,直接操作raspberry的gpio底层,或者也可以通过手机app发送post或者get等请求,来控制树莓派的gpio,这样岂不是很妙!

继续阅读基于flask通过web浏览器控制树莓派raspberry的GPIO