烂大街项目:Wifi 智能灯
10.21-10.26 熟悉开发套件,搜集学习资料,跑一下简单的例程
周一晚上套件就到了,每天搞的时间不多,但是还是试了几个简单的例程,这里跟大家分享一下。
首先上图:
开发套件和准备好的RGB LED
要实现wifi 智能灯,需要使用到套件进行wifi连接、pwm驱动、传感器采集和处理、基本mcu功能等,外部电路需要包括电源和LED 驱动,这部分还没有开始。
有网友表示1.19的例程有问题,由于我这里暂时只使用了其中TCP_UDP_ECHO、WiFI_Link和LED例程作为参考,所以也没遇到什么问题。
由于没有调试器,所以程序下载方式使用SecureCRT+BootLoder进行下载,具体可参考用户手册4.3章。
对例程的操作一般是没有什么问题的,以TCP_UDP_ECHO例程为例,更改程序中wifi ssid和password的定义,编译下载即可运行。
- /*Read data from tcp clients and send data back */
- for(i=0;i<8;i++) {
- if (clientfd[i] != -1) {
- if (FD_ISSET(clientfd[i], &readfds)) {
- con = recv(clientfd[i], buf, 1*1024, 0);
- if (con > 0)
- send(clientfd[i], buf, con, 0);
- else {
- close(clientfd[i]);
- clientfd[i] = -1;
- }
- }
- else if (FD_ISSET(clientfd[i], &exceptfds))
- clientfd[i] = -1;
- }
- }
-
- /*Read data from udp and send data back */
- if (FD_ISSET(fd_udp, &readfds)) {
- con = recvfrom(fd_udp, buf, 3*1024, 0, &addr, &addrLen);
- sendto(fd_udp, buf, con, 0, &addr, sizeof(struct sockaddr_t));
- }
复制代码 这是主程序中对接收数据的处理方式,即原封不动的返回,测试结果如下
如果自己新建项目的话,除了按照普通stm32芯片进行开发外,还需要注意三点:1、程序的下载地址和中断向量表的配置;2、mxchipWNet库的正确引用和操作;3、stm32核心的某些资源已经被用于wifi等外部链接,开发时需要避开使用,具体可以参考芯片资料。
考虑到实际应用中LED驱动、发热、传感器干扰等因素,可能相关部分需要单独设计,为了简化项目难度,这里就直接拿这个RGB LED 灯条取代大功率LED了,裁剪了恒流驱动和散热部分,同时相当于不考虑发光部件对传感器的影响,所以整个项目只能作为应用原型,仅以此跟爱折腾的网友分享。
本文来自论坛,点击查看完整帖子内容。