草庐IT

ESP-BOX-LITE

全部标签

006.合宙ESP32-C3+蓝牙调试器通过BLE发送接收数据教程

合宙ESP32-C3+蓝牙调试器通过BLE发送接收数据教程一、问题提出在平衡小车制作过程中,需要对KP/KD/KSP/KSI等PID系数进行调试,而平衡小车无法通过USB等进行有线调试,而ESP32-C3自带蓝牙+WIFI,使用WIFI比较吃算力,故选择通过蓝牙进行调参,同时能够将Angle/Encoder/PWM等数据回传至手机端进行查看。二、合宙ESP32-C3自带蓝牙分析前期通过查找资料,发现合宙ESP32-C3自带蓝牙不是经典蓝牙,无法使用BluetoothSerial.h进行编程,只能通过低功耗BLE使用蓝牙。下面为需要用到的库,PIO环境自带,无需下载。#include#inclu

【雕爷学编程】Arduino智能家居之使用ESP8266连接到OpenWeatherMap API获取天气数据

Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Arduino的功能和学习Arduino的知识。Arduino的特点是:开放源码:Arduino的硬件和软件都是开放源码的,你可以自由地修改、复制和分享它们。易用:Arduino的硬件和软件都是为初学者和非专业

uni-app编译报caniuse-lite is outdated的处理方案

caniuse库过期问题的原因uni-app的编译器是基于npm的,依赖了众多包括mpvue、webpack在内的npm库,这些库又引用了一个三方库caniuser-lite。caniuser-lite这个库的代码里有个浏览器兼容数据的更新检查,过老的数据影响自动补齐css前缀。开发者平时写uni-app时并不需要手动补浏览器的css前缀,就是因为这个库在自动补前缀。这个库它自己每半年过期一次,过期后会报错如下:Browserslist:caniuse-liteisoutdated.Pleaserunnextcommandnpmupdatecaniuse-litebrowserslist``这

android - 零重力 box2d 世界中的递减速度

我正在尝试在Box2D中创建一个围绕静态物体运行的动态物体。我有一个零重力世界和一个连接两个物体的DistanceJoint。我已经消除了body和关节的所有摩擦和阻尼,并且正在将初始线速度应用于动态body。结果是物体开始绕轨道运行,但它的速度随着时间的推移而降低-我不希望在没有摩擦的零重力环境中发生这种情况。我做错了什么吗?应该在每一步重新创建线速度,还是我可以将这项工作委托(delegate)给Box2D?相关代码如下://positionsofbothbodiesVector2planetPosition=newVector2(x1/Physics.RATIO,y1/Physi

音频基础知识简述 & esp-sr 上手指南

此篇博客先对音频基础知识进行简要叙述,然后帮助读者入门esp-srSDK。1音频的基本概念1.1声音的本质声音的本质是波在介质中的传播现象,声波的本质是一种波,是一种物理量。两者不一样,声音是一种抽象的,是声波的传播现象,声波是物理量。1.2声音的三要素响度:人主观上感觉声音的大小(俗称音量),由振幅和人离声源的距离决定,振幅越大响度越大,人和声源的距离越小,响度越大。音调:频率的不同决定了声音的高低(高音、低音),频率越高音调越高(频率单位为Hz,赫兹),人耳听觉范围20~20000Hz。20Hz以下称为次声波,20000Hz以上称为超声波)。音色:由于不同对象材料的特点,声音具有不同的特性

【ESP32 WiFi篇(五)】ESP32 HTTP

文章目录1.HTTP概述1.1超文本1.2请求-响应1.3TCP2HTTP请求和响应2.1HTTP请求响应过程2.2客户端请求消息2.2.1请求行2.2.1.1请求方法2.2.1.2URL2.2.1.3HTTP版本2.2.2请求头部2.3服务器响应消息2.3.1状态行2.3.2消息报文3ESP32HTTPserver1.HTTP概述  超文本传输协议(HyperTextTransferProtocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。1.1超文本  什么叫超文本?要理解这个概念,我们可以先知道什么是文

Tetrooj Box

TetroojBox 比赛主页 我的提交时间限制:C/C++5秒,其他语言10秒空间限制:C/C++262144K,其他语言524288K64bitIOFormat:%lld题目描述 Dr.Orooji’s childrenhaveplayedTetrisbutarenotwillingtohelpDr.Owitharelatedproblem.Dr.O’schildrendon’trealizethatDr.O isluckytohaveaccessto100+greatproblemsolversandgreatprogrammerstoday!Dr.Oknowsthelengthofth

android - 如何改变移动物体的位置 - Box2D

我目前创建了一个动态主体,并使用Vector2()以恒定速度移动。我想要的是当body离开屏幕边缘时,立即从当前点回到原来的点。我该怎么做?a.applyForceToCenter(aMovement,true);a.applyTorque(3000,true);FixtureDeffDef=newFixtureDef();BodyDefballD=newBodyDef();ballD.type=BodyType.DynamicBody;//randomlocationforasteroidintaLoc=(int)(aLocation*15);floatx=300;switch(aL

AMBA协议AXI-Lite(AXI-Lite从机代码设计)

文章目录一、设计思路1、什么时候发生写数据操作?2.什么时候发生数据读操作?3.如何根据AXI_WSTRB信号完成数据的写入?二、源码设计2.1写通道源码设计2.2读通道源码设计2.3模板代码三、仿真总结一、设计思路在设计开始之前,我们需要弄清楚以下几个问题:什么时候发生写数据操作?什么时候发生数据写操作?如何根据AXI_WSTRB信号完成数据的写入?1、什么时候发生写数据操作?  我们在第4-1节对AXI-Lite协议介绍后,分析了写数据发生的条件,那就是当写数据和写地址同时有效时,立即完成传输;  我们将上面的条件翻译一下,就是当AXI_AWVALID、AXI_AWREADY、AXI_WV

NodeMCU ESP8266开发流程详解(图文并茂)

文章目录整体架构打开软件setuploop连接开发板CP2102版本CH340版本下载结论整体架构NodeMCUESP8266基于ArduinoIDE的开发相对来说还是比较容易上手的,我们基本需要以下几个东西;一台安装好ArduinoIDE的PC,并且已经部署环境(安装好开发板的串口驱动);NodeMCUESP8266开发板;USB线(根据实际开发板的情况,本文需要Micro-USB的线);具体如下图所示;打开软件本文默认使用的是Arduino2.2.1,打开软件之后的界面如下图所示;这里的代码主要分为两个部分,setup和loop,学过C语言的同学应该知道,这是两个函数;下面我们简单介绍一下