“第八课--MicroWRT SD卡/U盘使用”的版本间的差异
第61行: | 第61行: | ||
功能:POST随机数据到web平台(已提供POST接口) | 功能:POST随机数据到web平台(已提供POST接口) | ||
− | 1. import httplib | + | 1. import httplib |
− | 2. import urllib | + | 2. import urllib |
− | 3. import time | + | 3. import time |
− | 4. import random | + | 4. import random |
− | 5. | + | 5. |
− | 6. url_platform = '11.4.31.195:9071' | + | 6. url_platform = '11.4.31.195:9071' |
− | 7. | + | 7. |
− | 8. path = '/WIFPa/ResourceData.xml/000100003f0cfd4a?ResourceID=1' | + | 8. path = '/WIFPa/ResourceData.xml/000100003f0cfd4a?ResourceID=1' |
− | 9. path_uploadservicedata = '/WIFPd/UploadServiceData/000100003f0cfd4a' | + | 9. path_uploadservicedata = '/WIFPd/UploadServiceData/000100003f0cfd4a' |
− | 10. | + | 10. |
− | 11. FORMAT = '%Y-%m-%dT%X' | + | 11. FORMAT = '%Y-%m-%dT%X' |
− | 12. params_xml1 = '<ServiceData><mwid>000100003f0cfd4a</mwid><datatime>' +time.strftime(FORMAT,time.localtime()) + '</datatime><Datapoints><value>' | + | 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>' | + | 13. params_xml2 = '</value><num>1</num></Datapoints></ServiceData>' |
− | 14. | + | 14. |
− | 15. header = {'Content-type':'text/xml'} | + | 15. header = {'Content-type':'text/xml'} |
− | 16. | + | 16. |
− | 17. | + | 17. |
− | 18. # conn.request(method='GET',url=path) | + | 18. # conn.request(method='GET',url=path) |
− | 19. # while True: | + | 19. # while True: |
− | 20. conn = httplib.HTTPConnection(url_platform) | + | 20. conn = httplib.HTTPConnection(url_platform) |
− | 21. val = str(random.randint(1,100)) | + | 21. val = str(random.randint(1,100)) |
− | 22. print 'value',val | + | 22. print 'value',val |
− | 23. params_xml = params_xml1 + val + params_xml2 | + | 23. params_xml = params_xml1 + val + params_xml2 |
− | 24. | + | 24. |
− | 25. conn.request('POST',path_uploadservicedata,params_xml,header) | + | 25. conn.request('POST',path_uploadservicedata,params_xml,header) |
− | 26. resp = conn.getresponse() | + | 26. resp = conn.getresponse() |
− | 27. print resp.status,resp.reason | + | 27. print resp.status,resp.reason |
− | 28. | + | 28. |
− | 29. # htmldata = resp.read() | + | 29. # htmldata = resp.read() |
− | 30. # print htmldata | + | 30. # print htmldata |
− | 31. # time.sleep(5) | + | 31. # time.sleep(5) |
运行程序,结果如下图所示: | 运行程序,结果如下图所示: |
2015年1月4日 (日) 07:28的版本
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
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 |