“第十课--MicroWRT 扩展板串口使用”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{| style="width: 800px;" |- | 本节主要介绍如何在openwrt下进行开发,并将程序在microWRT上运行。 ==编译SDK== 搭建编译环境在openwrt固件编译...")
 
软件连接
 
(未显示2个用户的5个中间版本)
第2行: 第2行:
 
|-
 
|-
 
|
 
|
本节主要介绍如何在openwrt下进行开发,并将程序在microWRT上运行。
+
为了充分发挥MicroWRT的功能,我们设计了Microduino扩展板,将MicroWRT和Microduino完美的结合在了一起。两者之间的通信是通过板载串口完成的,本教程就是介绍如何使用扩展板上的串口。
  
==编译SDK==
+
扩展板串口的硬件,请参考下面的连接:[[MicroWRT_UPIN/zh]]
搭建编译环境在openwrt固件编译的文档里有详解,我们要做的就是在它基础上编译出一个自己的OpenWrt开发环境。
 
  
1. 在源码的openwrt目录下,执行
+
==硬件连接==
$make menuconfig
+
将Microduino 扩展板和MicorWRT底板堆叠在一起,至于方向,在两块板子上的排针孔顶部,印有“5V” 和“GND”的标示,所以只要按照标示,把板子堆叠在一起就可以了。Microduino扩展板的5V 引脚对应接在MicroWRT底板 5V的排针孔上。在Microduino 扩展板上堆叠好[[Microduino-USBTTL/zh]]模块。然后通过两根usb线分别将[[Microduino-USBTTL/zh]]的microUSB 连接PC, MicroWRT的microUSB 连接PC。
 +
硬件连接图如下:
 +
[[File:serial.jpg|600px|thumb|center|Hardware connection]]
  
会看到如下图形界面
+
按照上面的连接,将扩张板上的拨码开关设置为如下值:
[[File:backup.jpg|800px|thumb|center|Upgrade Window]]
+
MODE: 1010,UART:1010
  
选中 [*]Build the OpenWrt SDK,保存退出, 然后用下面程序进行编译。
+
==软件连接==
$make V=s
+
(1) [[Microduino-USBTTL/zh]]连接到设备上后,在电脑的设备管理里,会多出一个端口(在测试电脑上是com15),如下图所示:
 +
[[File:seria2.jpg|600px|thumb|center|Port connection]]
  
2. 编译完成以后,在openwrt/bin/ramips我们会看到
+
(2) 你可以用SecureCRT(或者Putty)来打开一个串口,串口的参数配置如下:
OpenWrt-SDK-ramips-for-linux-i686-gcc-4.8-linaro_uClibc-0.9.33.2.tgz.bz2压缩包
+
[[File:seria3.jpg|600px|thumb|center|Serial Parameter]]
(依照你的虚拟机不同而不同)。这个就是我们编译好的OpenWRT SDK环境。
 
我们将在它下面来做OpenWrt软件包的开发。 下面来解析一下我们的SDK环境的含义,
 
可以从名称上看出,target system是ramips,host system是Linux-i686,
 
使用的编译工具以及库是 gcc-4.8-linaro_uClibc-0.9.33.2
 
  
==开发程序==
+
(3) 将MicroWRT的USB接到PC上后,就给它通电了。这是打开上面设置的串口,你应该就可以看到有启动信息输入。
1. 解压,并进入SDK
+
等上一段时间后(十几秒)会提示你输入用户名和密码,分别是root和admin,然后你就从串口登陆到了MicroWRT上。
$tar -jxvf OpenWrt-SDK-ramips-for-linux-i686-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2
 
$cd OpenWrt-SDK-ramips-for-linux-i686-gcc-4.8-linaro_uClibc-0.9.33.2
 
$ls
 
 
看到如下界面,我们接下来就要在package这个目录下做操作了。
 
[[File:backup.jpg|800px|thumb|center|Upgrade Window]]
 
  
2. 开发hello wrold的软件包
+
(4) 在等十几秒,你就可以在你PC的无线连接处发现MicroWRT的无线连接标示(PandoraBox_XXX),
(1)进入package目录:
+
因为我们刷了PandoraBox的固件。它的默认地址是192.168.1.1
$cd package
 
(2)在package目录下创建helloworld目录,并进入helloworld目录:
 
$mkdir helloworld
 
$cd helloworld
 
如下图所示:
 
[[File:backup.jpg|800px|thumb|center|Upgrade Window]]
 
  
(3)在helloworld目录下,创建新目录 src,并进入到src目录,
+
(5) 这时你可以通过putty软件,设置192.168.1.1地址,然后就可以通过无线登陆上MircroWRT,用户名和密码仍旧是root和admin。
我们要在src目录下来写我们的hellowrold.c以及编译helloworld.c所需要的Makefile文件。
 
$mkdir src
 
$cd src
 
$touch helloworld.c
 
$touch Makefile
 
  
[[File:backup.jpg|800px|thumb|center|Upgrade Window]]
+
==测试串口==
  
$vim helloworld.c
+
(1) 通过软件WinSCP 将编译好的串口测试程序的可执行上传到MicroWRT的/usr/bin 目录下,当然你也可以放到其他目录下,但有可能重启后,就丢失了。我们的串口测试程序命名为helloword,你可以直接下载可执行文件和源码。
#include <stdio.h>
 
#include <unistd.h>
 
int main(void)
 
{
 
    printf("Welcome to microWRT, have a fun !!! \n");
 
    return 0;
 
}
 
$vim Makefile
 
#build a Makefile for hellowrold.c
 
helloworld: helloworld.o
 
    $(CC) $(LDFLAGS) helloworld.o -o helloworld
 
helloworld.o: helloworld.c
 
    $(CC) $(CFLAGS) -c helloworld.c
 
clean:
 
    rm *.o helloworld
 
  
(4)编写Makefile,这个Makefile文件是给OpenWRT读的。是用来生成软件包的,
+
可执行文件 '''[[File:Binary.zip]]'''
在上一步中我们写的Makefile是为了编译helloworld.c的,两个Makefile不同,
+
源文件 '''[[File:Source.zip]]'''
也不在同一层目录下。在上一步中我们是在src目录下,现在我们要编写的Makefile要在上层目录,
 
既是helloworld目录下
 
$cd ../
 
$touch Makefile
 
如下图所示:
 
[[File:backup.jpg|800px|thumb|center|Upgrade Window]]
 
  
makefile 文档
+
(2) 在无线连接的Putty 界面中,启动测试程序。
 
+
  ./helloword
(5)下面就是编译了,回到SDK的顶层,也就是下面这个目录:
 
[[File:backup.jpg|800px|thumb|center|Upgrade Window]]
 
 
 
$make V=s
 
 
 
编译过程会在build_dir目录下完成,生成的ipk包,在当前目录下的 bin/ramips/packages下的helloworld_1_ramips_24kec.ipk
 
 
 
(6)pandorabox固件和 microWRT系统结构不一致,会导致此ipk包无法安装,为了解决这个问题,
 
我们可以将对应的二进制文件直接传到microWRT上运行,二进制文件在下面目录下:
 
 
 
[[File:backup.jpg|800px|thumb|center|Upgrade Window]]
 
 
 
将helloworld上传到WRTnode上
 
[[File:backup.jpg|800px|thumb|center|Upgrade Window]]
 
 
 
(7)在WRTnode开发板上执行
 
执行 helloworld 查看程序的效果。
 
$./helloworld
 
 
 
出现打印信息:
 
[[File:backup.jpg|800px|thumb|center|Upgrade Window]]
 
  
 +
(3) 然后在串口连接界面中,输入字符,然后你就可以再putty界面中看到输入的内容。结果如下:
 +
[[File:seria4.jpg|600px|thumb|center|Serial Parameter]]
  
 
|}
 
|}

2014年12月26日 (五) 15:38的最新版本

为了充分发挥MicroWRT的功能,我们设计了Microduino扩展板,将MicroWRT和Microduino完美的结合在了一起。两者之间的通信是通过板载串口完成的,本教程就是介绍如何使用扩展板上的串口。

扩展板串口的硬件,请参考下面的连接:MicroWRT_UPIN/zh

硬件连接

将Microduino 扩展板和MicorWRT底板堆叠在一起,至于方向,在两块板子上的排针孔顶部,印有“5V” 和“GND”的标示,所以只要按照标示,把板子堆叠在一起就可以了。Microduino扩展板的5V 引脚对应接在MicroWRT底板 5V的排针孔上。在Microduino 扩展板上堆叠好Microduino-USBTTL/zh模块。然后通过两根usb线分别将Microduino-USBTTL/zh的microUSB 连接PC, MicroWRT的microUSB 连接PC。 硬件连接图如下:

文件:Serial.jpg
Hardware connection

按照上面的连接,将扩张板上的拨码开关设置为如下值: MODE: 1010,UART:1010

软件连接

(1) Microduino-USBTTL/zh连接到设备上后,在电脑的设备管理里,会多出一个端口(在测试电脑上是com15),如下图所示:

文件:Seria2.jpg
Port connection

(2) 你可以用SecureCRT(或者Putty)来打开一个串口,串口的参数配置如下:

文件:Seria3.jpg
Serial Parameter

(3) 将MicroWRT的USB接到PC上后,就给它通电了。这是打开上面设置的串口,你应该就可以看到有启动信息输入。 等上一段时间后(十几秒)会提示你输入用户名和密码,分别是root和admin,然后你就从串口登陆到了MicroWRT上。

(4) 在等十几秒,你就可以在你PC的无线连接处发现MicroWRT的无线连接标示(PandoraBox_XXX), 因为我们刷了PandoraBox的固件。它的默认地址是192.168.1.1

(5) 这时你可以通过putty软件,设置192.168.1.1地址,然后就可以通过无线登陆上MircroWRT,用户名和密码仍旧是root和admin。

测试串口

(1) 通过软件WinSCP 将编译好的串口测试程序的可执行上传到MicroWRT的/usr/bin 目录下,当然你也可以放到其他目录下,但有可能重启后,就丢失了。我们的串口测试程序命名为helloword,你可以直接下载可执行文件和源码。

可执行文件 文件:Binary.zip 源文件 文件:Source.zip

(2) 在无线连接的Putty 界面中,启动测试程序。

 ./helloword

(3) 然后在串口连接界面中,输入字符,然后你就可以再putty界面中看到输入的内容。结果如下:

文件:Seria4.jpg
Serial Parameter