赞
踩
1、单片机驱动无线芯片
2、无线芯片通过AT指令集进行相应的配置
3、开通阿里云物联网平台
4、连接阿里云平台(MQTT协议连接)
(整体逻辑大概就是这个意思)
这里单片机我使用的是野火的STM32F103的指南者(板子上集成了无线模块)
首先我们根据原理图知道我们需要配置4个引脚才能驱动esp8266
- static void ESP8266_GPIO_Config ( void )
- {
- /*定义一个GPIO_InitTypeDef类型的结构体*/
- GPIO_InitTypeDef GPIO_InitStructure;
-
-
- /* 配置 CH_PD 引脚*/
- macESP8266_CH_PD_APBxClock_FUN ( macESP8266_CH_PD_CLK, ENABLE );
-
- GPIO_InitStructure.GPIO_Pin = macESP8266_CH_PD_PIN;
-
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
-
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
-
- GPIO_Init ( macESP8266_CH_PD_PORT, & GPIO_InitStructure );
-
-
- /* 配置 RST 引脚*/
- macESP8266_RST_APBxClock_FUN ( macESP8266_RST_CLK, ENABLE );
-
- GPIO_InitStructure.GPIO_Pin = macESP8266_RST_PIN;
-
- GPIO_Init ( macESP8266_RST_PORT, & GPIO_InitStructure );
-
-
- }
-
-
- /**
- * @brief 初始化ESP8266用到的 USART
- * @param 无
- * @retval 无
- */
- static void ESP8266_USART_Config ( void )
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- USART_InitTypeDef USART_InitStructure;
-
-
- /* config USART clock */
- macESP8266_USART_APBxClock_FUN ( macESP8266_USART_CLK, ENABLE );
- macESP8266_USART_GPIO_APBxClock_FUN ( macESP8266_USART_GPIO_CLK, ENABLE );
-
- /* USART GPIO config */
- /* Configure USART Tx as alternate function push-pull */
- GPIO_InitStructure.GPIO_Pin = macESP8266_USART_TX_PIN;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(macESP8266_USART_TX_PORT, &GPIO_InitStructure);
-
- /* Configure USART Rx as input floating */
- GPIO_InitStructure.GPIO_Pin = macESP8266_USART_RX_PIN;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
- GPIO_Init(macESP8266_USART_RX_PORT, &GPIO_InitStructure);
-
- /* USART1 mode config */
- USART_InitStructure.USART_BaudRate = macESP8266_USART_BAUD_RATE;
- USART_InitStructure.USART_WordLength = USART_WordLength_8b;
- USART_InitStructure.USART_StopBits = USART_StopBits_1;
- USART_InitStructure.USART_Parity = USART_Parity_No ;
- USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
- USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
- USART_Init(macESP8266_USARTx, &USART_InitStructure);
-
-
- /* 中断配置 */
- USART_ITConfig ( macESP8266_USARTx, USART_IT_RXNE, ENABLE ); //使能串口接收中断
- USART_ITConfig ( macESP8266_USARTx, USART_IT_IDLE, ENABLE ); //使能串口总线空闲中断
-
- ESP8266_USART_NVIC_Configuration ();
-
-
- USART_Cmd(macESP8266_USARTx, ENABLE);
-
这里我直接使用的是野火的源码(我比较懒),配置好后就可以进行初始化了
- void ESP8266_Init ( void )
- {
-
- ESP8266_GPIO_Config ();
- //to do
- //将色esp8266直接进行拉高使能
-
- Delay_ms(1000);
- ESP8266_USART_Config ();
- }
以上就算将esp进行配置好了
测试esp的关键就是AT指令集了,这里我就简单说一下,我直接附加AT指令集的使用文档
http://链接:https://pan.baidu.com/s/1sa5JOWT9iJpzXqx0Qd6Nnw 提取码:0u5a
直接去看CSDN博主「果果小师弟」的原创文章原文链接:https://blog.csdn.net/qq_39400113/article/details/107721178(自己懒得码)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。