MicroWrt开发环境搭建

最近有幸接触到了microduino及其生产的microwrt,貌似也叫wrtnode。一个比较吸引人的地方在于:这么一块小小的板子上可以跑小型版的linux系统——openwrt,它又属于业界最近比较火的智能硬件的一种,于是就开始接触一点,期待令人惊喜的应用。

由于我用的是台式机,所以至少要有两块硬件,一个是WRTnode核心板,另一个就是串口转USB板FT232R(windows需要安装它的驱动)。接线也简单,需要注意WRTnode上的TX,RX引脚要分别与FT232R上的TX,RX引脚要对应,用跳线连接即可。示意图如下:

串口工具有很多种,像putty,securecrt都行,我用的是xshell。设置好串口后,就开始连接。如果正常的话输入用户与密码就可进入了。

我的目录是希望WRTnode成为无线中继,即既是AP也是STA。那么就需要配置板子上的wifi模块,如果是笔记本,方便些,无线连接后用浏览器即可;台式机没办法配,所以我就用手机登陆了。详细过程可参考附录,目的很简单,就是让它再连接上一个已经接入公网的路由器。当我点击最终的"保存&应用"时,串口终端打印如下:

此时,再ping下百度就会发现可以连接公网了,这样,一块小板子就真正成了一个可以联网的linux主机了。此时再ifconfig:

apcli0    Link encap:Ethernet  HWaddr 02:0C:43:76:20:D0  (这是配好后新增的,显然连接上了192.168.13.1路由器)
          inet addr:192.168.13.101  Bcast:192.168.13.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:9 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

br-lan    Link encap:Ethernet  HWaddr 00:0C:43:76:20:77  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6945 errors:0 dropped:18 overruns:0 frame:0
          TX packets:4657 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:652041 (636.7 KiB)  TX bytes:1169944 (1.1 MiB)

eth2      Link encap:Ethernet  HWaddr 00:0C:43:76:20:77  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1004 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:316458 (309.0 KiB)
          Interrupt:3 

eth2.1    Link encap:Ethernet  HWaddr 00:0C:43:76:20:77  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:440 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:94806 (92.5 KiB)

eth2.2    Link encap:Ethernet  HWaddr 00:0C:43:76:20:78  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:564 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:221652 (216.4 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12408 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12408 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:847659 (827.7 KiB)  TX bytes:847659 (827.7 KiB)

ra0       Link encap:Ethernet  HWaddr 00:0C:43:76:20:D0  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:992 errors:0 dropped:0 overruns:0 frame:0
          TX packets:654 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:173964 (169.8 KiB)  TX bytes:359565 (351.1 KiB)
          Interrupt:4

不过暂不太清楚为啥会有这么多接口,也许需要补充下openwrt的知识了。接下来,能有什么样的应用就看我们个人的发挥了。

【11.4补充】

找了个无线上网卡,插在台式机上,恰好可以以telnet方式连入开发板,就不在用串口方式了

按照附录教程,我创建了一个helloworld程序,目录结构如下:

在SDK顶层目录上make,即在build_dir\target-mipsel_24kec+dsp_uClibc-0.9.33.2\helloworld下生成了可执行文件,用file命令检测时不能够执行,因为是交叉编译:

当然在bin\ramips\packages\base也有一个关于helloworld的ipk文件,但是安装时出现以下问题:

但是当用winscp把helloworld执行文件放上去时,它是可以执行的:

【11-17更新】

依照helloworld例子,我实现了自己的业务逻辑:即在openwrt系统上将模拟的传感器数据传至yeelink云平台,核心代码如下:

编译之后即可生成二进制文件,但似乎发生点错误,未能生成ipk文件。将执行文件放到板中,运行结果如下图,同时刷新yeelink页面即可发现曲线发生了变化。

不过还是有点问题,接口apcli0貌似时通时断,也会影响程序的执行,大致功能确是实现了。

附录

wifi配置:

https://www.microduino.cc/wiki/index.php?title=%E7%AC%AC%E5%85%AD%E8%AF%BE--OpenWRT_%E5%BC%80%E6%9C%BA%E6%95%99%E7%A8%8B

helloworld教程:

http://blog.chinaunix.net/uid-29418452-id-4071751.html

http://blog.csdn.net/hui523hui523hui523/article/details/38366427

时间: 2024-11-05 16:34:15

MicroWrt开发环境搭建的相关文章

PHP开发环境搭建详细教程

     首先你需要安装Apache Server,这里以当前最新版Apache Server2.4为例进行说明,可惜官网并没有提供最新版的msi安装包,连编译后的binary二进制压缩包都没提供,不过我已经编译并上传到我的百度网盘,下载地址如下:       Apache Server2.4最新版安装包   下载下来后直接解压到任意目录,如图:  然后你需要安装Apache Server系统服务,先cd 到apacher server2.4/bin下,然后执行如下命令: Java代码   ht

【物联网】QCA4010开发环境搭建(二)(解决WIN10下不能驱动问题)

更多资料,请参考:中电港论坛 http://bbs.cecport.com/forum.php?mod=forumdisplay&fid=64&page=1 感谢中电港,低价QCA4010开发板入手,终于腾出时间来研究一下这个高大上的开发板 4010与4004一样,内部集成了Tensilica Xtensa处理器,主频可达130MHz.Xtensa处理器是Tensilica公司推出的一个可自由装组.可弹性扩张,并可以自动合成的处理器核心,它的指令集构架 (ISA) 拥有专利权,32位处理器

J2ME开发环境搭建 之 EclipseMe

J2ME开发环境搭建 之 EclipseMe   第一节    初识Eclipse Eclipse是一个开发源代码,基于java的可扩展开发平台,它是在OSI(Open Software Initiative 开发源代码计划)认可的通用公共许可证(CPL)版下被授予许可证的集成开发平台(IDE).作为当今最流行的java开发IDE之一,java社群使用Eclipse以及基于Eclipse技术而来的IBM Websphere的开发者已经超过了半数. Eclipse本身只是一个框架和一组响应的服务,

基于Windows环境下的PHP开发环境搭建

相信许多和人和我一样,都非常的喜欢学习PHP编程,同样有很多人因为无法搭建一个基于Windows环境下的PHP开发环境搭建而不得不放弃自己学习PHP的愿望.所以我想就这个问题将自己的心得体会写出来,一是可以帮助那些苦于无法搭建开发环境的人,二是可以让自己也有个总结的机会. 我写这篇文章的目的很简单,就是帮助那些刚刚开始学习PHP的朋友,所以我将尽量以最简单.明确的语言来进行描述,如果您已经就此问题非常熟练,大可以不看本文而去做更有意义的事情. 限于我本人的水平有限,本文难免有错误和不足之处,恳请

jdk+eclip+android sdk实现Android开发环境搭建

一 相关下载 (1) java JDK下载: 进入该网页: http://java.sun.com/javase/downloads/index.jsp (或者直接点击下载)如下图: 开发环境搭建-jdk环境搭建"> 选择 Download JDK 只下载JDK,无需下载jre. (2)eclipse下载 进入该网页: http://www.eclipse.org/downloads/ (或者直接点击下载:BT下载    HTTP下载) 如下图: 我们选择第一个(即eclipse IDE

J2ee Servlet开发环境搭建全过程

环境:Windows sp3.Myeclipse 6.5 1.新建一个Web项目(New Web Porject),然后点"完成". 开发环境搭建全过程-j2ee开发环境搭建"> 2.在Cuzz项目下右击src>>new>>Servlet,创建一个Servlet,包名一定要写上."Name:"值以"Servlet"结尾,因为我们写一个登陆页面,为了更加安全选择doPost方法就行了,然后下一步. 3.下一步

windows下JAVA敏捷开发环境搭建步骤教程

  编程开发环境搭建还是挺重要的,第一步是先要搭建环境,有了环境才能开展工作.本文我们来看看windows下JAVA敏捷开发环境搭建步骤. 整个软件项目分为四个环境 开发本地环境.开发环境.测试环境.IDC环境.和传统C++开发不一样的模式是多了第一个开发本地环境.这是为什么呢,因为目前大部分开发人员还是比较熟悉windows下开发.对于mac和linux下直接使用软件并且开发的中国开发者还是少之又少,这套架构就这个现状做出来的.如下是环境搭建架构图: 从环境来说: 一.开发本地环境.开发集成服

Linux下Android开发环境搭建详细步骤

  1.系统环境 [android@localhost ~]$ uname -a Linux localhost.localdomain 2.6.32-71.el6.i686 #1SMP Wed Sep 1 01:26:34 EDT 2010 i686 i686 i386 GNU/Linux [android@localhost ~]$ lsb_release -a LSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:gra

TI Davinci DM6446开发攻略——开发环境搭建

TI DAVINCI DM6446的开发环境搭建不像三星S3C2410,S3C2440,ATMEL的AT91SAM9260之类的单核ARM那么简单,因为DM6446还有DSP端的开发环境,以及双核之间的通信和程序编译等问题,所以开发攻略第一步就是要搭好开发环境.其实TI的EVM(TI 的开发板)也提供相关的EVM start guide(sprue66f.pdf),适合参考.         DAVINCI开发环境搭建基本上可分以下几步:         1) 准备好各种相关的windows,l