资源简介
STM32F407+ESP8266连接阿里云实现Iot,协议MQTT, ESP8266用的是AT指令。
代码片段和文件信息
/*-------------------------------------------------*/
/* 超纬电子开发板 */
/* 淘宝地址: http://chaoweidianzi.taobao.com */
/*-------------------------------------------------*/
/* */
/* 网上寻找的开源程序 */
/* */
/*-------------------------------------------------*/
#include “utils_hmac.h“
#include “utils_md5.h“
#include “utils_sha1.h“
#define KEY_IOPAD_SIZE 64
#define MD5_DIGEST_SIZE 16
#define SHA1_DIGEST_SIZE 20
const char * base64char = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“;
/*-------------------------------------------------*/
/*函数名:hmacmd5编码 */
/*网上寻找的开源程序 */
/*-------------------------------------------------*/
void utils_hmac_md5(const char *msg int msg_len char *digest const char *key int key_len)
{
unsigned char k_ipad[KEY_IOPAD_SIZE]; /* inner padding - key XORd with ipad */
unsigned char k_opad[KEY_IOPAD_SIZE]; /* outer padding - key XORd with opad */
unsigned char out[MD5_DIGEST_SIZE];
int i;
iot_md5_context context;
if((NULL == msg) || (NULL == digest) || (NULL == key)) {
return;
}
if(key_len > KEY_IOPAD_SIZE) {
return;
}
/* start out by storing key in pads */
memset(k_ipad 0 sizeof(k_ipad));
memset(k_opad 0 sizeof(k_opad));
memcpy(k_ipad key key_len);
memcpy(k_opad key key_len);
/* XOR key with ipad and opad values */
for (i = 0; i < KEY_IOPAD_SIZE; i++) {
k_ipad[i] ^= 0x36;
k_opad[i] ^= 0x5c;
}
/* perform inner MD5 */
utils_md5_init(&context); /* init context for 1st pass */
utils_md5_starts(&context); /* setup context for 1st pass */
utils_md5_update(&context k_ipad KEY_IOPAD_SIZE); /* start with inner pad */
utils_md5_update(&context (unsigned char *) msg msg_len); /* then text of datagram */
utils_md5_finish(&context out); /* finish up 1st pass */
/* perform outer MD5 */
utils_md5_init(&context); /* init context for 2nd pass */
utils_md5_starts(&context); /* setup context for 2nd pass */
utils_md5_update(&context k_opad KEY_IOPAD_SIZE); /* start with outer pad */
utils_md5_update(&context out MD5_DIGEST_SIZE); /* then results of 1st hash */
utils_md5_finish(&context out); /* finish up 2nd pass */
for (i = 0; i < MD5_DIGEST_SIZE; ++i) {
digest[i * 2] = utils_hb2hex(out[i] >> 4);
digest[i * 2 + 1] = utils_hb2hex(out[i]);
}
}
/*-------------------------------------------------*/
/*函数名:hmacsha1编码 */
/*网上寻找
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1048576 2017-11-30 17:13 Ai-Thinker_ESP8266_DOUT_8Mbit_v1.5.4.1-a_20171130.bin
目录 0 2019-07-01 10:34 STM32F407+ESP8266 阿里云Iot\
目录 0 2019-07-01 10:34 STM32F407+ESP8266 阿里云Iot\Software\
目录 0 2019-06-28 15:16 STM32F407+ESP8266 阿里云Iot\Software\HMAC\
目录 0 2019-06-28 15:16 STM32F407+ESP8266 阿里云Iot\Software\HMAC\inc\
文件 628 2018-09-30 14:13 STM32F407+ESP8266 阿里云Iot\Software\HMAC\inc\utils_hmac.h
文件 2281 2018-09-09 15:52 STM32F407+ESP8266 阿里云Iot\Software\HMAC\inc\utils_md5.h
文件 2462 2018-09-09 15:52 STM32F407+ESP8266 阿里云Iot\Software\HMAC\inc\utils_sha1.h
目录 0 2019-06-28 15:16 STM32F407+ESP8266 阿里云Iot\Software\HMAC\scr\
文件 6764 2018-09-30 14:13 STM32F407+ESP8266 阿里云Iot\Software\HMAC\scr\utils_hmac.c
文件 8758 2018-09-09 15:52 STM32F407+ESP8266 阿里云Iot\Software\HMAC\scr\utils_md5.c
文件 9051 2018-09-09 15:52 STM32F407+ESP8266 阿里云Iot\Software\HMAC\scr\utils_sha1.c
目录 0 2019-06-28 08:49 STM32F407+ESP8266 阿里云Iot\Software\Libraries\
目录 0 2019-06-28 08:49 STM32F407+ESP8266 阿里云Iot\Software\Libraries\CMSIS\
文件 109142 2014-07-17 21:52 STM32F407+ESP8266 阿里云Iot\Software\Libraries\CMSIS\core_cm4.h
文件 22735 2014-07-17 21:52 STM32F407+ESP8266 阿里云Iot\Software\Libraries\CMSIS\core_cm4_simd.h
文件 17146 2014-07-17 21:52 STM32F407+ESP8266 阿里云Iot\Software\Libraries\CMSIS\core_cmFunc.h
文件 20513 2014-07-17 21:52 STM32F407+ESP8266 阿里云Iot\Software\Libraries\CMSIS\core_cmInstr.h
文件 29605 2014-08-02 00:12 STM32F407+ESP8266 阿里云Iot\Software\Libraries\CMSIS\startup_stm32f40_41xxx.s
目录 0 2019-06-28 08:49 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\
目录 0 2019-06-28 08:49 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\inc\
文件 6924 2014-08-01 23:18 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\inc\misc.h
文件 32880 2014-08-01 23:18 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\inc\stm32f4xx_adc.h
文件 27318 2014-08-01 23:18 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\inc\stm32f4xx_can.h
文件 2416 2014-08-01 23:18 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\inc\stm32f4xx_crc.h
文件 14481 2014-08-01 23:18 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\inc\stm32f4xx_cryp.h
文件 14946 2014-08-01 23:18 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\inc\stm32f4xx_dac.h
文件 4296 2014-08-01 23:18 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\inc\stm32f4xx_dbgmcu.h
文件 12977 2014-08-01 23:18 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\inc\stm32f4xx_dcmi.h
文件 28882 2014-08-01 23:18 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\inc\stm32f4xx_dma.h
文件 19692 2014-08-01 23:18 STM32F407+ESP8266 阿里云Iot\Software\Libraries\Stm32f40x_StdPeriph_Driver\inc\stm32f4xx_dma2d.h
............此处省略303个文件信息
相关资源
- FreeModbus_Slave+STM32F407+USART2代码亲测可
- STM32F407 串口配置 串口1~6 六串口同时
- STM32F407_6个串口同时使用的代码
- STM32F407实时时钟_DS1302实时时钟模块和
- esp8266 win10驱动 cp2102
- stm32f407读写flash的demo,基于正点原子
- CSDN文件---ESP8266.rar
- stm32103c8t6ESP8266串口转WIFI模块TCP服务器
- ESP8266ESP8266安卓控制端源代码
- 基于STM32F407的视频采集与传输系统设
- nudemcu相关工具和固件测试稳定
- 单片机通过ESP8266上传温湿度数据
- STM32F407ZG_ESP8266例程
- Keil5下的STM32F407程序
- ESP8266最新稳定版固件
- ESP8266AP模式控制51单片机亮灯.docx
- USART基于hal库stm32f407串口通讯.rar
- ESP8266使用MQTT协议连接阿里云
- 贝壳物联arduino esp8266 demo版本
- ESP8266程序加上MQTT调试工具
- 完整的STM32F407_MODBUS通信工程代码。
- ESP8266_NONOS_SDK-3.0
- ESP8266+OLED屏实现天气预报+温度显示
- STM32指针式时钟工程项目
- stm32f407和摇杆制作的控制手柄代码
- STM32F407. 基于PID速度环的步进电机速度
- STM32F407 基于232或485的57&42;步进电机旋
- stm32f7的esp8266spi并口源程序,速率1.
- STM32F407与OV2640的二维码识别实验
- ESP8266连接云平台
评论
共有 条评论