【OK210试用体验】基于boa服务器,实现网页控制LED功能 - 在线问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

【OK210试用体验】基于boa服务器,实现网页控制LED功能


  •         

  •    

  •         

  •         

  •             

  •             

  •         

  •    

  • 复制代码

        2.cgi程序:
        cgi程序使用CGIC库处理。CGIC的使用可以到他官网查看。
       cgiFormStringNoNewlines  是  CGIC中的函数,可以用来获取,表单数据。即之前浏览器地址栏的““http://192.168.199.200/cgi-bin/led.cgi?mode=led_on&button1=submit”。中,mode的值。可以看到。此次提交mode的值为 led_on。
         打开/dev/leds设备,使用ioctl控制led的亮灭即可。
    1. #include
    2. #include
    3. #include
    4. #include
    5. #include "cgic.h"
    6. #include
    7. #include
    8. #include
    9. #include
    10. #include



    11. char mode[64];

    12. void get_mode()
    13. {
    14.         cgiFormStringNoNewlines("mode",mode, 64);
    15. }



    16. int cgiMain()
    17. {       
    18.     int fd=0;
    19.     int rnt = 0;

    20.     get_mode();

    21.     fd = open("/dev/leds",0);

    22.     if(strncmp(mode,"led_off",7) == 0)
    23.     {
    24.         rnt = 1;
    25.         ioctl(fd,0,0);
    26.     }
    27.     else if(strncmp(mode,"led_on",6) == 0)
    28.     {
    29.         rnt = 2;
    30.         ioctl(fd,1,0);
    31.     }
    32.     else
    33.     {
    34.         

    35.     }
    36.    
    37.     cgiHeaderContentType("text/html");
    38.     fprintf(cgiOut,"n");
    39.     fprintf(cgiOut,"n");
    40.    
    41.     if(rnt == 0)
    42.     {
    43.         fprintf(cgiOut," OPEN LED FAILED!n");
    44.     }
    45.     else if(rnt == 1)
    46.     {
    47.         fprintf(cgiOut,"close led successed!n");
    48.     }
    49.     else if(rnt == 2)
    50.     {
    51.         fprintf(cgiOut,"open led successedn");
    52.     }
    53.     else
    54.     {
    55.         
    56.     }

    57.     fprintf(cgiOut,"n");
    58.     fprintf(cgiOut,"n");
    59.     close(fd);
    60.         return 0;

    61. }
    复制代码



  • 陈明 ( 楼主 ) 2015-9-19 11:03:34  只看该作者 倒序浏览
        公司项目催的紧,好久没更新了。
       


    一、实验目的:
            了解CGI的用法。以及如何将网页与服务器通信机制的了解。

    二、实验现象预览:
        1.在浏览器输入开发板的IP,可以看到如下界面:
         
        2.选中open,点击submit按钮:网页提示open led successed.
       
        3.观察板子,可以看到D1的led已点亮



    三、代码分析
        1.首先看下html文件:
        重要的在这句“
    LED1: open
  •         close
  •         
  • 5个回复

    HelloWii 发表于 2015-9-21 08:54:14
    不错。。。。
    回复

    举报 使用道具

    栾新科 发表于 2015-10-26 11:47:12
    智能家居适用
    回复

    举报 使用道具

    shadowyingjian 发表于 2017-4-25 10:37:35
    请问按照上面的步骤出现502一直解决不了,有办法解决吗?
    shadowyingjian 发表于 2017-4-25 10:37:36
    请问按照上面的步骤出现502一直解决不了,有办法解决吗?
    lee_st 发表于 2017-4-25 18:55:56
    非常好,学习一下下
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则


    关闭

    站长推荐上一条 /6 下一条

    小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

    GMT+8, 2024-4-20 14:24 , Processed in 0.766098 second(s), Total 33, Slave 24 queries .

    Powered by 电子发烧友网

    © 2015 bbs.elecfans.com

    微信扫描
    快速回复 返回顶部 返回列表