Linux-ZigBee项目:在Linux上运行6lowpan(一)

前段时间在看ZigBee的物理层和MAC层协议栈,也就是IEEE802.15.4协议。之后,发现sourceforge上有一个linux-zigbee的项目,中文翻译介绍。虽然这个项目叫Linux-ZigBee,但是因为许可问题除了IEEE802.15.4协议,其它的都没有实现,转而转向6lowpan,所以本文介绍一下用Ubuntu串口连接CC2530运行6lowpan。

#交叉编译内核#

由于主线内核只包含了ieee802154fakehard6lowpan,所以没办法使用ZigBee串口设备。所以要下载linux-zigbee内核:

1
git clone git://git.code.sf.net/p/linux-zigbee/kernel -b 6lowpan linux-zigbee-kernel

当然也可以去项目主页下载。下载完成之后,进行源码目录,然后:

1
make menuconfig

选择mac802154ieee802154serial等模块。然后保存退出,进行编译:

1
make -j 2

如果出现错误可以网上搜解决方法,编译完成之后,编译模块:

1
make modules

接着安装模块:

1
make modules_install

安装内核:

1
make install

至此,内核已经编译并且安装成功了。重启PC之后,加载相关模块:

1
2
3
4
sudo modprobe ieee802154
sudo modprobe mac802154
sudo modprobe af_802154
sudo modprobe serial

每当需使用时,都必须加载上述模块。

#安装lowpan-tools#

lowpan-tools是管理Linux LowPAN协议栈的工具,由于Ubuntu的lowpan-tools版本太老了,所以需要从项目主页下载安装:

1
git clone git://git.code.sf.net/p/linux-zigbee/linux-zigbee linux-zigbee-linux-zigbee

下载完成之后,进入源码目录安装:

1
2
./autogen.sh
sudo make install

安装完成之后,便可以使用izattach工具添加ZigBee串口设备。