esp32

how to pass memberfunction to member function of another class

女生的网名这么多〃 提交于 2019-12-11 15:43:29
问题 I'm writing a class to access global variables through string-input (serial, webinterface, telnet, etc.) on an esp32. Therefore my variableAccess class has an attribute representing the variables address and an enum specifying the datatype (to make it short only int and float are in the example code below). The variable can then be set/read by the setValue/readValue methods. During initialization the variableAccess objects are created and stored in a vector 'allVariables' Now for my problem:

search in record set / update value

╄→гoц情女王★ 提交于 2019-12-08 10:34:30
问题 I created a record set using structs, vector and added couple of records. This is the code that does it. This should run as is - on an Arduino/ESP8266/ESP32. #include <string> #include <vector> struct student { std::string studentName; // I only load this once at startup. So can be const std::string studentSlot; // <= This should be updateable bool wasPresent; // <= This should be updateable student(const char* stName, const char* stSlot, bool stPresent) : studentName(stName), studentSlot

ESP32 应用实践:基于混杂接收模式的人流量检测

北城余情 提交于 2019-12-07 08:38:29
前言 ESP32 是一颗低功耗、高集成度、性能稳定的 Wi-Fi /BLE 芯片,是物联网开发的首选设备。它采用 2.4 GHz Wi-Fi 加蓝牙双模芯片,采用 TSMC 低功耗 40nm 技术,功耗性能和射频性能最佳,安全可靠,易于扩展至各种应用。同时集成了双核 160 MHz MCU、两个浮点运算单元 (FPU)、硬件安全加速器、电容触摸传感器、霍尔传感器、ADC、DAC、蓝牙/Wi-Fi 协议栈、TR 滤波器、双工器、功率放大器、接收低噪声放大器、射频 balun 和天线开关。ESP32 的外围器件不超过 10 个,即可实现强大的处理性能、可靠的安全性能,以及 Wi-Fi 和蓝牙功能。可作为独立系统运行应用程序或是主机 MCU 的从设备,通过 SPI / SDIO 或 I2C / UART 接口提供 Wi-Fi 和蓝牙功能。专为移动设备、可穿戴电子产品和物联网应用而设计。该款芯片拥有业内最高水平的低功耗芯片的所有特征,比如精细分辨时钟门控、省电模式和动态电压调整等。集成了更多的元器件,性能稳定,易于制造,工作温度范围达到 -40°C 到 +125°C。ESP32 还集成了先进的自校准电路,实现了动态自动调整,可以消除外部电路的缺陷以及适应外部条件的变化。总之,是一款极其优秀的物联网芯片。 混杂模式也称 sniffer, 也称嗅探模式。就是接收所有经过网卡的数据包

Web server on ESP32: How to update and display sensor values from the server automatically?

梦想与她 提交于 2019-12-07 03:37:25
问题 I have a web server on an ESP32 and a homepage on that server. I would like to update sensor values on the homepage every x seconds automatically (without user input). I cannot access the file system. The sensor is directly connected to the ESP32. The sensor values are in my C program, stored in variables and updated regularly. Variables are global for easier use. I thought about Ajax (I have no experience), but all examples and methods I can find use a file to load data from (in the 'url'

ubuntu系统搭建ESP32 开发环境

爷,独闯天下 提交于 2019-12-06 15:39:07
前言 ESP32 可以说是物联网市场一款比较精悍的芯片了。集成了BLE和802.11b Wi-Fi。低功耗、同时处理速度还挺强的。目前自己也是刚入手ESP32。可是在装环境的时候,踩了不少坑。 当然ESP32 支持的开发方式挺多的。例如在 arduino开发,windows下的msys32加esp-idf的开发环境(因为msys32 是虚拟一个linux环境,所以这种方式编译程序会比较慢),也可以用Eclipse IDE+CMake+esp-idf开发,还有可以使用linux 系统下的GNU Make + esp-idf 开发。 本人使用的是linux系统下的开发环境。这里就不扯了,下面开始填坑之路。 环境的安装主要参考 。 (注意:因为在安装环境的过程中需要下载比较多的库和工具,所以要保证网络通畅) 一、安装准备 这里使用linux发行版本是 ubuntu 16.04 LTS 需要的基本环境还有 python2 和 git 工具(没有这些的工具的可以百度安装) mkdir -p ~/esp32/source ~/esp32/crossTool ~/esp32/demos 使用这个命令创建好这些目录 1、更新ubuntu的源 为了后面能正常安装工具,最好更新一下源。同时最好将源切换为国内的源。ubuntu 系统的是如下命令更新源,其他的Linux 发行版本可以百度更新: sudo

用例建模Use Case Modeling

。_饼干妹妹 提交于 2019-12-03 09:26:28
我的工程实践选题为ESP32低功耗的实现,本项目基于ESP32嵌入式开发平台. 以此题为例,在理解项目需求的基础上进行用例建模,抽取Abstract use case,画出用例图,并确定每一个用例的范围High level use case,对关键用例进一步进行Expanded use case分析。 一、用例建模简介 从用户的角度来看,他们并不想了解系统的内部结构和设计,他们所关心的是系统所能提供的服务,也就是被开发出来的系统将是如何被使用的,这就用例方法的基本思想。 1、用例模型主要由以下模型元素构成: (1)参与者(Actor) 参与者是指存在于被定义系统外部并与该系统发生交互的人或其他系统,他们代表的是系统的使用者或使用环境。 (2)用例(Use Case) 用例用于表示系统所提供的服务,它定义了系统是如何被参与者所使用的,它描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。 (3)通讯关联(Communication Association) 通讯关联用于表示参与者和用例之间的对应关系,它表示参与者使用了系统中的哪些服务(用例),或者说系统所提供的服务(用例)是被哪些参与者所使用的。 这三种元素在UML中的表述如下所示: 2、用例建模的主要步骤: 确定系统边界 确定参与者 找出所有的用例 确定每个用例的级别 撰写用例的文字描述

[IOT] 自制蓝牙工牌办公室定位系统 (二)―― 基于ESP32的蓝牙信号扫描系统

匿名 (未验证) 提交于 2019-12-02 23:05:13
前面章节: 自制蓝牙工牌办公室定位系统 (一)―― 阿里物联网平台概览及打通端到云(硬核・干货) 目录: 1、蓝牙广播简介 2、蓝牙扫描简介 3、基于蓝牙广播和蓝牙扫描常见应用 4、ESP32简介 5、ESP32开发环境搭建 6、基于ESP32的蓝牙扫描实现 7、效果展示 前言: 我们整个基于蓝牙beacon的办公室定位系统主要有两部分组成: 1)蓝牙信号扫描器(蓝牙扫描+数据上云) 2)基于beacon的低功耗工牌 上一节我们讲解了如何将数据通过ESP32上传到云端,本节主要讲如何用ESP32扫描周边蓝牙设备。 蓝牙就在我们身边:电子信标引导消防员穿过建筑物; 可穿戴医疗设备将患者的生物数据发送给医生的平板电脑; 40万平方英尺仓库的设备监控等。蓝牙技术正在蓬勃发展,预计到2021年将有超过480亿的安装基数(per ABI Internet of Everything Market Tracker)。 那么蓝牙是如何工作的呢?BLE(蓝牙低功耗) 在2.4GHz的ISM频段中有40个物理信道,每个信道之间相隔2MHz。蓝牙定义了两种传输类型:数据传输和广告传输。因此,这40个频道中有3个专门用于广播,37个专门用于数据。 广播主要会涉及下面几个参数: Advertising Parameter Description Range Advertising Interval

ESP32 direct port manipulation

做~自己de王妃 提交于 2019-12-01 00:24:44
Dear StackOverflowers, I am trying to use HX8357D 3.5" TFT from Adafruit ( link ) with an esp32. The TFT driver has two interfaces: SPI and 8-bit parallel. The provided library from Adafruit ( link ) only supports SPI on the esp32. I need to have higher display speeds, so I decided to try and add support for the esp32 myself. I'm not experienced at all with this kind of programming, but I liked the challenge. I figured out how the 8-bit interface work by reverse engineering the Arduino Uno/Mega support. To add the esp32 support I need a way to directly manipulate the registers controlling the

分析一套源代码的代码规范和风格并讨论如何改进优化代码

拜拜、爱过 提交于 2019-11-30 22:17:49
结合工程实践选题相关的一套源代码,根据其编程语言或项目特点,分析其在源代码目录结构、文件名/类名/函数名/变量名等命名、接口定义规范和单元测试组织形式等方面的做法和特点; 我的工程实践题目是 低功耗高可靠文件系统的设计与实现,本项目基于ESP32嵌入式开发平台,设计与实现低功耗、高可靠的文件系统。乐鑫为用户提供完整的软、硬件资源,进行 ESP32 硬件设备的开发。其中,乐鑫的软件开发环境 ESP-IDF 旨在协助用户快速开发物联网 (IoT) 应用,可满足用户对 Wi-Fi、蓝牙、低功耗等方面的要求。因此可以从github上ESP-IDF中直接下载ESP32 使用的 API(软件库和源码)。其主要使用的语言为c语言。但由于是嵌入式开发,因此还需要编写很多的配置文件以及引入官方提供的SDK进行开发。如下图所示: 根据上图可以看到components、docs、examples、make、tools五个文件夹,对它们的介绍如下所示: components :ESP-IDF的核心组件 docs :ESP-IDF相关文档 examples :ESP-IDF提供的示例程序,包括众多外设、Wi-Fi、蓝牙等demo make :EPS-IDF工程管理目录 tools :ESP-IDF提供的工具集 esp-idf里面有一个名字example的文件夹,里面有很多乐鑫例程

Ubuntu16.04上搭建ESP32开发环境

牧云@^-^@ 提交于 2019-11-29 16:30:44
E sp32----搭建开发环境 任务:VMware上新建虚拟机、搭建ESP32开发环境,并实现一个hello world例程。 一、VMware上新建虚拟机   此步骤比较容易,用几张我在新建过程的截图    此步的ISO文件可从官网下载(官网 https://ubuntu.com/download/desktop )我的是16.04版本 接着下一步:输入用户名和登录密码   下一步:输入虚拟机名称和文件所在位置   下一步:可以根据自己的电脑配置   下一步:内存大小的设置,可以设置最大推荐内存   接下来使用默认的----“下一步” 、 走到这里,点击完成即完成了第一个小任务:新建虚拟机!!!!!!!!!!! ————————————————喝口水、下一个任务—————————————————— 二、在Ubuntu上搭建ESP32开发环境   第一步:设置工具链   安装前提:编译 ESP-IDF 需要以下软件包:(输入命令即可)   sudo apt-get install git wget libncurses-dev flex bison gperf python python-click python-pip python-setuptools python-serial python-cryptography python-future python