• 大小: 3.71MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-17
  • 语言: 其他
  • 标签: ESP8266  AIRKISS  

资源简介

ESP8266通过微信硬件平台SDK实现微信配网以及公众号绑定基本功能代码

资源截图

代码片段和文件信息

//平台相关头文件
#include “ets_sys.h“
#include “uart.h“
#include “osapi.h“
#include “ip_addr.h“
#include “user_interface.h“
#include “espconn.h“
#include “os_type.h“
#include “mem.h“
#include “user_config.h“

//包含AirKiss头文件
#include “airkiss.h“
#include “airkiss_lan.h“


static uint8_t lan_udp_timer_counter;
static os_timer_t lan_udp_timer;
static struct espconn *pairkiss_espconn;

LOCAL uint8_t lan_buf[200];
LOCAL uint16_t lan_buf_len;

void *_memset(void *s int ch size_t n);
void *_memcpy(void *dest const void *src size_t n);
int _memcmp(const void *buf1 const void *buf2 unsigned int count);

void *_memset(void *s int ch size_t n)
{
    os_memset(s ch n);
}

void *_memcpy(void *dest const void *src size_t n)
{
    os_memcpy(dest src n);
}

int _memcmp(const void *buf1 const void *buf2 unsigned int count)
{
    os_memcmp(buf1 buf2 count);
}


static const airkiss_config_t akconf =
{
 ( airkiss_memset_fn) &_memset
 ( airkiss_memcpy_fn) &_memcpy
 ( airkiss_memcmp_fn) &_memcmp
 0
};

/*
 * 平台相关定时器中断处理函数,比较正确的做法是在中断里面发送信号通知任务发送,这里
 * 为了方便说明直接发送
 */
static void ICACHE_FLASH_ATTR airkiss_lan_udp_broadcast_tick(void)
{
    airkiss_lan_ret_t ret;

    if (pairkiss_espconn != NULL)
    {
        pairkiss_espconn->proto.udp->remote_port = AIRKISS_LAN_PORT;
        // Set remote ip
        uint32_t remote_ip = 0xffffffff;
        os_memcpy(pairkiss_espconn->proto.udp->remote_ip &remote_ip 4);

        lan_buf_len = sizeof(lan_buf);
        ret = airkiss_lan_pack(AIRKISS_LAN_SSDP_NOTIFY_CMD
            DEVICE_TYPE DEVICE_ID 0 0 lan_buf &lan_buf_len &akconf);
        if (ret != AIRKISS_LAN_PAKE_READY)
        {
            AIRKISS_LAN_DEBUG(“Pack lan packet error!“);
            return ;
        }
        ret = espconn_sendto(pairkiss_espconn lan_buf lan_buf_len);
        if (ret != 0)
        {
            AIRKISS_LAN_DEBUG(“UDP send error!“);
        }
        AIRKISS_LAN_DEBUG(“Finish send notify!\n“ );
    }

     lan_udp_timer_counter--;
     if (lan_udp_timer_counter == 0)
     {
     os_timer_disarm(&lan_udp_timer);
     }
}

/*
 * 硬件平台相关,UDP 监听端口数据接收处理函数
 */
static void ICACHE_FLASH_ATTR airkiss_lan_udp_receive(void *arg char *pdata unsigned short len)
{
    airkiss_lan_ret_t ret = airkiss_lan_recv(pdata len &akconf);
    airkiss_lan_ret_t packret;
    remot_info* pcon_info = NULL;

    switch (ret)
    {
        case  AIRKISS_LAN_SSDP_REQ:
            espconn_get_connection_info(pairkiss_espconn &pcon_info 0);
            AIRKISS_LAN_DEBUG(“remote ip: %d.%d.%d.%d \r\n“pcon_info->remote_ip[0]pcon_info->remote_ip[1]
                pcon_info->remote_ip[2]pcon_info->remote_ip[3]);
            AIRKISS_LAN_DEBUG(“remote port: %d \r\n“pcon_info->remote_port);
            pairkiss_espconn->proto.udp->remote_port = pcon_info->remote_port;
            os_memcpy(pairkiss_espconn->proto.udp->remote_ippcon_info->remote_ip4);

            pairkiss_espconn->proto.udp->remote_port = AIRKISS_LAN_PORT;
            lan_buf_len =

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-07-05 09:42  esp_iot_sdk_v1.5.2_wxcloud_beta\
     目录           0  2018-06-13 08:35  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\
     文件        4480  2016-04-19 16:52  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\.cproject
     文件         813  2016-04-19 14:06  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\.project
     文件        9615  2016-04-14 10:39  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\Makefile
     目录           0  2018-06-13 08:35  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\
     目录           0  2018-06-13 08:35  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\.output\
     目录           0  2018-07-05 09:42  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\.output\eagle\
     文件        3501  2016-04-19 15:07  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\Makefile
     目录           0  2018-06-13 08:35  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\airkiss_lan\
     目录           0  2018-06-13 08:35  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\airkiss_lan\.output\
     目录           0  2018-07-05 09:42  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\airkiss_lan\.output\eagle\
     文件        1451  2016-01-26 16:13  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\airkiss_lan\Makefile
     文件        5606  2016-04-13 09:42  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\airkiss_lan\airkiss_lan.c
     文件         468  2016-04-20 13:53  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\airkiss_lan\airkiss_lan.h
     目录           0  2018-06-13 08:35  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\cjson\
     目录           0  2018-06-13 08:35  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\cjson\.output\
     目录           0  2018-07-05 09:42  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\cjson\.output\eagle\
     文件        1091  2015-04-07 15:37  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\cjson\LICENSE
     文件        1557  2016-04-01 00:39  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\cjson\Makefile
     文件       33647  2016-04-04 08:58  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\cjson\my_cJSON.c
     文件        8106  2016-04-19 14:58  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\cjson\my_cJSON.h
     文件         366  2015-04-07 15:37  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\cjson\omath.c
     文件        1010  2016-04-04 08:58  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\cjson\osbean.h
     目录           0  2018-06-13 08:35  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\driver\
     目录           0  2018-06-13 08:35  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\driver\.output\
     目录           0  2018-07-05 09:42  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\driver\.output\eagle\
     文件        1490  2015-10-21 16:39  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\driver\Makefile
     文件        1391  2015-09-24 08:56  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\driver\gpio16.c
     文件         188  2015-07-03 20:29  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\driver\gpio16.h
     文件        1353  2015-05-01 16:31  esp_iot_sdk_v1.5.2_wxcloud_beta\esp_iot_sdk_v1.5.2_wxcloud_beta\app\driver\pin_map.c
............此处省略167个文件信息

评论

共有 条评论