swim 发表于 2012-11-3 20:03:23

Zigduino学习笔记1

本帖最后由 迷你强 于 2015-4-13 18:45 编辑

1.认识Zigduino
1.1 Zigduino简介
Zigduino是什么,我学习它有用吗,学习起来简单吗?这也许是搞技术的人在面对新技术时最喜欢问的问题,那么我以自己的理解来告诉你答案.

Zigduino就是ZigBee+Arduino.

我相信,ZigBee和Arduino这两个关键词大家都听过,ZigBee是一种便宜的,低功耗的近距离无线组网通讯技术,它具有低功耗、自组织、低成本等特点,可以通过自动形成的一个多跳无线网络来实现大范围的信息获取和控制; Arduino世界上最著名的开源软硬件平台,它基于AVR架构,并按照积木形式构建,非常适合各类学习者和研究者使用。而Zigduino就是采用ATMEL公司最新的ZigBee SOC处理器即Atmega128RFA1构建的Arduino平台,它具备了Arduino所有的特点,并无需外部组件直接具备ZigBee组网能力,非常适合做各种和无线通讯相关的应用。

OCROBOT Zigduino工程样板

采用ATMEL公司的ATmega128RFA1单片机

1.2 Zigduino硬件解读

MCU 核心
Zigduino 的MCU 是Atmega128RFA1,它是一个具备2.4G 短距离无线通讯即802.15.4 通
讯的能力的微处理器芯片,在Zigduino 中只使用了1 个16M 的晶振用于2.4G 无线收发和驱
动MCU 正常工作。对于射频部分,MCU 的输出通过一个100 欧姆转50 欧姆的Balun 后直
接和天线相连。

1.3 Zigduino软件平台准备
1.3.1 下载ZigDuino核心库
Zigduino-1.0 core, Windows (github)
https://github.com/logos-electro ... igduino-1_0-win.zip
Zigduino-1.0 core, generic (github)
https://github.com/logos-electro ... on/zigduino-1_0.zip
1.3.2 设置熔丝位,上载BootLoader

使用ATMEL STUDIO软件,通过AVR Dragon设置熔丝位和上载BootLoad
这样,你就可以开始使用你的Zigduino
这里是Zigduino的库文件

1.4 开始使用Zigduino
测试程序
/*

Run this sketch on two Zigduinos, open the serial monitor at 9600 baud, and type in stuff
Watch the Rx Zigduino output what you've input into the serial port of the Tx Zigduino

*/

#include <ZigduinoRadio.h>

void setup()
{
ZigduinoRadio.begin(11);
Serial.begin(38400);

ZigduinoRadio.attachError(errHandle);
ZigduinoRadio.attachTxDone(onXmitDone);
}

void loop()
{
if (Serial.available())
{
    ZigduinoRadio.beginTransmission();
   
    Serial.println();
    Serial.print("Tx: ");
   
    while(Serial.available())
    {
      char c = Serial.read();
      Serial.write(c);
      ZigduinoRadio.write(c);
    }
   
    Serial.println();
   
    ZigduinoRadio.endTransmission();
}

if (ZigduinoRadio.available())
{
    Serial.println();
    Serial.print("Rx: ");
   
    while(ZigduinoRadio.available())
      Serial.write(ZigduinoRadio.read());
      
    Serial.println();
    Serial.print("LQI: ");
    Serial.print(ZigduinoRadio.getLqi(), 10);
    Serial.print(", RSSI: ");
    Serial.print(ZigduinoRadio.getLastRssi(), 10);
    Serial.print(" dBm, ED: ");
    Serial.print(ZigduinoRadio.getLastEd(), 10);
    Serial.println("dBm");
}

delay(100);
}

void errHandle(radio_error_t err)
{
Serial.println();
Serial.print("Error: ");
Serial.print((uint8_t)err, 10);
Serial.println();
}

void onXmitDone(radio_tx_done_t x)
{
Serial.println();
Serial.print("TxDone: ");
Serial.print((uint8_t)x, 10);
Serial.println();
}
效果



收发一体,使用超级方便,SMA天线接口,方便更换各种天线

未完待续。。。。。。


相关产品选购

lllangxx 发表于 2012-11-3 20:38:38

帅 有空也玩下

小猪会轮滑 发表于 2012-11-3 20:54:56

:funk::funk::funk::funk::funk::funk::funk::funk:

benzking 发表于 2012-11-3 21:28:00

还可以用Arduino IDE 开发程序吗?

swim 发表于 2012-11-3 21:29:26

benzking 发表于 2012-11-3 21:28 static/image/common/back.gif
还可以用Arduino IDE 开发程序吗?

可以的,就是因为是用IDE开发,所以比现在的那种zigbee模块方便多了

MicroCao 发表于 2012-11-3 22:37:14

与分体式的zigbee(CC2530)+arduino有什么区别

Randy 发表于 2012-11-3 22:56:25

不错!弘毅说的这个东西终于出现了,顶啊!

ttyp 发表于 2012-11-3 23:02:14

价格呢?~~~

swim 发表于 2012-11-3 23:35:22

MicroCao 发表于 2012-11-3 22:37 static/image/common/back.gif
与分体式的zigbee(CC2530)+arduino有什么区别

无需配置寄存器啥的,使用超级方便,就和用串口一样

迷你强 发表于 2012-11-4 10:14:32

基于ipv6的通讯协议

┏ωǒ┛菰独 发表于 2012-11-4 12:16:56

其实市场上大部分zigbee模块都可以直接当无线串口用.

dbo 发表于 2012-11-4 15:10:29

这东西 TB上很贵

erjiang 发表于 2012-11-4 15:33:17

希望早点看到组网的组网成功案例,如果不能组网,跟RF24L01相比没竞争力了,价格是个硬伤,Ti的片子相对起来便宜些

MicroCao 发表于 2012-11-4 18:40:52

上淘宝看了下Zigduino要480一个,忒贵了

swim 发表于 2012-11-4 19:33:55

erjiang 发表于 2012-11-4 15:33 static/image/common/back.gif
希望早点看到组网的组网成功案例,如果不能组网,跟RF24L01相比没竞争力了,价格是个硬伤,Ti的片子相对起来 ...

组网没问题很简单比24l01简单好用多了
页: [1] 2
查看完整版本: Zigduino学习笔记1