智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想!

标题: Arduino开源智能家居《认识Zigbee》zigbee功能和自组网介绍 [打印本页]

作者: znck007    时间: 2014-6-8 15:00
标题: Arduino开源智能家居《认识Zigbee》zigbee功能和自组网介绍
HI创友们,这周工厂已经在打板了,下周就能看到《Arduino开源智能家居》的网关作品了!

这次我们采用Arduino+Zigbee模式,也就是真正意思个的智能家居系统哦亲!

Zigbee是什么,有很多人可能只是知道有这么个东西,但不明白具体是什么,有什么作用!
以下我们用通俗易懂(以比喻为主)的方式来讲一下ZIGBEE。




《功能说明》
一、51单片机
简单的说,他就是一块51单片机(含无线传输功能),用IAR 8.10软件可以直接对他编程,比如点亮LED、收发数据、点击按键(IO)、输入数据(传感器)等。
很多arduino的同学就可以用他来学51单片机啦,一通百通嘛。51单片机其实就这样……

二、无线传输(远)
之前我们用NRF24l01,他的距离比较近,我们用zigbee代替它(这时zigbee等于Nrf24l01),加上天线后可以达上千米。这样的传输距离够用了吧!

三、用最多的智能家居协议
Zigbee是目前来说,全球智能家居用最多的协议之一(国际上是有统一协议规范的,但要按协议写代码然后还要认证)。
这个怎么理解呢?打个比方:如果以后你买个电视,他就能自动连入的你家居网关(zigbee协议一样)。用个词:万能家居网关,控制所有家居!

四、两两通信
一般一个智能家居系统有个网关,和很多传感器、设备(电器),zigbee可以不通过网关,就是(两个传感器)、(传感器和设备)、(设备和设备)之间可以互通信,可以不用通网关。比如:5楼的设备只和5楼的通信,不用经过1楼的总网关。这样就更方便快捷了嘛……

五、自网组(牛b、专业了)

简单的说,他就是小型的3G或CDMA或GSM网络。每个zigbee类式于一个基站,他们可以自己组成一个网。然后你在一个zigbee说话,任何一个点都可以收到(可以加密防窃听)。
举例子了:
你家是一栋别墅有3栋楼,每栋3层。
你想在某个室间控制整个别野,好办了就用zigbee,栋和栋之间的zigbee用天线,他们会自组网,断线自离网,上线自恢复。
只要你在一点操作,哪里都能收得到(也就是你打电话给你妹,你妹如果手机有信号,在哪都可以收得到!)

六、支持65000个节点
ZigBee大规模的组网能力——每个网络65000个节点,而每个蓝牙网络只有8个节点。


不想说了不想说了,反应已经够我们用了!


接下来说一下cdoe,我是个程序员嘛,这段日子都在研究自组网。自组网是最难的,你听我的解说就不会难了!
让我来说说zigbee自组网,杀上代码:


小菜,你只要关心图上的二个文件就好,其它你也不懂的,以后慢慢来!

一、我们双击ZMain.c,找到main( void )
[C] 纯文本查看 复制代码
/*********************************************************************
* 函数名称:main
* 功    能:主函数。
* 入口参数:无
* 出口参数:无
* 返 回 值:无
********************************************************************/
int main( void )
{
  /* 关闭中断 */
  osal_int_disable( INTS_ALL );

  /* 初始化系统时钟及LED等 */
  HAL_BOARD_INIT();

  /* 检测供电电压 */
  zmain_vdd_check();

  /* 初始化堆栈 */
  zmain_ram_init();

  /* 初始化主板外围I/O */
  InitBoard( OB_COLD );

  /* 初始化硬件抽象层驱动 */
  HalDriverInit();

  /* 初始化系统NV非易失性存储 */
  osal_nv_init( NULL );

  /* 初始化基础NV项 */
  zgInit();

  /* 初始化MAC */
  ZMacInit();

  /* 确定扩展地址 */
  zmain_ext_addr();

  /* 初始化应用框架 */
#ifndef NONWK
  afInit(); // AF应用框架不是系统的任务,因此调用它的初始化程序
#endif

  /* 初始化操作系统 */
  osal_init_system();

  /* 允许中断 */
  osal_int_enable( INTS_ALL );

  /* 最终板级初始化 */
  InitBoard( OB_READY );

  /* 显示该设备信息 */
  zmain_dev_info();

  /* 如果定义了LCD,则在LCD上显示设备信息 */
#ifdef LCD_SUPPORTED
  zmain_lcd_init();
#endif

#ifdef WDT_IN_PM1
  /* 如果看门狗被使用,此处使能 */
  WatchDogEnable( WDTIMX );
#endif
  //printf("osal_start_system");
  osal_start_system(); // 进入系统调度,无返回

  return ( 0 );
}



二、只关注这个,然后双击它,再按F12进入函数里。
[C] 纯文本查看 复制代码
/* 初始化操作系统 */
osal_init_system();



三、这里就是系统初始化,我们要看的是,我们的任务如何建立!双击osalInitTasks(),再按F12进入函数里。





四、看到了吗?串口通信被分配任务了。SerialApp_Init( taskID );这个可以是我们自己写的任务。双击,再按F12进入函数里。




五、在这里我们可以自己定义自己的东东了,初始化!
[C] 纯文本查看 复制代码
/*********************************************************************
* 函数名称:SerialApp_Init
* 功    能:SerialApp的初始化函数。
* 入口参数:task_id  由OSAL分配的任务ID。该ID被用来发送消息和设定定时
*           器。
* 出口参数:无
* 返 回 值:无
********************************************************************/
void SerialApp_Init( uint8 task_id )
{
  halUARTCfg_t uartConfig;     // 定义串口配置结构体变量

  SerialApp_MsgID = 0x00;      // 初始化传输序号
  SerialApp_SeqRx = 0xC3;      // 初始化接收序号为十进制195
  SerialApp_TaskID = task_id;  // 获取应用任务ID

  /* 初始化发送信息目的地址 */
  SerialApp_DstAddr.endPoint = 0;
  SerialApp_DstAddr.addr.shortAddr = 0;
  SerialApp_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent;
  
  /* 初始化响应信息的目的地址 */
  SerialApp_RspDstAddr.endPoint = 0;
  SerialApp_RspDstAddr.addr.shortAddr = 0;
  SerialApp_RspDstAddr.addrMode = (afAddrMode_t)AddrNotPresent;

  /* 注册端点描述符 */
  afRegister( (endPointDesc_t *)&SerialApp_epDesc );

  /* 注册按键事件,将所有按键事件发送给本应用任务SerialApp_TaskID */
  RegisterForKeys( task_id );

  /* 串口初始化 */
  uartConfig.configured           = TRUE;              
  uartConfig.baudRate             = SERIAL_APP_BAUD;   // 波特率
  uartConfig.flowControl          = TRUE;              // 流控使能
  uartConfig.flowControlThreshold = SERIAL_APP_THRESH; // 流控阈值
  uartConfig.rx.maxBufSize        = SERIAL_APP_RX_MAX; // 最大接收量
  uartConfig.tx.maxBufSize        = SERIAL_APP_TX_MAX; // 最大发送量
  uartConfig.idleTimeout          = SERIAL_APP_IDLE;   // 空闲时间
  uartConfig.intEnable            = TRUE;              // 中断使能
/* 若使能了环回测试功能 */
#if SERIAL_APP_LOOPBACK
  uartConfig.callBackFunc         = rxCB_Loopback;     // 回调函数
/* 若未使能环回测试功能 */
#else
  uartConfig.callBackFunc         = rxCB;              // 回调函数
#endif
  HalUARTOpen (SERIAL_APP_PORT, &uartConfig);          // 打开串口

   
  /* 若包含了LCD_SUPPORTED编译选项,则在LCD上进行相应的显示 */
#if defined ( LCD_SUPPORTED )
#if defined ( ZIGBEEPRO )
  HalLcdWriteString( "SerialApp(ZigBeePRO)", HAL_LCD_LINE_2 );
#else
  HalLcdWriteString( "SerialApp(ZigBee2007)", HAL_LCD_LINE_2 );
#endif
#endif

  /* ZDO信息注册 */
  /* 注册ZDO的簇End_Device_Bind_rsp,将收到的End_Device_Bind_rsp事件
     发送给本应用任务SerialApp_TaskID
   */   
  ZDO_RegisterForZDOMsg( SerialApp_TaskID, End_Device_Bind_rsp );
  
  /* ZDO信息注册 */
  /* 注册ZDO的簇Match_Desc_rsp,将收到的Match_Desc_rsp事件发送给本应
     用任务SerialApp_TaskID
   */  
  ZDO_RegisterForZDOMsg( SerialApp_TaskID, Match_Desc_rsp );
}






六、zigbee系统有事件(消息),你可以认为是有动作,就会激活这里。
[C] 纯文本查看 复制代码
/*********************************************************************
* 函数名称:SerialApp_ProcessEvent
* 功    能:SerialApp的任务事件处理函数。
* 入口参数:task_id  由OSAL分配的任务ID。
*           events   准备处理的事件。该变量是一个位图,可包含多个事件。
* 出口参数:无
* 返 回 值:尚未处理的事件。
********************************************************************/
UINT16 SerialApp_ProcessEvent( uint8 task_id, UINT16 events )
{
  /* 系统消息事件 */
  if ( events & SYS_EVENT_MSG )
  {
    afIncomingMSGPacket_t *MSGpkt;

    while ( (MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive(
                                                          SerialApp_TaskID )))
    {
      switch ( MSGpkt->hdr.event )
      {
        /* ZDO信息输入事件 */
        case ZDO_CB_MSG:
          // 调用ZDO信息输入事件处理函数
          SerialApp_ProcessZDOMsgs( (zdoIncomingMsg_t *)MSGpkt );
          break;
        
        /* 按键事件 */  
        case KEY_CHANGE:
          HalUARTWrite(0,"KEY_CHANGE",4);
          // 调用按键事件处理函数
          SerialApp_HandleKeys( ((keyChange_t *)MSGpkt)->state,
                                ((keyChange_t *)MSGpkt)->keys );
          break;
        
        /* AF输入信息事件 */
        case AF_INCOMING_MSG_CMD:
          // 调用输入信息事件处理函数
          SerialApp_ProcessMSGCmd( MSGpkt );
          break;
  
        default:
          break;
      }

      osal_msg_deallocate( (uint8 *)MSGpkt );  // 释放存储器
    }

    return ( events ^ SYS_EVENT_MSG );  // 返回未处理的事件
  }

  /* 发送数据事件 */
  if ( events & SERIALAPP_MSG_SEND_EVT )
  {
    SerialApp_SendData( otaBuf, otaLen );  // 调用发送数据处理函数

    return ( events ^ SERIALAPP_MSG_SEND_EVT );
  }

  /* 发送数据重传事件 */
  if ( events & SERIALAPP_MSG_RTRY_EVT )
  {
    /* 若重传计数不为0 */
    if ( --rtryCnt )
    {
      /* 发送OTA信息(需要重传的发送数据) */
      AF_DataRequest( &SerialApp_DstAddr,
                      (endPointDesc_t *)&SerialApp_epDesc,
                       SERIALAPP_CLUSTERID1, otaLen, otaBuf,
                      &SerialApp_MsgID, 0, AF_DEFAULT_RADIUS );
      
      /* 在指定时间SERIALAPP_MSG_RTRY_TIMEOUT到时后触发发送数据重传事件 */
      osal_start_timerEx( SerialApp_TaskID, SERIALAPP_MSG_RTRY_EVT,
                                            SERIALAPP_MSG_RTRY_TIMEOUT );
    }
    else
    {
      FREE_OTABUF();  // 处理缓冲区
    }

    return ( events ^ SERIALAPP_MSG_RTRY_EVT );
  }

  /* 响应信息重传事件 */
  if ( events & SERIALAPP_RSP_RTRY_EVT )
  {
    /* 发送OTA信息(需要重传的响应信息)*/
    afStatus_t stat = AF_DataRequest( &SerialApp_RspDstAddr,
                                      (endPointDesc_t *)&SerialApp_epDesc,
                                       SERIALAPP_CLUSTERID2,
                                       SERIAL_APP_RSP_CNT, rspBuf,
                                      &SerialApp_MsgID, 0, AF_DEFAULT_RADIUS );

    /* 若发送OTA信息(需要重传的响应信息)不成功*/
    if ( stat != afStatus_SUCCESS )
    {
      /* 在指定时间SERIALAPP_RSP_RTRY_TIMEOUT到时后触发响应信息重传事件 */
      osal_start_timerEx( SerialApp_TaskID, SERIALAPP_RSP_RTRY_EVT,
                                            SERIALAPP_RSP_RTRY_TIMEOUT );
    }

    return ( events ^ SERIALAPP_RSP_RTRY_EVT );
  }

  /* 若使能了环回测试 */
#if SERIAL_APP_LOOPBACK
  /* 串口重发送事件 */
  if ( events & SERIALAPP_TX_RTRY_EVT )
  { /* 若接收缓冲区中有数据 */
    if ( rxLen )
    { /* 若将接收缓冲区中的数据写入到串口不成功 */
      if ( !HalUARTWrite( SERIAL_APP_PORT, rxBuf, rxLen ) )
      { /* 在指定时间SERIALAPP_TX_RTRY_TIMEOUT后触发串口重发送事件 */
        osal_start_timerEx( SerialApp_TaskID, SERIALAPP_TX_RTRY_EVT,
                                              SERIALAPP_TX_RTRY_TIMEOUT );
      }
      /* 若将接收缓冲区中的数据写入到串口成功 */
      else
      {
        rxLen = 0;  // 清零接收缓冲区中数据长度变量
      }
    }

    return ( events ^ SERIALAPP_TX_RTRY_EVT );
  }
#endif

  /* 丢弃未知事件 */
  return ( 0 );
}





七、实例,我们在电脑用串口如何发送信息给它,它在哪里收到!
[C] 纯文本查看 复制代码
/*********************************************************************
* 函数名称:rxCB_Loopback
* 功    能:串口接收回调函数(环回测试时使用)
* 入口参数:port   串口号
*           event  串口事件
* 出口参数:无
* 返 回 值:无
********************************************************************/
static void rxCB_Loopback( uint8 port, uint8 event )
{
  /* 若接收缓冲区中有数据 */
  if ( rxLen )
  {
    /* 若将接收缓冲区中的数据写入到串口不成功 */
    if ( !HalUARTWrite( SERIAL_APP_PORT, rxBuf, rxLen ) )
    {
      /* 在指定时间SERIALAPP_TX_RTRY_TIMEOUT后触发串口重发送事件 */
      osal_start_timerEx( SerialApp_TaskID, SERIALAPP_TX_RTRY_EVT,
                                            SERIALAPP_TX_RTRY_TIMEOUT );
      return;  // 返回
    }
    /* 若将接收缓冲区中的数据写入到串口成功 */
    else
    { /* 停止串口重发送事件 */
      osal_stop_timerEx( SerialApp_TaskID, SERIALAPP_TX_RTRY_EVT );
    }
  }

  /* 若从串口读取数据不成功(读出的数据长度为0) */
  if ( !(rxLen = HalUARTRead( port, rxBuf, SERIAL_APP_RX_CNT )) )
  {
    return;  // 返回
  }

  /* 若将已从串口读取的数据回写到串口成功 */
  if ( HalUARTWrite( SERIAL_APP_PORT, rxBuf, rxLen ) )
  {
    rxLen = 0;  // 清零接收缓冲区中数据长度变量
  }
  /* 若将已从串口读取的数据回写到串口不成功 */
  else
  { /* 在指定时间SERIALAPP_TX_RTRY_TIMEOUT后触发串口重发送事件 */
    osal_start_timerEx( SerialApp_TaskID, SERIALAPP_TX_RTRY_EVT,
                                          SERIALAPP_TX_RTRY_TIMEOUT );
  }



这个就是我们的串口数据了rxBuf,接到后判断是什么字符,然后做相应的处理吧(操控你的世界吧),亲!

8、好了,第一篇zigbee就先写到这里。
让住,很多东西我们可以不用去理解(除非你有能力),就在SerialApp.c写上自己要实现的代码就OK了。
难吗?难吗?难吗?不啊小菜……


当然现在还没有发正式教程,没有IAR 8.10软件下载没有源代码(你没有硬件也没有),所以等期我们的《Arduino开源智能家居》吧。亲……


《Arduino开源智能家居DIY教程系列》
Arduino开源智能家居《花絮1》zigbee小底板DIY成功
Arduino开源智能家居《认识Zigbee》zigbee功能和自组网介绍
Arduino开源智能家居《zigbee开发板》手机/按键点亮LED
Arduino开源智能家居01《网关》升级版网关正式教程(zigbee)
Arduino开源智能家居02《温湿传感器》什么样温湿度才适居
Arduino开源智能家居03《开发板套件》学习zigbee家居-性价比高
Arduino开源智能家居04《插座开关》手机控制:网扇、空调...
Arduino开源智能家居05《红外线》手机红外线控制电器


《百元智能家居DIY教程系列》
《智能家居网关》DIY制作图文教程01-百元智能家居系列
《智能温湿度》DIY制作图文教程02-百元智能家居系列
《智能插座》DIY制作图文教程03-百元智能家居系列
《智能电灯开关》DIY制作图文教程04-百元智能家居系列
《手机红外线》DIY制作图文教程05-百元智能家居系列
关注@智能创客  微信:znck007(打造DIY创客平台)






作者: 475517941    时间: 2014-6-8 23:44
不明觉厉啊
作者: znck007    时间: 2014-6-9 00:40
475517941 发表于 2014-6-8 23:44
不明觉厉啊

哈哈,大家一起追求不明觉历吧……
作者: wswwswwsw987    时间: 2014-6-9 08:14
GOOD~~~~~~~~~~~~~~~~~~~
作者: eveloves    时间: 2014-6-9 08:52
学习 一定要学习,这个不能不学
作者: tomko    时间: 2014-6-9 09:34
学习学习!!!!!!!!!!!!
作者: znck007    时间: 2014-6-9 20:05
wswwswwsw987 发表于 2014-6-9 08:14
GOOD~~~~~~~~~~~~~~~~~~~

哈哈哈……
作者: znck007    时间: 2014-6-9 20:05
eveloves 发表于 2014-6-9 08:52
学习 一定要学习,这个不能不学

嗯嗯嗯,加油吧……
作者: znck007    时间: 2014-6-9 20:05
tomko 发表于 2014-6-9 09:34
学习学习!!!!!!!!!!!!


作者: tungcheuk2    时间: 2014-6-9 23:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: znck007    时间: 2014-6-10 11:11
tungcheuk2 发表于 2014-6-9 23:30
CC...
cc。。。。

BB...
bb。。。。
作者: wuzhuoyi    时间: 2014-6-10 20:14
学习一下
作者: -Echo    时间: 2014-6-10 22:25
涨姿势了,膜拜啊,大神。。
作者: znck007    时间: 2014-6-12 11:36
-Echo 发表于 2014-6-10 22:25
涨姿势了,膜拜啊,大神。。

哈哈,一起学习吧。
作者: general    时间: 2014-6-13 01:42
源码硬件什么时候上传

作者: znck007    时间: 2014-6-13 09:31
general 发表于 2014-6-13 01:42
源码硬件什么时候上传

还在做中,刚刚到货……准备出教程。
作者: 智能爱好    时间: 2014-6-13 14:03
热切期待

作者: znck007    时间: 2014-6-14 11:56
智能爱好 发表于 2014-6-13 14:03
热切期待

嗯嗯。
作者: strednly    时间: 2014-6-16 09:24
问下一开始的实验模块在哪里买的,看到网上价格高低起伏啊,不知道哪款合适啊。。。。。
作者: wuchang1123    时间: 2014-6-16 13:21
谢谢分享
作者: ahlong    时间: 2014-6-16 15:31
好吧,让我等待成熟的鸭子,哈哈, 老大加油!
作者: clanaid    时间: 2014-6-16 23:29
话说NRF24l01在这里起什么作用了
作者: harding    时间: 2014-6-17 09:56
跟楼主学习!原来有玩汇编,不知学C容易否?!
作者: Stephen    时间: 2014-6-17 13:40
太棒了,支持一下!!!!!!!!!
作者: wewpwt    时间: 2014-6-17 16:18
Zigbee是目前来说,全球智能家居用最多的协议之一(国际上是有统一协议规范的,但要按协议写代码然后还要认证)。
作者: znck007    时间: 2014-6-17 20:02
wewpwt 发表于 2014-6-17 16:18
Zigbee是目前来说,全球智能家居用最多的协议之一(国际上是有统一协议规范的,但要按协议写代码然后还要认 ...

嗯嗯。
作者: znck007    时间: 2014-6-17 20:02
harding 发表于 2014-6-17 09:56
跟楼主学习!原来有玩汇编,不知学C容易否?!

语言是相通的,看你的悟性啦。
作者: znck007    时间: 2014-6-17 20:04
clanaid 发表于 2014-6-16 23:29
话说NRF24l01在这里起什么作用了

兼容以前的产品吧,哈哈……
作者: clanaid    时间: 2014-6-17 22:00
znck007 发表于 2014-6-17 20:04
兼容以前的产品吧,哈哈……

以前的没改成ZigBee
作者: znck007    时间: 2014-6-17 22:10
clanaid 发表于 2014-6-17 22:00
以前的没改成ZigBee

是呀。
作者: dianl    时间: 2014-6-18 06:23
好好学习,天天向上

作者: manyi010    时间: 2014-6-18 14:33
学习一下,膜拜大神啊……
作者: clanaid    时间: 2014-6-24 09:50
怎么那些ZigBee学习笔记不见了
作者: znck007    时间: 2014-6-25 12:49
clanaid 发表于 2014-6-24 09:50
怎么那些ZigBee学习笔记不见了

哦,怎么会不见?
作者: clanaid    时间: 2014-6-25 20:16
znck007 发表于 2014-6-25 12:49
哦,怎么会不见?

找到了,之前看错了
作者: edison    时间: 2014-6-27 23:03
看隐藏............................
作者: youlin    时间: 2014-6-27 23:59
学   习  了
作者: xznuaa    时间: 2014-6-29 22:38
厉害厉害
作者: hp998    时间: 2014-7-2 21:11
详细的了解一下
作者: xznuaa    时间: 2014-7-5 13:42
学习永无止境
作者: znck007    时间: 2014-7-5 19:54
xznuaa 发表于 2014-7-5 13:42
学习永无止境


作者: simon123    时间: 2014-7-6 21:25
继续学习关注
作者: zydudu    时间: 2014-7-7 11:00
Arduino开源智能家居《认识Zigbee》zigbee功能和自组网介绍
作者: xfliujun    时间: 2014-7-9 07:32
Arduino开源智能家居《认识Zigbee》zigbee功能和自组网介绍
作者: walyb    时间: 2014-7-9 22:34
xiexielouzhufengxiang
作者: flying_1125    时间: 2014-7-14 20:21
学习一下
作者: znck007    时间: 2014-7-14 20:23
flying_1125 发表于 2014-7-14 20:21
学习一下

好的好的。
作者: benpao180    时间: 2014-7-16 15:34
Zigbee确实不错
作者: znck007    时间: 2014-7-16 18:43
benpao180 发表于 2014-7-16 15:34
Zigbee确实不错

嗯嗯。
作者: 人生若只如初见    时间: 2014-7-28 10:37
感谢分享~~~~~
作者: hhhloveshe    时间: 2014-7-30 16:54
顶起,加油。有好东西要接着上啊。
作者: hhhloveshe    时间: 2014-7-31 09:45
过来学习来了
作者: platgs    时间: 2014-8-7 21:09
ddddddddd
作者: platgs    时间: 2014-8-7 21:10
ddddddddd
作者: jhw218    时间: 2014-8-8 14:26
多多学习,一天比一天有长进
作者: ping2000    时间: 2014-8-10 20:05
支持!支持!支持!支持!
作者: vanv4860    时间: 2014-8-24 20:19
健康漆,好生活
啄木鸟硅藻泥加入安全:
产品市场保护体系1完美的品质,生活的高品质,无论是家居装修或酒店或其他地方,啄木鸟硅藻泥可以很好的满足需求,所以市场火爆,前景无限。热点消费市场,商机无限的财富,啄木鸟硅藻泥加入该项目,以
,创造财富奇迹!2的行业颠覆式创新的盈利模式(超低风险的盈利模式)
要随身携带出的
统一市场4多样的营销策略3成熟的市场模式4国网
啄木鸟漆加盟优势操作:
技术开发
1强大的20存费
3派人员协助市场管理,开发市场,如果你有兴趣,请与我们联系。!“
4提供培训
5加入了啄木鸟漆,装修,补贴,
商业活动  优秀的品牌,企业实力,啄木鸟生态硅藻泥带来更好的墙面装饰产品也成为企业家投资英寸加入该项目,该公司是您值得信赖的加盟支持,全功率您加盟商,让你的头脑参加的和平,轻松致富
加盟项目选择,啄木鸟漆优势,并保护您,还在等什么加入我们的经销商 免费服务热线:400-677-9666

中国涂料十大品牌网    涂料加盟代理   
硅藻泥厂家,商家,啄木鸟生态硅藻泥的加入,一站式服务,免费开店    硅藻泥厂家,商家,啄木鸟生态硅藻泥的加入,一站式服务,免费开店    硅藻泥厂家,商家,啄木鸟生态硅藻泥的加入,一站式服务,免费开店    硅藻泥厂家,商家,啄木鸟生态硅藻泥的加入,一站式服务,免费开店    硅藻泥厂家,商家,啄木鸟生态硅藻泥的加入,一站式服务,免费开店    硅藻泥厂家,商家,啄木鸟生态硅藻泥的加入,一站式服务,免费开店   
作者: ymmqg    时间: 2014-8-25 04:41
女神图库欢迎大家光临 www.nvshentuku.com  绿色 健康  妩媚  更多美女等你来选
作者: 靓装冥神vkx    时间: 2014-8-30 16:04
不错,支持下!












求购法桐树 www.zgcqmm.com  石家庄法国梧桐,  石家庄南洼法国梧桐,  中国常青园林绿化有限公司 绿化工程请联系中国常青园林
作者: zctianchuan    时间: 2014-8-31 09:41

           提到全自动油炸流水线大家一定能够联想到我们经常去肯德基去吃的那些油炸食品,没错,肯德基里边的一些油炸食品一般都是有一套全自动油炸流水线的,这条流水线既方便了广大肯德基员工,提高工作效率,同时给广大消费者带来更快的服务。


          这流水线机器是一套设备体系,制作出一种食品时并不是我们想象的那种只需要经过一道工序,他是需要经过好几套工序才能够完成的,所以,正是这种设备的出现,弥补这传统油炸食品的单一性,让出来的油炸食品更好吃。


        全自动油炸流水线的出现丰富了我们的生活,让我们的生活变的多姿多彩,不在那么单调无味,在某种程度上提升了人们的生活品味!让我们的生活充满乐趣,是我们对生活回味无穷,其乐融融!


        以上文章由山东天川机械制造股份有限公司(www.sdtianchuan.com)为您呈现!


作者: czy    时间: 2014-8-31 22:06
学习中,zigbee不知道有成套的组件没
作者: pcps6470    时间: 2014-9-2 08:24
1,碳酸洗面奶。主要是在泡沫碳酸盐的形式。因为细碳酸盐,小分子,所以更完善的清洗的泡沫。
2,碳酸掩模。面部皮肤形成一个封闭的环境中,以碳酸泡沫细腻,能增加肌肤的氧气透过率,使皮肤更具活力。
3,酸雨。在淋浴管联合,喷了水的碳酸盐富含洗澡,清洁头皮和身体。
傅源碳酸面膜,让你轻松享受最新技术的碳酸盐的美是最真实的!

[]微信:ws19870705
[联系电话]:18663708855
[网址]:www.wsmeifu.com


芙源碳酸面膜    芙源碳酸面膜   
济南网站建设分享搜索引擎营销的10大要点    济南网站建设分享搜索引擎营销的10大要点    济南网站建设分享搜索引擎营销的10大要点    济南网站建设分享搜索引擎营销的10大要点    济南网站建设分享搜索引擎营销的10大要点    济南网站建设分享搜索引擎营销的10大要点    济南网站建设分享搜索引擎营销的10大要点    济南网站建设分享搜索引擎营销的10大要点   
作者: 7PauXm    时间: 2014-9-3 10:41
不错,看看。












最便宜月付虚拟空间:www.xincheng.hk
作者: ovlm0506    时间: 2014-9-4 11:00


       


188de店长联盟

        很多新注入淘宝的卖家都有着共同的烦恼,店铺虽然每天都正常营业,但是订货的人却寥寥无几,即使把商品售价调得很低.其实这些问题是正常的.


        即日起,你无须为你的网店销量不好而烦躁,你无须担忧你网店信誉低而丧失自信;其实商品价格的高与低并不是吸引客户购买的关键.经“您网购最在意的问题是```?”的调查问卷表明,25%的人选择质量,20%的人选择价格,55%的人选择网店的信誉.由此可见,大多数在淘宝上购物的买家都会选择信用度高的卖家.


        各卖家现在可“对症下药”,把自己网店的信用度提高,便可使网店迅速红火.


        提高信用度,咱们就得刷信誉.你不必担心刷砖会导致店面被淘宝查封,10家皇冠店铺有9家是靠刷信誉刷上来的.信誉刷上来之后,浏览量劲爆增长,你的发货量同时日益增多.


        需要注意的是,现在刷信誉也有很多虚假的网站,选择刷信誉网也须谨慎,为刷信誉,被坑骗的例子也时有发生,注意提防.


        我认识一可靠的刷信誉平台 188de店长联盟  主站网址 www.188de.com. 免费刷信誉,刷商品之类的安全服务,想什么时候刷就什么时候刷,你可以试试百利网,把你的店铺办得红火. 你开10家网店销量都不成问题.


        亘古不变的话语,只要你充满自信,没有什么事情是办不到的,只要你肯努力,下一个成功的人就是你!做出一个决定很容易,坚持你的决定便有点困难,只要能坚持,成功已经近在咫尺.


        我在 188de店长联盟看到的刷砖注意事项:


        互刷信誉骗子揭示手法:


        1. 提前让你确认,等你确认后,他便消失.


        2. 各种手段诱骗你确认;例如伪造一封淘宝假的确认信给你.


        3. 威胁你给他付款,否则给你差评,在旺旺中一直给你提刷信誉,一般人都怕店铺被封而妥协.


        4. 另外实物被立即好评等等的问题,损失是弥补不了的.


       



        平台任务模式首先冻结资金,待双方交易完成,才转款.


          188de店长联盟主站网址 www.188de.com 能使你的网店迅速红火起来.

188de刷钻平台 188de店长联盟

http://www.188de.com/user_r_%E5%9D%A6%E5%85%8B%E5%A4%A7%E7%89%9B

通过我的推广链接注册 后可以联系到我 谢谢支持!!!!

主站网址 www.188de.com


作者: csg    时间: 2014-9-5 00:07
据说和WIFI有干扰
作者: zcsanxiongdi    时间: 2014-9-6 20:19
在这个行业里,这篇文章确实是实用,而不是这个行业的人,也可以浏览,纯粹为更多的知识。


中国式教育你分析过吗?    中国式教育你分析过吗?   
作者: yspu6333    时间: 2014-9-8 05:43

        我是朱熹论金的学生,特意帮我老师做下推广,如冒犯了,请见谅


        朱熹论金博客:http://blog.cnfol.com/aaa883883


       



作者: 6233103    时间: 2014-9-13 08:16
来句辣椒了
作者: pxdy258    时间: 2014-10-4 23:01
必须回复,好好学习
作者: xu2006    时间: 2014-10-5 16:27
学习下哦!!!
作者: thx408    时间: 2014-10-8 09:21
aaaaaaassssddd
作者: zteyes    时间: 2014-10-16 21:09
。。。。。。。
作者: wqlwang    时间: 2014-11-7 10:05
学习一下!
作者: bluebin2008    时间: 2014-11-15 11:18
跟上学习的步伐,有实例好理解!
作者: znck007    时间: 2014-11-15 13:33
bluebin2008 发表于 2014-11-15 11:18
跟上学习的步伐,有实例好理解!

嗯嗯,是呀。
作者: johanchong    时间: 2014-11-28 14:05

不错,有学习了新东西
作者: zz281519177    时间: 2014-12-12 13:34
1111wwwwwwwwwwwww
作者: whoiswho    时间: 2014-12-29 16:20
像楼主学习了

作者: gezhhua    时间: 2015-1-18 15:54
学习一下
作者: oqys    时间: 2015-1-31 10:14
学习了,谢谢分享!!!!
作者: chenchunbo    时间: 2015-1-31 10:49
好好学习天天向上。
作者: wolfandy    时间: 2015-3-6 14:56
是什么非要回复才能看
作者: daifhfh    时间: 2015-3-8 22:43
感谢分享~~~
作者: 梦里寻梦    时间: 2015-3-13 17:52
打算做一个
作者: ryan    时间: 2015-3-16 19:19
非常好的教程

作者: 凤凰de星空    时间: 2015-4-4 18:29
xuexiyixia
作者: ljl790    时间: 2015-4-11 18:44
学习学习!!!!!!!!!!!!
作者: cdq000    时间: 2015-4-16 09:21
想看看,学习一下ZIGBEE
作者: cheatx    时间: 2015-4-28 07:04
最近正在学这个
作者: a2011004246    时间: 2015-5-10 10:29
学习一下  谢谢
作者: Jone    时间: 2015-5-10 19:49
支持楼主!!
作者: tvzc    时间: 2015-5-22 19:55
zigbee功能和自组网
作者: chenxi0599    时间: 2015-6-5 09:27
学习学习!!!!!!!!!!!!
作者: qsaz123    时间: 2015-7-11 02:26
为了看全呀,,,,怎么不弄视频呢?
作者: CodeRen    时间: 2015-7-22 18:09
我想问多有的制作套件可以全套购买吗

作者: CodeRen    时间: 2015-7-22 18:38
代码看不懂啊~一是里面调用的函数和变量不清楚,再有完全是小白,没有基础。程序没有流程图,没有强大的理支持,逻辑上根本不能理解

作者: zflly    时间: 2015-7-23 00:25
为后天生日放大或过热文化馆绯闻女加菲的
作者: sban    时间: 2015-7-25 09:42
ww-----------------
作者: a1023883086    时间: 2015-7-31 14:50
谢谢分享

作者: yleer3407    时间: 2015-8-15 12:02
HJGJKGJKHGJHGJHTJGHJH




欢迎光临 智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想! (http://luntan.znck007.com/) Powered by Discuz! X3.2