多点水温采集显示系统设计(ZigBee)
一共用到4的ZigBee节点,一个为协调器,三个终端。将三个终端的温度发送到协调器上显示,但是ds18b20的测温搞不懂。
终端
void SampleApp_Send_P2P_Message( void )
{
byte str[4];
char strTemp[10];
byte temp;
temp = ReadDs18B20(); //读取温度数据
str[0] = temp/10+48;
str[1] = temp%10+48;
str[2] = ’ ';
str[3] = ‘\0’;
HalUARTWrite(0, “TEMP:”, 5); //终端通过串口输出提示信息
HalUARTWrite(0, str, 4);
HalUARTWrite(0, “\n”,1);
osal_memcpy(strTemp, “TEMP:”, 5);
osal_memcpy(&strTemp[5], str, 5);
HalLcdWriteString(strTemp, HAL_LCD_LINE_3); //LCD显示
Color =BLUE;
LCD_write_CN_string(63,50,“℃”);//LCD显示
//把温度数据无线发给协调器
if ( AF_DataRequest( &SampleApp_P2P_DstAddr, &SampleApp_epDesc,
SAMPLEAPP_P2P_CLUSTERID,
2,
str,
&SampleApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{
}
else
{
// Error occurred in request to send.
}
}
协调器
vo