嵌入式
文章平均质量分 63
甲虫ss
这个作者很懒,什么都没留下…
展开
-
setsockopt()函数总结
Linux所提供的socket库中存在一个bug,即不能为一个套接字重新启用同一个端口,即使是你正常关闭该套接字以后,这是因为linux内核在一个绑定套接字的进程结束后从不把端口标记为未用。为了解决上述问题,setsockopt和getsockopt函数就被引进来了,当然它俩的功能不止这一点。#include<sys/socket.h>int setsocketopt(in...原创 2019-04-25 11:55:38 · 553 阅读 · 0 评论 -
linux select使用方法
selectselect 系统调用的用途是:在一段指定的时间内,监听用户感兴趣的文件描述符上可读、可写和异常等事件为什么会出现select模型?先看一下下面的这句代码:int iResult = recv(s, buffer,1024);这是用来接收数据的,在默认的阻塞模式下的套接字里,recv会阻塞在那里,直到套接字连接上有数据可读,把数据读到buffer里后recv函数才会...转载 2019-04-25 16:00:35 · 1636 阅读 · 0 评论 -
esp8266 && 32 esp_https_ota使用Demo
// Copyright 2017-2018 Espressif Systems (Shanghai) PTE LTD#include <stdio.h>#include <stdlib.h>#include <string.h>#include <esp_https_ota.h>#include <esp_ota_ops.h>...原创 2019-05-07 09:48:30 · 1047 阅读 · 0 评论 -
ESP8266 SSL编程 Server&client进行证书双向认证
关于数字证书、数字签名、私钥、公钥等基本概念都可自行百度解决。SSL-TLS工作原理中双向认证、单向认证参阅https://blog.csdn.net/espressif/article/details/78541410https://blog.csdn.net/espressif/article/details/79603831(1)生成证书本文在client, server端的...原创 2019-05-20 15:23:40 · 2862 阅读 · 0 评论 -
esp-joylink解析(smartconfig过程)
创建TASK,用于sniffer配网//创建TASK,用于sniffer配网void jd_innet_start_task(void){ xTaskCreate(jd_innet_start, "jd_innet_start", 1024*3, NULL, tskIDLE_PRIORITY + 2, NULL);}开启sniffer模式,进行一些配网模式的初始化等,执行...原创 2019-05-10 20:02:55 · 1284 阅读 · 2 评论 -
ESP8266&&32 AES加密、解密 (ECB方式)
#include <stdio.h>#include "esp_system.h"#include "mbedtls/aes.h"#include <stddef.h>#include <stdint.h>#include "config.h"#include <string.h>#include <stdio.h>#in...原创 2019-05-16 20:43:16 · 5036 阅读 · 1 评论 -
ESP8266&&32 md5加密
#include <stdio.h>#include "esp_system.h"#include "mbedtls/aes.h"#include "mbedtls/md5.h"#include <stddef.h>#include <stdint.h>#include "config.h"#include <string.h>#in...原创 2019-05-16 21:10:20 · 1182 阅读 · 0 评论 -
mosquitto1.6.2 Error: A TLS error occurred.(解决)
背景实现SSL&MQTT双向认证参考https://blog.csdn.net/espressif/article/details/78541435步骤如下:(1) 生成CA证书见参考https://blog.csdn.net/espressif/article/details/78541435(2) 开启MQTT服务器,专业的说法是消息代理(3)开启MQTT客户端...原创 2019-05-22 17:49:34 · 3145 阅读 · 0 评论 -
esp-AT esp_at.h API
目的:自定义AT命令的基础结构体esp_at_cmd_struct 该结构体用来定义AT命令typedef struct { char *at_cmdName; /*!< at command name */ uint8_t (*at_testCmd)(uint8_t *cmd_name); ...原创 2019-05-23 19:31:20 · 761 阅读 · 0 评论 -
tcpip_adapter_get_netif函数用法
esp_err_t tcpip_adapter_get_netif(tcpip_adapter_if_t tcpip_if, void ** netif)示例struct netif * netif = NULL; void * nif = NULL; struct udp_pcb * pcb = NULL; for (i=0; i<TC...原创 2019-04-25 10:09:13 · 568 阅读 · 0 评论 -
esp32 Flash分区与OTA功能简析
升级功能对于所有的嵌入式产品都是非常重要的。尤其是当产品量产/销售阶段,已经没有条件让厂家对产品升级,因此升级方式的设计必须防呆防错以及稳定。乐鑫ESP32作为蓝牙WIFI合一的物联网芯片,开发成产品后势必会使用OTA方式进行升级。本文档对ESP32的Flash分区配置情况以及SDK提供的OTA Demo进行简要分析,并以此作为未来产品OTA流程设计的参考。本文档只分析SDKOTA Dem...转载 2019-04-29 11:07:16 · 1784 阅读 · 0 评论 -
esp8266 wifi AP模式下获取IP地址并修改为新的IP
设置/获取 SoftAP IP/* Simple WiFi Example This example code is in the Public Domain (or CC0 licensed, at your option.) Unless required by applicable law or agreed to in writing, this softwar...原创 2019-04-19 20:38:21 · 9001 阅读 · 0 评论 -
vs2005+tiny6440板子winCE的在线调试若干问题的解决
vs2005+tiny6440板子winCE的在线调试若干问题的解决 一、调试(Debugging)和部署(Deployment)的配置 1.如何找到调试和部署的选项 在vs 2005环境下工程(Project)选项下选择XXX属性(XXXProperties)中的调试(Debugging)和部署(Deployment)。 2.两个选项的路径要保持一致。这里给出例子: 调试(Debuggi原创 2017-02-28 15:25:51 · 292 阅读 · 0 评论 -
WinCE下GPIO(LED可参考)的流驱动开发(附源码,供下载参考)
WinCE下GPIO(LED可参考)的流驱动开发(附源码,供下载参考) 笔者接到导师任务,在WinCE系统下加载一个I/O口的流驱动来控制一个继电器开关,说白了就是来控制GPIO口的输入输出状态和端口电平的高低。现在手上的板子是友善公司的Tiny6410增强版。首先,来上一张图来理一下做的思路。 在带有操作系统的基础上对芯片进行操作,是需要在驱动层中BSP中对GPIO文原创 2017-03-21 10:24:42 · 531 阅读 · 0 评论 -
esp32 Partition table规划
规划 Partition table,要求 nvs 大大小小100KB,自自定义参数区大大小小 100KB# Espressif ESP32 Partition Table# Name, Type, SubType, Offset, Size, Flags#nvs, data, nvs, 0x9000, 0x4000,otadata, data, ota, ...原创 2019-04-16 10:26:23 · 746 阅读 · 0 评论 -
esp32 && 8266常见错误分析
示例1:void task10(void* para){static offset = 0;static uint8_t* p_value = (uint32_t*)malloc(10);uint32_t* value = (uint32_t*)(p_value + offset);offset++;*value = 10;for (uint32_t loop = 0; loo...原创 2019-04-16 14:34:15 · 1312 阅读 · 0 评论 -
esp32 && 8266 freertos Task与NVS api入门练习---(1)
前提:自自己己规划 Partition table,要求 nvs 大大小小100KB,自自定义参数区大大小小 100KB目的:基于两个 task 实现如下功能(使用用NVS api)1.1 task1 保存⻓长度为 100 的字符串串,形式为 “12345678901234567890…",然后通知 到 task21.2 task2 取出 task1 保存到数据,并按照 字符串串打印...原创 2019-04-16 14:45:28 · 404 阅读 · 0 评论 -
esp32 && 8266 freertos Task与NVS api入门练习---(2)
前提:自自己己规划 Partition table,要求 nvs 大大小小100KB,自自定义参数区大大小小 100KB基于两个 task 实现如下功能(使用用NVS api)2.1 task3 保存⻓长度为 100 的二二进制流,形式为\0x00\0x01\0x02\0x03\0x04\0x05\0x06\0x07\0x08\0x09\0x00\0x01\0x02\0x03\0x...原创 2019-04-16 14:49:36 · 280 阅读 · 0 评论 -
esp32 && 8266 freertos Task与partition api入门练习
前提:自己规划 Partition table,要求 nvs 大小100KB,自自定义参数区大小 100KB# Espressif ESP32 Partition Table# Name, Type, SubType, Offset, Size, Flagsotadata, data, ota, 0xd000, 0x2000,phy_init, data, phy,...原创 2019-04-16 16:32:20 · 490 阅读 · 0 评论 -
esp32 && 8266 freertos Task与timer,ringbuffer入门练习
自定义一一个 timer 和 task,timer 每秒向 ringbuf 写 入字符串“abcdefg\r\n”, task 从 ringbuf 取出数据,并打印。(ringbuf 采用用其中一一个即可)#include <string.h>#include "freertos/FreeRTOS.h"#include "freertos/task.h"#includ...原创 2019-04-16 20:56:26 · 1730 阅读 · 1 评论 -
esp8266 wifi STA模式下获取IP地址并修改为新的IP
设置/获取 sta IP res_ap_get = tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_STA, &local_ip); printf("self:"IPSTR"\n",IP2STR(&local_ip.ip)); printf("self:"IPSTR"\n",IP2STR(&loc...原创 2019-04-22 10:22:21 · 9824 阅读 · 1 评论 -
esp8266 从simple wifi Demo理解Wi-Fi Programming Model
ESP8266 && 32 wifi 编程模型如下图所示:在esp系列中,WIFI驱动对tcpip stack,application task, event task等上层代码来看,可以认为是一个黑盒子。所有的wifi 驱动所干的事情在接收到上层的API调用进行,或者是API esp_wifi_init()进行初始化给特定的queue发送一个event-queue。...原创 2019-04-18 11:50:08 · 494 阅读 · 0 评论 -
esp8266 AP模式下剔除station
esp8266 AP模式下剔除stationcase SYSTEM_EVENT_AP_STACONNECTED: ESP_LOGI(TAG, "=========station:"MACSTR" join, AID=%d", MAC2STR(event->event_info.sta_connected.mac), ...原创 2019-04-23 16:10:10 · 790 阅读 · 3 评论 -
ESP HTTPS OTA用法
esp_https_ota 提供简易的API通过HTTPS对固件进行升级。这是现有OTA APIs的抽象层应用示例:esp_err_t do_firmware_upgrade(){ esp_http_client_config_t config = { .url = CONFIG_FIRMWARE_UPGRADE_URL, .cert_pem = (char ...原创 2019-04-28 16:01:55 · 2223 阅读 · 0 评论 -
自定义第一条ESP32_AT命令
关于AT的api在上一片博客已经介绍。https://blog.csdn.net/u013550000/article/details/90486508首先,工程来自于https://github.com/espressif/esp32-at言归正传,来自定义第一个AT命令在/esp32-at/main/app_main.c 文件中,添加命令如下:(1)定义AT命令结构体为执行命令s...原创 2019-05-23 19:49:09 · 1440 阅读 · 0 评论