03-基于ZigBee的路灯照明监控系统设计


技术实现框架


ZigBee路灯灯光照明控制系统-标准版(光控人感调光屏幕上位机)
ZigBee路灯灯光照明控制系统-标准版+灯泡故障检测
ZigBee路灯灯光照明控制系统-标准版+声控
ZigBee路灯灯光照明控制系统-onenet云平台版
ZigBee路灯灯光照明控制系统-手机APP版
ZigBee路灯灯光照明控制系统-手机APP版+温湿度监测
ZigBee路灯灯光照明控制系统-冷暖双色温版
ZigBee路灯灯光照明控制系统-光线阈值可调版
zigbee路灯灯光照明控制系统-时控微波光控故障与车流量检测版
zigbee路灯灯光照明控制系统-时控微波光控故障与车流量+pm2.5检测版
ZigBee路灯灯光照明控制系统-时控人感光控版
ZigBee路灯灯光照明控制系统-时控人感光控版+故障检测
ZigBee路灯灯光照明控制系统-时控人感光控版+故障检测+分区控制
ZigBee路灯灯光照明控制系统-时控人感光控版+故障检测+SOS一键求助
ZigBee路灯灯光照明控制系统-时控人感光控版+温湿度烟雾监测
ZigBee路灯灯光照明控制系统-时控人感光控版+声控
ZigBee路灯灯光照明控制系统-时控压感光控版
ZigBee路灯灯光照明控制系统-各自多节点版本
ZigBee路灯灯光照明控制系统-光控压感微波故障检测版
ZigBee路灯灯光照明控制系统-灯泡故障监测GSM报警版

1 系统实现功能


  • 实时监测 :实时监测环境光线情况,路灯的灯光级别及是否故障等情况。
  • 手动控制模式:可以根据自己的意愿控制灯光的五级亮度。
  • 自动控制模式:当环境光线低于30%且有人或有车经过时,可以根据路灯所处环境自动调节光线的亮度,当环境光线高于30%且有人或有车经过时,不开灯。
  • 故障检测:当路灯发生故障,蜂鸣器报警提醒,并将该路灯的故障信息在APP上提醒。
  • APP监测与控制:通过蓝牙无线通信技术与手机APP通信,在手机端实现远程信息交互。

2   硬件选型


序号

模块

型号

1

ZigBee节点*2

CC2530

2

光敏电阻传感器*2

5516

3

屏幕

OLED

4

路灯

——

5

光敏传感器

光敏电阻

6

人体红外传感器

HC-SR501

7

蓝牙模块

JDY-31

8

杜邦线

若干

9

ZigBee下载器

SmartRF04EB仿真器


3  实物展示


4f5ca5f3ca10b1019e79c5b29098be03.jpeg


4 部分源码


/*********************************************************
 * @fn      APP()
 * @brief   用帘自定义轮询函数
 * @param   task - Loop task
 * @return  none
**********************************************************/
void APP(unsigned char task)//用帘轮询进程
{  
    #if defined(ZDO_COORDINATOR) //协调器   
    unsigned char i;   
        key_server();//按键扫描进程
        ble_process();
        display_info();//显示刷新功能
    if((flag_bad[0]==1)&&status_led[0])
     {
       if(cnt_beep>3000)
       {
         BEEP_ON;
         cnt_beep=0;       
       }
       else
       {
         if(cnt_beep>100)
         {
           BEEP_OFF;
         }
       }
    }
    else
    {
      BEEP_OFF;
    }
    #else
   #endif   
       switch(task)              //任务进程
        {
           case 0://串口进程
                if(rx_update)     //串口命令进程,收到\r\n更新命令
                  {
                    rx_update=0;             //清除更新标志位            
                    rtc_usart_time_set();    //串口设置RTC时间函数
                    usart_set_mode(); 
                    usart_set_switch();
                    usart_set_timing();
                    flash_erase(122);//清除FLASH 
                    flash_temp[0]=mode;
                    flash_write(122,0,flash_temp,10);   
                    wipe_buffer(rx_temp,50);//清除串口缓存数据
                    rx_index=0;             //串口缓存指针回0
                    rx_flag=1;              //串口允许接收
                  }                      
           break;
           
          case 1:
                     #if defined(ZDO_COORDINATOR) //协调器          
                        
                        if(timer1cnt>1000) //定时器进程
                          {      
                                  if(mode==0){//自动模式下
  
                                           for(i=0;i<3;i++)
                                           {
                                                 if(light[i]<30){
                                                   
                                                      if(status_ir[i]==1){
                                                        
                                                           if(light[i]<5)status_led[i]=5;
                                                           else {
                                                                if(light[i]<10)status_led[i]=4;
                                                                else{
                                                                     if(light[i]<20)status_led[i]=3;
                                                                     else{
                                                                        if(light[i]<25)status_led[i]=2;
                                                                        else           status_led[i]=1;
                                                                     }                                                         
                                                                }
                                                           } 
                                                       }
                                                      else{                                                                                      
                                                          status_led[i]=0;
                                                      }   
                                                  }else{                                                                                      
                                                     status_led[i]=0;
                                                  }                                                                                  
                                           }
                                    }  


                                   tx_temp[0]='1';
                                   tx_temp[1]='2';
                                   tx_temp[2]='3';
                                   
                                   tx_temp[3]=status_led[0];//调光值
                                   tx_temp[4]=status_led[1];
                                   tx_temp[5]=status_led[2];
    
                                   RF_Master2Point(tx_temp,10);
                          
                           timer1cnt=0;
                           
                          }
                     #else          
                         if(timer1cnt>2000) //定时器进程,每3秒翻转一次显示内容
                            {   
                              printf("run\r\n");
                             timer1cnt=0;
                            }    
                       
                        
                     #endif             
                                    
          break;
    
        case 2:

          break;
          
          
           default:
                  task=0;
           break;
        }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鱼儿电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值