- 博客(35)
- 收藏
- 关注
原创 BLE 实现低功耗的原因
BLE与传统蓝牙相比,最大的特点是超低功耗,主要是通过以下几方面实现的: (1)广播频段和广播时射频开启时间的减少: 传统蓝牙使用16~32个频段进行广播,而BLE仅使用3个广播频段; 每次广播时的射频开启时间由传统蓝牙的22ms减少为0.6~1.2ms; (2)BLE设计了深度
2014-03-23 11:32:08
3177
原创 6lowpan中节点通信地址
6lowpan中节点的网络地址前缀是由根节点确定的。根节点决定地址前缀,并通过ICMPv6向网络中其它节点广播这个前缀信息,其它节点接收到相应的ICMPv6信息中的前缀后,结合自己的64位MAC地址,并根据TCP/IP协议中IPv6地址的计算方法,生成本节点的IPv6地址,这是自动配置的过程。也就是说节点加入网络前,是不需要知道前缀的,也不会提前知道自己加入网络后的IPv6地址。
2014-03-11 15:11:01
2300
1
原创 Contiki 系统框架
由于TCP/IP协议不适用于资源受限的嵌入式设备,IEFT提出了6lowpan协议栈,6lowpan框架如下: 图1 正如实现Zigbee协议的协议栈有z-stack、ember、Freakz一样,目前支持6lowpan的协议栈有Contiki、Tinyos。这里我们主要介绍Contiki系统。
2014-03-10 12:15:24
3821
2
原创 zigbee 2.4GHZ频段中不受WIFI干扰的几个信道。
Zigbee 的2.4GHz频段是非常拥挤的,非常容易受到干扰,比如WIFI、蓝牙等,但15、16、21、22 这几个信道是不会受到干扰的。今天正好遇到了,做下标记。
2014-03-06 18:38:26
11210
原创 INS 扫盲
惯性导航系统( INS ,Inertial Navigation System)根据陀螺的输出建立导航坐标系,根据加速度计输出解算出运载体在导航坐标系中的速度和位置。 惯导的基本工作原理是以牛顿力学定律为基础,通过测量载体在惯性参考系的加速度,将它对时间进行积分,且把它变换到导航坐标系中,就能够得到在导航坐标系中的速度、偏航角和位置等信息。 惯性导航系统属于推算导航
2014-02-27 17:12:37
1769
原创 串口的使用
Linux中所有的设备都可以通过文件的形式来访问,串口也不例外。下面在一台虚拟机中使用虚拟的串口模拟两串口的通信。 将VMware关机,VM -》Setting -》 Hardware -》Add -》Serial Port -》Next 在Seral Port Type 中选择Output to name
2014-02-27 17:05:43
812
原创 物联网中的RPL路由协议(一)----概述
最近看了几篇论文,对于入门,很是不错,现在把它总结起来。物联网属于低功耗有损网络(LLN),“有损”就是链路不稳定、不可靠。LLN和传统 Internet 网络 ,以及AdHoc网络相比,在实际应用方面有很多不同之处,这也导致了它们的路由算法也不尽相同。 Internet 网络中有两种常见路由协议,一种是基于距离矢量,一种基于链路状态。在基于距离矢量的路由协议中,每个路由器都维护一个距离
2014-02-27 16:43:54
10276
原创 RPL和AODV的区别
RPL是属于IPv6的路由协议;AODV原本是RFC3561,属于IPv4的路由协议。在实际应用中,AODV应用最为广泛,而且实际中都有改动,不再是完整的IPv4。zigbee使用的是简化的AODV,由于AODV协议原是IPv4的,默认认为链路层可靠,而zigbee的 IEEE802.15.4 链路层并不太可靠,所以增加了链路质量、信号强度这些属性。
2014-02-26 17:31:07
1875
原创 怎么让Ubuntu中的代码里显示汉字?
1.添加中文字符编码: $sudo vim /var/lib/locales/supported.d/local #添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030 2.使其生效: $sudo dpkg-reconfigure locales
2014-02-26 17:12:27
1093
原创 本地变量与环境变量
本地变量即当前终端中的变量,本地变量包含环境变量,Linux的本地变量不具有继承性。 设置本地变量: # ariable-name = value 显示指定的本地变量值: #echo $variable-name value 显示所有本地变量:#set 清除指定本地变量:#unset ariable-name 环境变量即为全局变量,存在与所有s
2014-02-26 17:05:48
948
原创 ARM裸机开发环境总结
简单的嵌入式系统如单片机,不配置OS层,程序需要自己初始化硬件环境运行,称为裸机程序。逻辑程序需要直接操作硬件设备,所有一般采用少量汇编加C语言。 “编码-》编译-》调试-》下载” 编译器目前分为两大类:armcc(ARM标准编译器) arm-linux-gcc(GNU ARM-Linux).编译出ELF格式的文件需要转换成BIN格式以供裸机运行。可以用ADS自
2014-02-26 16:52:35
1225
1
原创 搭建Samba服务
samba服务用于任意一台机器上的window系统与另一台机器上的linux系统之间互传文件。 在vmware tools共享的文件夹中,软连接无效,所以不能在共享文件夹中编译源码。方法是将共享文件夹中源码先cp到ubuntu中其他目录中,再编译,编译后再cp到共享目录。以供windows中source insight 查看。 ubuntu中配置samba服务: (
2014-02-26 16:46:20
616
原创 搭建tftp服务
tftp服务用于任意两台机器上linux系统之间的上传与下载。比如你的笔记本中ubuntu系统和你同事台式机中的ubuntu系统,但你们的电脑必须已到联网。tftp服务较为麻烦,因为在上传文件时需要#touch 同名文件。 (1)#sudo apt-get install tftp tftpd openbsd-inetd (2)#vim /etc/inetd.conf
2014-02-26 16:44:12
671
原创 安装PL-2303出现“需要ser2pl.sys”的解决方法
安装usb转串口时出现“需要 ser2pl.sys”,直接点击浏览,选择C:\WINDOWS\Temp\PL-2303_loggedDrv文件夹,点击确定,就OK了。
2014-02-26 16:40:46
7089
原创 OK6410使用DNW下载.bin
当开发板已经烧好U-boot,使用DNW通过u-boot可以将.bin文件下载到SRAM中。 (1)串口线和USB device线分别连接电脑和开发板。 (2)设置开发板为nandflash启动。 (3)打开DNW Configuration->Options : Baud Rate=115200;COM Port=(查看端口号) ;Download Address=0
2014-02-26 16:38:53
1181
原创 安装arm-linux-gcc
1.将 arm-linux-gcc-4.3.2.tgz 文件拷贝到 Ubuntu 的/forlinx 目录下。在 Ubuntu 中新建一个终端,输入下面的命令安装交叉编译器: #cd /forlinx (进入/forlinx 目录) #mkdir /usr/local/arm (创建目录,若目录已存在会提示错误,跳
2014-02-26 16:37:31
571
原创 NFS服务搭建
NFS服务用于任意两台linux系统之间通信,但这两台机器得得用网线连接。********************安装本机的nfs服务******************** 以下操作在你的ubuntu中完成: (1)#sudo apt-get install nfs-kernel-server (2)#vim /etc/exports 添加
2014-02-26 16:33:06
523
原创 估计理论 是什么?
使用统计学方法,对接收到的有噪声的观测数据,估计出实际参量或随机变量、随机过程。 分为参量估计和状态估计两类。前者随着时间保持不变或只缓慢变化;后者则随着时间连续变化。例如,根据雷达回波来估计每一时刻在连续变化的卫星的三个空间位置矢量和三个速度矢量,这是状态估计。对卫星的质量和惯量等的估计则属于参量估计。 要估计的状态则又有离散时间和连续时间的区别。被估计的参量又可分为随机
2014-02-26 16:26:20
1235
原创 马尔可夫过程 是什么?
在实际中常遇到具有下述特性的随机过程:在已知它所处的状态的条件下,它未来的演变不依赖于它以往的演变。这种已知“现在”的条件下,“将来”与“过去”相互独立的特性称为马尔可夫性,具有这种性质的随机过程叫做马尔可夫过程。荷花池中一只青蛙的跳跃是马尔可夫过程的一个形象化的例子。青蛙依照它瞬间或起的念头从一片荷叶上跳到另一片荷叶上,因为青蛙是没有记忆的,当所处的位置已知时,它下一步跳往何处和它以往走过的
2014-02-26 16:13:48
1995
原创 Qt 入门笔记
Qt 属于嵌入式Linux GUI 的范畴,它能够提供给开发者建立图形界面所需的所用功能。Qt 的跨平台性非常好,支持几乎所有的平台,包括 Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等操作系统。Qt
2014-02-26 16:03:34
739
原创 解决ubuntu12.04中Qt中图标不能拖动的方法
由于GUI引起的。方法:1. sudo apt-get install gnome-shell2.点击注销登录,选择Gnome 登录界面,不再选择ubuntu界面。
2014-02-26 15:44:45
965
原创 组合导航最优综合与滤波方法 -- 《组合导航原理与应用(西北工业大学出版社)》读书笔记(3)
组合导航最优综合与滤波方法 惯性导航的主要缺点是定位误差随着时间积累,因而难以长时间的独立工作,解决这一问题的途径主要有两种:提高惯导系统的本身精度,另一种是采用组合导航技术。提高INS精度,依靠新材料、新工艺,提高惯性传感器的精度,这需要花费很大的人力和物力,且惯性传感器精度的提高是有限的。而组合导航利用两个或多个导航和测量系统的互补特性,在现有传感器的基础上,利用导
2014-02-26 15:38:08
4537
原创 Strapdown Inertial Navigation System --《惯性技术(国防工业大学出版社)》读书笔记(2)
Strapdown Inertial Navigation System 在捷联式惯性导航系统中,陀螺仪和加速度计直接“捆绑”在载体上,它没有电气机械平台,惯性仪表直接固联在载体上,用计算机建立一个数学平台来完成导航平台功能,因此也成为无平台惯导系统 。有无电气机械平台是平台惯导系统和捷联惯导系统的主要区别。同时,用计算机建立数学平台是捷联式惯导系统的核心。1 概述
2014-02-26 15:27:20
2167
原创 惯性技术基础知识 --《惯性技术(国防工业大学出版社)》读书笔记(1)
惯性技术基础知识 惯性技术分类:惯性敏感技术、惯性导航与制导技术、惯性仪表及装置技术。 惯性敏感技术是指 各种加速度计和陀螺仪技术的总称,也称惯性敏感传感器技术,惯性传感器是惯性导航和惯性仪表的核心元件。 惯性导航指 采用惯性传感器测量载体在惯性空间的加速度和角速度,大多数时还要用到罗盘测量航向,自动进行计算 ,获取载体瞬时速度、瞬时姿态和瞬时位
2014-02-26 15:20:18
2711
原创 atan2()
函数声明如下: 可以这样理解,对于atan2(y,x) ,返回点(x,y) 在xy坐标系中 与 x坐标轴的夹角(单位:弧度)。例如,下面的代码:
2014-02-19 17:16:36
908
原创 MATLAB中的特殊变量
以下变量名称,用户不能使用: ans : 如果未定义变量名,用于默认的计算结果存储; pi : 圆周率; inf / Inf : 无穷大 eps : 浮点运算的相对精度; realmax : 最大的正浮点数; realmin : 最小的正浮点数; NaN : 不定量; i / j : 虚数单位 na
2014-01-02 20:42:21
7233
翻译 \doc\pt-doc.txt
我翻译的不好,还是看英语原文吧。 Protothreads是为深度嵌入式系统或传感器网络节点这些内存受限系统设计的一种轻量级、非堆栈的线程模型。Protothreads使用C语言为事件驱动型系统提供线性代码执行(linear code execution)。Protothreads可以被应用在实时操作系统中,也能够单独使用。 Protothreads在事件驱动系统之上提供了没有
2013-12-11 21:42:35
683
原创 CSMA-CA 简介
载波侦听(Carrier Sense,CS):指任何连接到介质的设备在欲发送帧前,必须对介质进行侦听,当确认其空闲时,才可以发送。多路访问(Multiple Access,MA):指多个设备可以同时访问介质,一个设备发送的帧也可以被多个设备接收。所以,CSMA (Carrier Sense Multiple Access) 就是载波侦听多路访问。CSMA 工作在OSI参考模型的数据链路层的
2013-12-11 21:31:57
2953
原创 协议栈的初始化
由于协议栈跑在平台硬件上,所以,在协议栈初始化之前,一般先完成的是平台初始化,比如时钟、中断、定时器、串口设置,还有RF模块、led、按键什么。另外,几乎所有的Zigbee协议栈都需要使用操作系统,来支撑各个任务间的来回调用,Z-stack中OSAL机制,Freakz的Contiki,都是类似的思想。所以,在完成平台硬件初始化之后、协议栈初始化之前,还需要完成OS相关的初始化。应用于嵌入式系统的O
2013-12-10 22:11:22
1649
原创 协调器启动网络(一)
Zigbee标准中规定只有协调器在未加入其它网络时才能发起PAN网络,某个节点在要调用网络发起函数之前,要对这个节点是否已经加入网络和节点类型进行判断。 if( ! nib->joined) /* 先判断是否已经加入网络 */ { if (aib->desig_coord) /* 再判断节点类型 */ {
2013-12-10 22:05:19
1430
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人