【平头哥RVB2601创意应用开发】--第5节 RVB2601连接阿里云平台
[复制链接]
间隔了一个月,正好五一,回来又重新拾起了RVB2601.这次主要是参考了 sipower 的帖子,快速实现了连接阿里云。
1、第一步是注册阿里云,创建第一个产品
2、创建功能类型,属性类型。数据上传的时候也需要按照这个顺序来。以及标识符一致。
3、然后就可以参考 https://occ.t-head.cn/community/post/detail?id=4031864498838708224 帖子,代码我就不贴了,将基础的代码设置完成。注意那五个关键元素,以下几个界面可以查到相应证书。新手不太容易找到。
4、根据我前面的帖子,是通过IO模拟串口的方式,去读取一个传感器模块,将四种传感器参数读取回来。
在我的程序里面是,新建了一个任务,单独操作传感器读取的功能。这样跟网络部分代码就不会冲突了。IO模拟串口的代码,可以参考前面发的几个文档。
void cycleSendPara(void)
{
char buf[100];
unsigned char crc = 0,i;
unsigned int dtemp = 0;
vm_UART_SendBuf(SEND_BUF,8);
LOGD(TAG, "Send data ok!");
sprintf((char *)buf,"%02x %02x %02x %02x %02x %02x %02x %02x\r\n",SEND_BUF[0],SEND_BUF[1],SEND_BUF[2],SEND_BUF[3],SEND_BUF[4],SEND_BUF[5],SEND_BUF[6],SEND_BUF[7]);
LOGD(TAG, (char *)buf);
aos_msleep(1000);
if(IoTurnUartPara.vm_uart_rxover_flag)
{
IoTurnUartPara.vm_uart_rxover_flag = 0;
if((IoTurnUartPara.vm_UART_RX_BUF[0] == 0xCE) & (IoTurnUartPara.vm_UART_RX_BUF[1] == 0x00))
{
crc = 0;
for(i=0;i<vm_UART_RX_BUF_L-1;i++)
{
crc = crc + IoTurnUartPara.vm_UART_RX_BUF;
}
if(crc == IoTurnUartPara.vm_UART_RX_BUF[vm_UART_RX_BUF_L-1])
{
dtemp = (IoTurnUartPara.vm_UART_RX_BUF[4]<<8) | IoTurnUartPara.vm_UART_RX_BUF[3];
if(dtemp < 500) dtemp = 500;
Temp = (dtemp-500)/10;
Humi = IoTurnUartPara.vm_UART_RX_BUF[5];
Pm25 = (IoTurnUartPara.vm_UART_RX_BUF[7]<<8) | IoTurnUartPara.vm_UART_RX_BUF[6];
Co2 = (IoTurnUartPara.vm_UART_RX_BUF[9]<<8) | IoTurnUartPara.vm_UART_RX_BUF[8];
exchangeDtoS(disbuf,Pm25);
dis_Oled(disbuf,5,0,8,0);
exchangeDtoS(disbuf,Co2);
dis_Oled(disbuf,5,1,8,0);
exchangeDtoS(disbuf,Temp);
dis_Oled(disbuf,5,2,8,0);
exchangeDtoS(disbuf,Humi);
dis_Oled(disbuf,5,3,8,0);
LOGD(TAG, "sensor data rece OK");
sprintf((char *)buf,"%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\r\n",IoTurnUartPara.vm_UART_RX_BUF[0],IoTurnUartPara.vm_UART_RX_BUF[1],IoTurnUartPara.vm_UART_RX_BUF[2],IoTurnUartPara.vm_UART_RX_BUF[3],IoTurnUartPara.vm_UART_RX_BUF[4],IoTurnUartPara.vm_UART_RX_BUF[5],IoTurnUartPara.vm_UART_RX_BUF[6],IoTurnUartPara.vm_UART_RX_BUF[7],IoTurnUartPara.vm_UART_RX_BUF[8],IoTurnUartPara.vm_UART_RX_BUF[9],IoTurnUartPara.vm_UART_RX_BUF[10],IoTurnUartPara.vm_UART_RX_BUF[11],IoTurnUartPara.vm_UART_RX_BUF[12]);
LOGD(TAG, (char *)buf);
}
else
{
LOGD(TAG, "sensor data rece crc err!!!");
}
memset(IoTurnUartPara.vm_UART_RX_BUF,0,vm_UART_RX_BUF_L);
}
}
aos_msleep(2000);
}
5、以上工作完成以后,烧录程序,就可以实现数据的上传了,并且不断更新传感器数据了。
6、在此基础之上,又看了一下WEB应用,创建了一个WEB应用,组件都是拖拽的方式,非常简单。简单弄了一下,不在太在意界面哈。
以上这几步就可以实现网页端数据的刷新了。
总结一下:自从上次玩这个主板到现在,间隔了一个月,确实很抱歉,真是没有想到这段时间事情这么多,也很无奈。正好借这个五一假期,才有时间再次拾起来。后面还需要再弄一下移动端应用。不过这些只是原理上的实现,如果真是要做产品,考虑的东西会很多,比这个会难很多。
如果有人需要源码,可以留下邮箱。
源码:
RVB2601-Design.rar
(29.03 MB, 下载次数: 2)
|