wateras1

个性签名:淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目

  • 2018-12-21
  • 发表了日志: dnsmasq arm linux 移植

  • 2018-11-21
  • 发表了日志: ubuntu源码安装libev

  • 2018-10-25
  • 发表了日志: boa cgi实现ajax

  • 2018-10-23
  • 回复了主题帖: Ubuntu下搭建Boa web服务器

    star_66666 发表于 2018-10-22 22:45 干嘛用的啊
    搭建数据监控web服务器

  • 2018-10-22
  • 发表了日志: Ubuntu下搭建Boa web服务器

  • 发表了主题帖: Ubuntu下搭建Boa web服务器

    本帖最后由 wateras1 于 2018-10-22 17:11 编辑                                                                       Ubuntu下搭建Boa web服务器       项目需要找个了web服务器实现一些参数配置,看到网上linux 上用Boa比较多,在网上找了些资料,虽然资料还是比较多,但是按照配置方法操作,还是操作有问题,于是记录下来,希望对后来人有所帮助,能按照方法就可以搭建web服务器,废话不多说了,来重点。 1.去官方下载最近的Boa软件包 1,下载boa源码       网址:  www.boa.org      版本:boa-0.94.13.tar.gz 2,  解压并进入boa-0.094.13/src/ 3, 执行      ./configure      make 错误:           yacc -d boa_grammar.y           make: yacc:命令未找到           make: *** [y.tab.c] 错误 127 解决:           缺bison库           sudo apt-get install bison 4,  继续执行make 错误:      lex boa_lexer.l      make: lex: 命令未找到      make: *** [lex.yy.c] 错误 127 解决:           sudo apt-get install flex 错误:      util.c:100:39: error: pasting "t" and "->" does not give a valid preprocessing token                time_offset = TIMEZONE_OFFSET(t);      compat.h: 120:30: note: in definition of macro 'TIMEZONE_OFFSET'      #define TIMEZONE_OFFSET(foo)  foo##->tm_gmtoff 解决:      修改compat.h 120行,如下:      #define TIMEZONE_OFFSET(foo)  foo->tm_gmtoff 上面已经初步编译成功!下面对boa进行配置 --------------------- 错误:      log.c:73 - unable to dup2 the error log: Bad file descriptor 解决:      注释掉log.c中:      /*       if (dup2(error_log, STDERR_FILENO) == -1) {                          DIE("unable to dup2 the error log");                    }      */      重新编译。 b,再次执行./boa 错误:      boa.c: 226 - icky Linux kernel bug!: Success 解决:      注释掉:      if (setuid(0) != -1) {                         DIE(”icky Linux kernel bug!”);         }   b. 修改boa-0.94.13/boa.conf文件。打开#gedit boa-0.94.13/boa.conf               User nobody  ->  User 0              Group nogroup -> Group 0 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/  -> ScriptAlias /cgi-bin/ /var/www/cgi-bin/ c.创建相应的文件夹及文件 1.  在/etc下创建boa文件夹,并添加文件boa.conf #cd /etc #mkdir boa #cp boa-0.94.13/boa.conf /etc/boa 2.在/var/log添加boa文件夹及文件 #cd /var/log #mkdir boa #cd boa #touch access_log #touch error_log d.在/var中添加www文件夹并增加相应的文件,index.html文件也要存放在/var/www这个文件夹下。 #cd /var #mkdir www #cd www #mkdir  cgi-bin #cd boa-0.94.13/src            (切到boa项目文件夹中) #make clean #make                                 (编译) #./boa                                 (执行) root@ubuntu:~/boa-0.94.13/src# ./boa root@ubuntu:~/boa-0.94.13/src# [22/Oct/2018:03:24:05 +0000] boa: server version Boa/0.94.13 [22/Oct/2018:03:24:05 +0000] boa: server built Oct 22 2018 at 11:24:00. [22/Oct/2018:03:24:05 +0000] boa: starting server pid=5175, port 80 [22/Oct/2018:03:24:14 +0000] request from 192.168.204.128 "GET /favicon.ico HTTP/1.1" ("/var/www/favicon.ico"): document open: No such file or directory [22/Oct/2018:03:24:14 +0000] request from 192.168.204.128 "GET /favicon.ico HTTP/1.1" ("/var/www/favicon.ico"): document open: No such file or directory [22/Oct/2018:03:25:07 +0000] request from 192.168.204.1 "GET /favicon.ico HTTP/1.1" ("/var/www/favicon.ico"): document open: No such file or directory [22/Oct/2018:03:25:45 +0000] request from 192.168.204.1 "GET /w5500.js HTTP/1.1" ("/var/www/w5500.js"): document open: No such file or directory 关于boa.conf文件的详解: Port:boa服务器监听的端口,默认的端口是80。如果端口小于1024,则必须是  root用户启动服务器。 Listen:绑定的ip地址。不使用这个参数时,将绑定所有的地址。 User:连接到服务器的客户端的身份,可以是用户名或UID。 Group:连接到服务器的客户端的组,可以是组名或GID。 ServerAdmin:服务器出故障时要通知的邮箱地址。 ErrorLog:指定错误日志文件。如果路径没有以"/"开始,则相对于ServerRoot路径。没有配置时默 认的文件是/dev/stderr。若不想记录日志,指定文件为/dev/null。 AccessLog:设置存取日志文件,与ErrorLog类似。 UseLocaltime:设置使用本地时间,使用UTC时注释这个参数。这个参数没有值。 VerboseCGILogs:在错误日志文件中记录CGI启动和停止时间,若不记录,注释这个参数。这个参数没有值。 ServerName:指定服务器的名称,当客户端使用gethostname + gethostbyname时返回给客户端。 VirtualHost:虚拟主机开关。使用此参数,则会在DocumentRoot设定的 目录添加一个ip地址作为新的DocumentRoot来 处理客户端的请求。如DocumentRoot设置为/var/www,则http://localhost/转换 成/var/www/127.0.0.1/,若注释此参数,则为/var/www/。 DocumentRoot:HTML文件的根目录(也就是网站的目录)。 UserDir:指定用户目录。 DirectoryIndex:指定预生成目录信息的文件,注释此变量将使用DirectoryMaker变量。这个变量也就是设置默认主页的文件名。 DirectoryMaker:指定用于生成目录的程序,注释此变量将不允许列目录。 DirectoryCache:当DirectoryIndex文件不存在,而DirecotryMaker又被注释掉时,将列出这个参数指定目录给客户端。 KeepAliveMax:每个连接允许的请求数量。如果将此值设为" 0 ",将不限制请求的数目。 KeepAliveTimeOut:在关闭持久连接前等待下一个请求的秒数。(秒)。 MimeTypes:设置包含mimetypes信息的文件,一般是/etc/mime.types。 DefaultType:默认的mimetype类型,一般是text/html。 CGIPath:相当于给CGI程序使用的$PATH变量。 SinglePostLimit:一次POST允许最大的字节数,默认是1MB。 AddType: 增加MimeType没有指定的类型,例: AddType type extension [extension ...]。要使用cgi,必须添加cgi类型:AddType application/x-httpd-cgi cgi Redirect:重定向文件。 Aliases:指定路径的别名。 ScriptAlias:指定脚本路径的虚拟路径。 补充说明: (1)移植boa到嵌入式linux上的方法和上面几乎一样,具体做法是在./configure生成Makefile后将Makefile中的CC = gcc 改为CC = arm-linux-gcc,将CPP=gcc -E 改为 CPP = arm-linux-gcc -E,然后make就可以了。 (2)移植boa到嵌入式linux后,在启动时若出现“gethostbyname:: Success"然后程序退出,则需在原boa.conf文件中增加一行: ServerName  www.your.org.here 然后重新运行boa就可以了。需要注意,若系统中有多个boa程序,则不应该将boa加入PATH环境变量中,这样相互之间干扰可能引起异常,而应该使用带路径的方式来启动boa程序。 此内容由EEWORLD论坛网友wateras1原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2018-09-12
  • 回复了主题帖: iTOP-iMX6开发板-MiniLinux-Max485测试使用文档

    可以分享资料嘛?

  • 2018-08-28
  • 发表了日志: 消灭编译警告(Warning)(转)

  • 2018-08-26
  • 回复了主题帖: EEWORLD坛友西安小聚,在西安的小伙伴快进帖报名吧

    支持,什么时候继续北京呀?:victory:

  • 2018-06-22
  • 发表了日志: 解决warning: environment variable 'STAGING_DIR' not defined

  • 发表了主题帖: 解决warning: environment variable 'STAGING_DIR' not defined

    wateras@wateras-virtual-machine:~/curtest$ make mipsel-openwrt-linux-gcc  -g -Wall -c main.c            mipsel-openwrt-linux-uclibc-gcc.bin: warning: environment variable 'STAGING_DIR' not defined mipsel-openwrt-linux-gcc  -g -Wall -o main  main.o  -I/home/wateras/curtest/curl/include -L/home/wateras/curtest  -lcurl mipsel-openwrt-linux-uclibc-gcc.bin: warning: environment variable 'STAGING_DIR' not defined mipsel-openwrt-linux-uclibc-gcc.bin: warning: environment variable 'STAGING_DIR' not defined 执行export STAGING_DIR=$STAGING_DIR:/home/linux64/mips/ 再执行make wateras@wateras-virtual-machine:~/curtest$ make mipsel-openwrt-linux-gcc  -g -Wall -c main.c            mipsel-openwrt-linux-gcc  -g -Wall -o main  main.o  -I/home/wateras/curtest/curl/include -L/home/wateras/curtest  -lcurl 就不会报出警告了。 此内容由EEWORLD论坛网友wateras1原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2018-06-21
  • 发表了日志: linux 中-ldl和-lpthread 是什么意思?(转)

  • 发表了日志: gcc调用静态库和动态库相关信息

  • 发表了日志: libcurl在mtk7688上的移植

  • 发表了主题帖: libcurl在mtk7688上的移植

                                                                 libcurl在mtk7688上的移植             之前用libcurl在linux x86平台做了些简单的应用开发,如果需要移植到mtk7688平台上,虽然他们都是跑的linux,但是由于芯片不同,就涉及到交叉编译,最近用到的开源库很多,经常交叉编译,又是各种出错,不知道是自己运气太差还是什么原因,根据常规方法配置总是报错,最终还是解决了。    我之前下载了最新版本的libcurl,7.60版本,没有的源码的需要自己去官网下载 第一步输入如下命令: ./configure --prefix=/home/wateras/curtest/ CC=mipsel-openwrt-linux-gcc --host=mipsel-linux   --enable-static 马上就报出一个如下错误 checking for nroff... /usr/bin/nroff checking how to use *nroff to get plain text from man pages... -man checking whether to enable the threaded resolver... yes checking whether to use POSIX threads for threaded resolver... auto checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking for pthread_create... no checking for pthread_create in -lpthread... no configure: error: Threaded resolver enabled but no thread library found 想不到第一步就挂了,看错误是我们使能了多线程resolver,但是没有线程库,问题是我也没用到,那就禁止掉呗 那就输入下面的命令: ./configure --prefix=/home/wateras/curtest/ CC=mipsel-openwrt-linux-gcc --host=mipsel-linux  --disable-threaded-resolver --enable-static 输出部分信息: config.status: creating packages/AIX/RPM/curl.spec config.status: creating curl-config config.status: creating libcurl.pc config.status: creating lib/curl_config.h config.status: lib/curl_config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands configure: amending lib/Makefile configure: amending src/Makefile configure: amending tests/unit/Makefile configure: amending tests/server/Makefile configure: amending tests/libtest/Makefile configure: amending docs/examples/Makefile configure: Configured to build curl/libcurl:   curl version:     7.60.0   Host setup:       mipsel-unknown-linux-gnu   Install prefix:   /home/wateras/curtest   Compiler:         mipsel-openwrt-linux-gcc   SSL support:      no      (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} )   SSH support:      no      (--with-libssh2)   zlib support:     no      (--with-zlib)   brotli support:   no      (--with-brotli)   GSS-API support:  no      (--with-gssapi)   TLS-SRP support:  no      (--enable-tls-srp)   resolver:         default (--enable-ares / --enable-threaded-resolver)   IPv6 support:     enabled   Unix sockets support: enabled   IDN support:      no      (--with-{libidn2,winidn})   Build libcurl:    Shared=yes, Static=yes   Built-in manual:  enabled   --libcurl option: enabled (--disable-libcurl-option)   Verbose errors:   enabled (--disable-verbose)   SSPI support:     no      (--enable-sspi)   ca cert bundle:   no   ca cert path:        ca fallback:         LDAP support:     no      (--enable-ldap / --with-ldap-lib / --with-lber-lib)   LDAPS support:    no      (--enable-ldaps)   RTSP support:     enabled   RTMP support:     no      (--with-librtmp)   metalink support: no      (--with-libmetalink)   PSL support:      no      (libpsl not found)   HTTP2 support:    disabled (--with-nghttp2)   Protocols:        DICT FILE FTP GOPHER HTTP IMAP POP3 RTSP SMTP TELNET TFTP 第二步 make 第三步 make install 以上三步就解决了生成mtk7688等mips平台下的lib库 wateras@wateras-virtual-machine:~/curtest$ make mipsel-openwrt-linux-gcc  -g -Wall -c main.c            mipsel-openwrt-linux-uclibc-gcc.bin: warning: environment variable 'STAGING_DIR' not defined mipsel-openwrt-linux-gcc  -g -Wall -o main  main.o  -I/home/wateras/curtest/curl/include -L/home/wateras/curtest/lib  -lcurl mipsel-openwrt-linux-uclibc-gcc.bin: warning: environment variable 'STAGING_DIR' not defined mipsel-openwrt-linux-uclibc-gcc.bin: warning: environment variable 'STAGING_DIR' not defined wateras@wateras-virtual-machine:~/curtest$ ./main bash: ./main: cannot execute binary file: 可执行文件格式错误 wateras@wateras-virtual-machine:~/curtest$ ls -al 总用量 10468 drwxrwxr-x  8 wateras wateras    4096  6月 21 10:39 . drwxr-xr-x 46 wateras wateras    4096  6月 21 10:39 .. drwxrwxr-x  2 wateras wateras    4096  6月 21 10:30 bin drwxr-xr-x  2 wateras wateras    4096  5月 30 15:37 curl drwxr-xr-x 13 wateras wateras    4096  6月 21 09:58 curl-7.60.0 -rw-rw-r--  1 wateras wateras 3949173  5月 16 14:19 curl-7.60.0.tar.gz drwxrwxr-x  3 wateras wateras    4096  6月 21 10:30 include drwxrwxr-x  3 wateras wateras    4096  6月 21 10:30 lib -rwxrwxr-x  1 wateras wateras   30010  6月 21 10:39 main -rw-rw-r--  1 wateras wateras    3153  6月 21 10:39 main.c -rw-rw-r--  1 wateras wateras   29536  6月 21 10:39 main.o -rw-rw-r--  1 wateras wateras     273  6月 21 10:33 Makefile -rw-rw-r--  1 wateras wateras     185  6月 20 15:34 Makefile111 drwxrwxr-x  4 wateras wateras    4096  6月 21 10:30 share -rw-rw-r--  1 wateras wateras 6291460  6月 20 14:39 user2.bin -rw-rw-r--  1 wateras wateras  357380  6月 19 17:25 user.bin 从红色字体我们可以看出生成的main执行文件已经是在mtk7688上运行的,如果不信可以用如下命令验证 wateras@wateras-virtual-machine:~/curtest$ file main main: ELF 32-bit LSB  executable, MIPS, MIPS32 rel2 version 1, dynamically linked (uses shared libs), not stripped 一般常用的查看可执行文件命令如下: 1. file 可执行文件  可查看可执行文件是ARM架构还是X86架构2. nm 可执行文件 可查看文件中的符号,包括全局变量,全局函数等3. ldd 可执行文件 可查看文件执行所需要的动态库4. strings 可执行文件 可查看文件中所有的符号,包括编译器版本信息5. readelf 可执行文件 可查看文件的所有详细信息,包括文件的头信息,动态库信息,段信息等接下里把main可执行文件放到mtk7688平台上运行 我的测试代码就是curl下载文件,主要过程还是交叉编译lib文件费了些力气,每次都会爆出各种错误,于是又是神农百草般解决问题,以上方面可以在任何芯片架构移植,比如常见的ARM平台修改下CC就行和host就行,其他不需要修改(linux系统)。 此内容由EEWORLD论坛网友wateras1原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2018-06-20
  • 回复了主题帖: 3 Linux 网络编程 第一次抓包

    我还是习惯用wireshark抓包,用习惯了:)

  • 2018-06-08
  • 发表了日志: Linux常用压缩和解压命令

  • 发表了日志: openwrt两种修改web登录名方法

  • 发表了主题帖: openwrt两种修改web登录名方法

                                                                            openwrt两种修改web登录名方法       考虑到安全性,我们可能需要定制自己的用户名和密码(密码不说了,简单passwd就行),openwrt默认的用户名是root,我们可以修改成自己喜欢的名字,演示我就用admin吧。 如果已经在硬件上面运行了openwrt,不想修改源码可以直接修改配置文件来实现就用下面的方法: 1.修改/etc/passwd将root:x:0:0:root:/root:/bin/ash修改为admin:x:0:0:root:/root:/bin/ash。2.修改/etc/shadow将root:xxxxxx:0:0:99999:7:::修改为admin:xxxxxx:0:0:99999:7:::。3.修改/usr/lib/lua/luci/controller/admin/index.lua将page.sysauth = {“root”}修改为page.sysauth = {“admin”}。4.修改/usr/lib/lua/luci/controller/admin/servicectl.lua将entry({“servicectl”}, alias(“servicectl”, “status”)).sysauth = {“root”}修改为entry({“servicectl”}, alias(“servicectl”, “status”)).sysauth = {“admin”}。之后reboot重启下就OK了 如果想修改源码实现方法如下:feeds/luci/modules/luci-mod-admin-full/luasrc/controller/admin/index.lua将page.sysauth = {“root”}修改为page.sysauth = {“admin”}。和feeds/luci/modules/luci-base/luasrc/controller/admin/servicectl.lua将entry({“servicectl”}, alias(“servicectl”, “status”)).sysauth = {“root”}修改为entry({“servicectl”}, alias(“servicectl”, “status”)).sysauth = {“admin”}。我用ssh登录后台验证没有问题,web登录也没问题。 此内容由EEWORLD论坛网友wateras1原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 回复了主题帖: 关于2G网络的DTU使用4G卡的问题

    这种问题最好咨询设备商,你那里买的DTU就问他们效率更高

    1. 有意思,可以分享相关资料嘛
    2. CC1120 Sub1G开发套件动手实践 主要讲解和测评了下CC1120的一些射频指标参数讲的挺不错的,尤其是对SmartRF控制软件的讲解,很详细,很难得,其实看完这个视频可以说软件使用手册都可以不看了,不过虽然讲解的挺好的,但是希望能讲解下几个小项目应用,可能趣味性更强,因为一些参数指标,其实网友有条件的话都会自己去测评的或者查看芯片手册的,总之,对于SmartRF控制软件的介绍确实不错:)
    3. huaiqiao 发表于 2015-7-19 20:54 哦,你的意思是它只是利用msp430举了个例子。而不是非要用430.其他主控也可以。
      当然了,仅仅一个射频芯片而已
    4. huaiqiao 发表于 2015-7-16 22:01 其实看了视频我还是不太清楚,为什么要msp430,是因为都是ti的,才要这样吗。还是别的cpu也可以开发呢。
      其实都可以的,介绍TI的芯片是主要为了推销,射频芯片和用什么主控MCU也多大关系,除非你考虑一些特殊要求
    5. TI低功耗蓝牙教学视频主要讲解了传统蓝牙,低功耗蓝牙也就是蓝牙4.0以及双模蓝牙之间的联系,蓝牙4.0和双模的蓝牙是可以相互通信,但是蓝牙4.0和传统蓝牙是无法建立链接的,TI的CC2540和CC2541芯片前者和后者的区别主要在于后者功耗更低,接口为I2C,而前者为USB,其他基本相同,对于需要USB接口的比如要做蓝牙U盘什么的,可以选择CC2540,而对于需要硬件I2C接口驱动一些传感器什么的,可以选择CC2541.此外视频对于一些产品认证以及IOS app开发也介绍的挺不多的。:)
    6. 课程系统的介绍了TI的WIFI产品线,目前有两个主打WIFI产品,一个是TI的 CC3100主要是作为网络处理器结合片外MCU使用,通信接口主要是uart和SPI,这个对于用户来说灵活性还是很强的,只要外加一个熟悉的MCU就可以通过BSD socket编程接口使用wifi,这个对于不想更换MCU,直接替换其他无线解决方案来说,还是成本挺低的,不过个人还是建议,如果TI的CC3100能做成AT指令模式,可能灵活性更好,就好比目前流行的ESP8266模块 对于CC3200可以说是CC3100的升级版,作为TI wifi SOC解决方案,它直接内置了一个主频80M的M4内核,省去了片外MCU,相对来说布线也简单了以及节省了一些电子元器件,对于降低硬件成本还是不错的,不过就是需要再了解下CC3200的编程,如果官方提供的软件固件库使用简单的话,还是挺不错的一个解决方案。其实我12年就采购了TI的wifi CC3000芯片,一直是TI的无线的终极粉丝,也希望TI能出更多的无线解决方案。
    7. 谢谢分享
    1. 大概看了下,感觉挺不错的

统计信息

已有31577人来访过

  • 芯币:12346
  • 好友:85
  • 主题:351
  • 回复:2863
  • 课时:--
  • 资源:5

留言

你需要登录后才可以留言 登录 | 注册


wateras1 2018-8-22
细节决定成败,多看官方文档,其他仅仅参考~~~~~~~~~~~
ADASDASDASDASD 2018-4-4
你好,我想问一下之前那个cc3200 getweather 的那个APPID怎么配置的?
wateras1 2017-8-25
天下英雄出我辈,一入江湖岁月催。
鸿图霸业谈笑间,不胜人生一场醉。
提剑跨骑挥鬼雨,白骨如山鸟惊飞。
尘世如潮人如水,只叹江湖几人回。
wateras1 2017-3-29
如果你有梦想的话,就要去捍卫它。当别人做不到的时候,他们就想要告诉你,你也不能。如果你想要些什么,就得去努力争取。就这样! – 《当幸福来敲门》
wateras1 2017-3-4
生活最主要的还是感受,坚持是一种刻意的练习,不断寻找缺点突破缺点的过程,而不是重复做某件事情。
西瓜绿豆沙 2017-2-9
加油
wateras1 2017-1-12
17年,在实践中理论化,在理论中实践化~~~~~~~~~~~~~~~
wateras1 2016-6-3
我的wifi模块终于可以发送邮件了,不容易~~~~~~~~~~~
wateras1 2016-4-30
现在的坚持是为了对得起当初的汗水~~~~~~~~~~~
wateras1 2016-4-27
ESP8266的JSON解析太操蛋了,整了我一天才搞明白,想不通时多看看书,一遍看不明白就多看几遍,读书百遍,其义自见,切记,以其浪费时间在QQ群请教,还不如看书~~~~~~~~~
wateras1 2015-11-22
生命是一团欲望,欲望不能满足便痛苦,满足便无聊,人生就在痛苦和无聊之间摇摆
soso 2015-6-3
这是啥事突发感慨呀?
wateras1 2015-6-2
哥已不再江湖,但是江湖仍留有哥的传说~~~~~~~~~~~
wateras1 2015-4-15
技术最高境界:一语中的。无半点废话~~~~~~~~~~
wateras1 2015-1-23
多看优质的编程书籍,须知编码命名,注释以及编码结构都是一门很深的学问~~~~~~~~~~~~~~~~~~~
wateras1 2015-1-22
越努力,越幸福,越坠落,越失败~~~~~~~~~~~~
无名氏旦旦 2014-10-23
jiayou
wateras1 2014-8-5
当你感到迷茫不知所措时,当你感到无法百度到答案时,仅仅要做的就是打开协议文档仔细研究,别无他法~~~~~~~~~~
wateras1 2014-7-2
学习最大的天敌其实就是自己那颗浮躁的心,学习之前,保持一颗淡定的心比什么重要~~~~~~~~
wateras1 2014-7-2
毅力不够,要做的事绝对不能拖延。。。。。。。。。。。。。。。。。
xiaoxiaomao 2014-6-27
文章很精彩
wateras1 2014-6-19
夜里挑灯编码,破茧而出何时?闭关修炼三月,收益又何如?
wateras1 2014-5-25
STM32驱动W5100实现udp通信
http://blog.csdn.net/jdh99/article/details/16799973
wateras1 2014-3-11
新的工作,新的征程。。。。。。。。。。。
wateras1 2014-2-28
最近弄自动充电,太蛋疼了,首先方案就有问题,还要做下去,更蛋疼~~~~~~~~~~~~
wateras1 2014-1-15
终于明白了为何透传pro版本要比07版本效率高,原来如此,一日不读书,则废矣,自动分包效率确实有所提高。。。。。。。。。。
nanzi 2014-1-14
加的时候请注明zigbee
nanzi 2014-1-14
你好,有个zigbee小项目,你有兴趣吗?加我好友616644358
wateras1 2014-1-6
http://wifyer.blog.163.com/blog/static/664373042012419346441/
wateras1 2014-1-4
http://www.state-machine.com/qp/index.php
wateras1 2014-1-4
http://blog.sina.com.cn/s/blog_98ee3a9301017t1f.html
苏莎莎 2012-10-21
wateras1: 想不到是美女呀
不是美女,嘿嘿,一般人
tujianlu926 2012-8-1
请问  检测打了几环 有什么方案吗   这个解决不好  忘大侠赐教
查看全部