资料编号:177
功能讲解:
1. ESP8266连接网络用了AT指令,单片机内烧录的WIFI名称:jsh,密码为:hua!123!
可以通过更改路由器WIFI名称和密码来让ESP8266联网。具体怎么改路由器名称和密码请根据对应路由器来设置。给板子供电以后等待初始化完成,屏幕才会有显示。
2. APP端需要配置下端口,具体配置参数如图所示。
3. 模块怎么插?参考下图。
4. 按键1请求发送验证码,验证码有六位,输入密码时按键1输入,按键2确认。
5. 继电器打开后会延时五秒,表示开门。
技术要点:
1. APP与单片机之间通过Mqtt通信协议进行数据通信,中转服务器用了onenet平台,通过平台转发数据。
2. OLED显示屏与单片机通过IIC通信
3. 单片机与继电器之间通过Delay1引脚控制,引脚为高电平时为开。
4. 单片机与红外模块之间通过单片机IO口读取HW引脚,HW引脚为高电平表示有快递。
5. APP用Android Studio编写,有源文件包
下面是原理图展示:
下面是程序展示:
void USART1_IRQHandler(void)
{
uint8_t ucTemp;
if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
{
ucTemp = USART_ReceiveData(USART1);
RxBuf1[0] = RxBuf1[1];
RxBuf1[1] = RxBuf1[2];
RxBuf1[2] = ucTemp;
if( RxBuf1[0]==0xa5 )
{
}
}
}
void USART2_IRQHandler(void)
{
uint8_t ucTemp2;
if(USART_GetITStatus(USART2,USART_IT_RXNE)!=RESET)
{
ucTemp2= USART_ReceiveData(USART2);
RxBuf2[0] = RxBuf2[1];
RxBuf2[1] = RxBuf2[2];
RxBuf2[2] = RxBuf2[3];
RxBuf2[3] = RxBuf2[4];
RxBuf2[4] = RxBuf2[5];
RxBuf2[5] = RxBuf2[6];
RxBuf2[6] = RxBuf2[7];
RxBuf2[7] = ucTemp2;
if( (RxBuf2[0]=='F')&&( RxBuf2[1]=='D') )
{
FlagOpen = 1;
}
else if( (RxBuf2[0]=='F')&&( RxBuf2[1]=='M') )
{
Ckeck[0] = RxBuf2[2]-0x30;
Ckeck[1] = RxBuf2[3]-0x30;
Ckeck[2] = RxBuf2[4]-0x30;
Ckeck[3] = RxBuf2[5]-0x30;
Ckeck[4] = RxBuf2[6]-0x30;
Ckeck[5] = RxBuf2[7]-0x30;
FlagGet = 1;
FlagDisp = 1;
}
}
}
下面是该资料的分享链接: