上次我们通过pcDuino的usb口实现了pcduino和spyder的AT指令交互。今天我们将通过pcDuino的串口(GPIO 0 ,GPIO 1)来完成基于pcDuino的电力载波通讯。
需要用到的硬件
(1)pcDuino V2 *1 pcDuino lite wifi *1 www.pcduino.com
(2)Spyder *2 http://linksprite.com/wiki/index.php5?title=Spyder
(3)5-12V 电源 *2
(4)5V2A 电源 *2
(5)杜邦线诺干
一. 连线配置
1.spyder的2号脚连接pcduino的GPIO 1,3号脚连接pcduino的GPIO 0,10号脚连接pcduino的GND。 2.连接2个spyder的电力线接口。并给spyder上电(5~12v皆可)。 3.给pcduino上电。
二.测试代码
/************* …. **************/中的代码可以完成pcduino和spyder的AT指令交互,当然这次我们是通过pcduino的串口实现的,而不是pcduino的usb口。有兴趣的话可以取消注释看看效果。当然别忘了把原本注释外的代码给加上注释哦。 Pcduino Lite Wifi代码: #include <core.h> /********************* static unsigned char i = 0;
void setup(){
Serial.begin(9600);
} void loop(){
if(i == 0){
Serial.print(“+++”);
printf(“+++ have send!\n”);
}
else if (i == 1){
Serial.print(“ATSN”);
Serial.print(‘\n’);
printf(“ATSN have send!\n”);
}
else if (i == 2){
Serial.println(“ATEX”);
printf(“ATEX have send!\n”);
}
while(Serial.available() > 0){
printf(“%c”,Serial.read());
}
i++;
delay(3000);
}
************************/
void setup(){
Serial.begin(9600);
} void loop(){
Serial.println(“Lite Wifi:520linksprite!”);
delay(1000);
while(Serial.available() > 0){
char c = Serial.read();
printf(“%c”,c);
}
} Pcduino V2代码: #include <core.h> /********************* static unsigned char i = 0;
void setup(){
Serial.begin(9600);
} void loop(){
if(i == 0){
Serial.print(“+++”);
printf(“+++ have send!\n”);
}
else if (i == 1){
Serial.print(“ATSN”);
Serial.print(‘\n’);
printf(“ATSN have send!\n”);
}
else if (i == 2){
Serial.println(“ATEX”);
printf(“ATEX have send!\n”);
}
while(Serial.available() > 0){
printf(“%c”,Serial.read());
}
i++;
delay(3000);
}
************************/
void setup(){
Serial.begin(9600);
} void loop(){
Serial.println(“Pcduino V2:520linksprite!”);
delay(1000);
while(Serial.available() > 0){
char c = Serial.read();
printf(“%c”,c);
}
}
三. 编译程序
如何在pcduino上获取arduino风格的API并且编译代码,网上很多帖子有讲比如:http://www.geek-workshop.com/thread-8191-1-1.html。这里就不多讲了。
四. 结果显示
Pcduino Lite Wifi 上显示:
pcduinoV2上显示:
代码中Pcduino Lite Wifi通过串口给spyder发送了“Lite Wifi:520linksprite”,结果显示在了pcduino V2上。 相同的pcduinoV2通过串口给其连接的spyder发送了“PcduinoV2:520linksprite”,结果显示在了Lite Wifi上。 这说明数据确实通过了spyder的电力线接口进行了传输。
|