本帖最后由 迷你强 于 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天线接口,方便更换各种天线
未完待续。。。。。。
相关产品选购 |