第八课--MicroWRT SD卡/U盘使用

来自Microduino Wikipedia
跳转至: 导航搜索

MicroWRT上没有提供SD卡的插槽接口,不过我们可以USB接口连连接外部的SD卡,当然玩家也可以使用USB存储设备。 本文主要通过一个例子来介绍如何使用SD卡,并在上面安装pyhon和mysql。由于出厂固件的原因, 在microWRT上安装需要较大空间的程序时,总是提示/overlay空间不足的错误,比如安装python时会有如下错误,如下图所示:

文件:Sd-1.jpg
SD Configuration

用命令查看时,其空间确实挺小的:

文件:Sd-2.jpg
SD Configuration

下面就来介绍如何用闪存卡来扩容。由于出厂固件已经有了usb驱动模块,所以一插上闪存卡就能识别了。

文件:Sd-3.jpg
SD Configuration

对SD卡的操作步骤想很简单,先格式化,再挂载,再配置opkg.conf使软件安装到其上。

1.格式化,操作步骤看下图所示。

文件:Sd-4.jpg
SD Configuration

2.挂载到/mnt/usb目录

文件:Sd-5.jpg
SD Configuration

3.修改/etc/profile及/etc/opkg.conf文件

文件:Sd-6.jpg
SD Configuration
文件:Sd-7.jpg
SD Configuration

4. 软件安装

4.1使用如下命令安装python。

opkg update
opkg -d usb install python

即把python安装到了卡中,/etc/profile修改环境变量保证能找到库和程序。

4.2 安装mysql

安装mysql的具体步骤,请参考如下连接:

http://www.right.com.cn/forum/thread-89216-1-1.html

由于我将mysql安装在了外挂SD卡上(U盘),还要修改它本身的配置文件。在/mnt/usb/目录下,打开etc/my.cnf, 修改数据目录和临时目录和基础目录,如图所示:

文件:Sd-8.jpg
SD Configuration

在创建默认的数据库时,即命令:mysql_install_db --force --basedir=/mnt/usb/usr,有一大堆的输出,可以参考。 注意貌似像my.cnf和mysqld都得在相应的/etc/和/etc/init.d目录下创建软链接;启动服务后,修改root密码,登陆后,如图所示:

文件:Sd-9.jpg
SD Configuration


下面用一个测试例子来验证安装的程序是否正确。 功能:POST随机数据到web平台(已提供POST接口)

1. import httplib 2. import urllib 3. import time 4. import random 5. 6. url_platform = '11.4.31.195:9071' 7. 8. path = '/WIFPa/ResourceData.xml/000100003f0cfd4a?ResourceID=1' 9. path_uploadservicedata = '/WIFPd/UploadServiceData/000100003f0cfd4a' 10. 11. FORMAT = '%Y-%m-%dT%X' 12. params_xml1 = '<ServiceData><mwid>000100003f0cfd4a</mwid><datatime>' +time.strftime(FORMAT,time.localtime()) + '</datatime><Datapoints><value>' 13. params_xml2 = '</value><num>1</num></Datapoints></ServiceData>' 14. 15. header = {'Content-type':'text/xml'} 16. 17. 18. # conn.request(method='GET',url=path) 19. # while True: 20. conn = httplib.HTTPConnection(url_platform) 21. val = str(random.randint(1,100)) 22. print 'value',val 23. params_xml = params_xml1 + val + params_xml2 24. 25. conn.request('POST',path_uploadservicedata,params_xml,header) 26. resp = conn.getresponse() 27. print resp.status,resp.reason 28. 29. # htmldata = resp.read() 30. # print htmldata 31. # time.sleep(5)

运行程序,结果如下图所示:

文件:Sd-10.jpg
SD Configuration
文件:Sd-11.jpg
SD Configuration