Microduino-Module Zigbee/zh
Language | English |
---|
Microduino采用CC2530芯片,是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术。主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。
目录特色
规格电器规格
文档开发固件刷写目的
设备 Microduino-Zigbee 是以TI的CC2530芯片为核心的低功耗无线模块,采用Zigbee的通讯方式。该模块采用UPin-27接口,方便与其它Microduino模块叠加使用。
SmartRF04EB是TI发布的CC开发工具,可支持CC2430,CC2530等。支持常用多种调试手段如下载、仿真、断点、单步、全速、擦除、读取等。可以与IAR7.51、IAR8.10版本很好的衔接。 通过TI提供的SmartRF Flash Programmer软件,可方便的实现flash的擦除与烧写。SmartRF04EB驱动下面提供了下载链接。如果安装了IAR软件,那么驱动的位置在D:\Program Files\IAR Systems\Embedded Workbench 6.0 Evaluation\8051\drivers\Texas Instruments\win_32bit_x86,系统发现新硬件后可选择路径安装或是在设备管理器下面选择更新驱动程序。(备注:笔者安装IAR时路径选择在D:\Program Files\下面,系统为WIN7 32位。) SmartRF04EB仿真器实物见下图。 SmartRF04EB仿真器引脚定义见下图。(备注:不同厂家的SmartRF04EB的9脚与10脚定义可能会有些不同) SmartRF04EB驱动:文件:SmartRF04EB drive.rar 一篇不错的文档链接,供参考:http://www.docin.com/p-655448516.html
SmartRF Flash programmer是TI公司的工具软件,使用它可以将.hex目标文件烧写进CC2530中。 界面见下图: 下载地址链接:http://www.ti.com/tool/flash-programmer 实验原理图
实物连接见下图: 调试
在Flash image一栏选择要打开的.hex目标文件 文件:Microduino-Zigbee V0.1.rar;在Actions单选框选中Erase program and verify;见下图
点击Perform action开始烧录,静等一会吧。待界面最下方的进度条走完,恭喜,烧录固件完成了。烧录进行中界面见下图。
与其它Microduino模块的连接目的
设备 Microduino-Zigbee 是以TI的CC2530芯片为核心的低功耗无线模块,采用Zigbee的通讯方式。该模块采用UPin-27接口,方便与其它Microduino模块叠加使用。 Microduino-Core 是以 Atmel ATmega328P为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块 Microduino-Core 是以 Atmel ATmega644PA 为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块 下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。
实验方式
Microduino-USBTTL与Microduino-Zigbee不能直接叠加。 连接方式应为
实物连接见下图 确认导线连接无误后插入USB数据线,然后打开串口调试助手。串口调试助手下载:文件:Com assist.rar 串口调试助手软件界面见下图: 串口如果没有打开,可以点击串口号的列表框按钮查询。发送新行的复选框应该选上对勾。在字符串输入框输入“+++”,点击发送,可以看到Zigbee模块回馈的信息了。 笔者用的波特率是9600。可以输入AT+BAUD=0X设定Zigbee模块的波特率,输入AT+SRST点击发送后重启Zigbee模块可以保存设置值,下次上电无需再设置了。 更多输入指令(AT指令)的含义会在后续文档中介绍。
Microduino-USBTTL与Microduino-Core与Microduino-Zigbee三个模块可以直接叠加。叠加后需要在Microduino-Core的程序中写入程序,用到SoftwareSerial库。 程序如下: /*
core hardware(RX0,TX1) ==9600
core software(D2,D3)=9600 must match with cc2530 setup.when change cc2530 baud rate
*/
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
String myStringSoftCom="";
String myStringHardCom="";
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
}
void loop() // run over and over
{
while (Serial.available() > 0)
{
myStringHardCom += char(Serial.read());
delay(2);
}
mySerial.println(myStringHardCom);
myStringHardCom="";
while (mySerial.available() > 0)
{
myStringSoftCom += char(mySerial.read());
delay (2);
}
if (myStringSoftCom.length() > 0)
{
Serial.println(myStringSoftCom);
myStringSoftCom="";
}
delay(100);
}
因为Microduino-core自带重启按钮,通过AT指令设定完参数后,可以点击重启按钮,设置好的参数会自动保存。
三个模块可以直接叠加。程序如下 String myStringSerial1="";
String myStringSerial="";
void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
}
void loop() // run over and over
{
while (Serial.available() > 0)
{
myStringSerial += char(Serial.read());
delay(2);
}
Serial1.println(myStringSerial);
myStringSerial="";
while (Serial1.available() > 0)
{
myStringSerial1 += char(Serial1.read());
delay(2);
}
if (myStringSerial1.length() > 0)
{
Serial.println(myStringSerial1);
myStringSerial1="";
}
delay(100);
}
结果
透传点灯实验应用购买历史图库正面背面视频 |