Arduino开源智能家居01《网关》升级版网关正式教程(zigbee) 电路方案
欢迎下载研华科技主题白皮书: 【AIoT】研华AIoT边缘智能及网关解决方案 [摘要] 物联网、大数据、云服务与人工智能,是产业数位转型的关键科技趋势,透过创新应用,将替各产业带来巨大商机与全新 局面。研华以坚强的硬件实力为基础,开发出多元软件服务。 https://www.eefocus.com/resource/advantech/index.php?act=detail&item=1496 这篇开始,我们就真正做《网关》升级版教程了,采用arduino+zigbee哦。 arduino简单易学,zigbee自组网(如果不懂c语言,直接用就好,我们已经刷好自组网代码)! 这次我们的教程是通过以下配件实现《网关》功能,并在手机端点击按钮,使zigbee模块上的灯闪亮(实现是发送真正的命令了{ckxxxxxxxxx}的格式)! 通过不同的格式命令就可以操作开、关、接收、发送数据!之后《温湿传感器》《zigbee插座》等就可以直接连上了! 上面就是arduino开源网关的配件。 1、SMARTRF04EB(ZIGBEE下载器) 2、CP2102(arduino下载器) 3、电源供电 4、arduino板(含w5100、zigbee插槽、SD卡座) 5、zigbee开发板 (如果只想学zigbee只需要两块开发板和zigbee模块,自组网学习哦) 6、zigbee模块 实现自己的arduino开源网关吧(自己有arduino和w5100是可以代替我们的arduino板的)。第一部份:arduino板刷上代码。 一、安装CP2102驱动(USB驱动) https://pan.baidu.com/s/1o6iDLcm(下载后直接安装或发现有新硬件就更新驱动)。 二、将CP2102连上arduino板底下的插槽的一定要一一对应哦。DTR->DTR GND->GND TX->RXI RX->TXO VDD3.3->VCC 三、刷arduino代码 大家可以直接在这里下载源代码: https://pan.baidu.com/s/1i386zPV(包含arduino软件和所有的库) 下面我们就贴上代码(都有注释哦) #include #include #include #include #include //请到m.znck007.com申请登陆-》家中环境-》网关,里可以看到! #define APIKEY "xxxxxxxxxxxxxxxx" //设置apikey uint16_t sid=001;//设置sid(设备号) //NRF24l01发送接收节点 const uint16_t this_node = 0; const uint16_t other_node = 1; //NRF24l01收发数据 struct payload_t { uint32_t ms; uint32_t data; char sendchar[20]; }; //NRF24l01脚针设置 iBoardRF24 radioSend(3,8,5,6,7,2); iBoardRF24Network networkSend(radioSend); bool ispayload=false;//NRF24l01收发判断 uint16_t sendChannel=1;//NRF24l01发送频道 uint32_t sendCount=0;//NRF24l01发送次数 char incomingData[20]={0};//NRF24l01接收到的字符(其它设置发过来) //设置MAC地址,如果有二个请改为不同(随意) static byte mymac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; EthernetClient client;//声明网关类 char server[] = "api.znck007.com";//声明API网址 //char urlBuf[] = "/index.php"; static long timer;//用于规定时间间隔 unsigned long last_http;//记录http时间,用于http超时判断,目前20秒无响应则重新GET。 bool ishttpget=false;//标示http是否已经结束 bool isUpdate=false;//成功则更新服务器数据为正常 char updateData[20]={0};//更新的字符(服务器通过字符分析指定某个设备) //串口通信处理(主要用于zigbee通信
用户评论