注意:本文以简单易理解易实现为主,仅实现最基本的交互通信功能,性能和稳定性暂无考虑。需要材料:硬件:stm32及下载线、esp8266-01s(wifi模块)软件:emqx、keil可选:wireshark,python开始:配置stm32工程首先,我们需要一个stm32的基础工程,为了调试需要,我们需要两个usart串口分别与电脑和wifi模块进行通信。打开stm32cube需要配置的有RCC、SYS、USART、时钟、projectmanager几部分。 配置好usart1和2之后,引脚如图,将wifi模块按照tx-rx;rx-tx;EN、3v3接3.3v;GND接GND;其余
一、实验目的1、深入理解背包相关问题。2、能正确设计相应的算法,解决实际问题。 3、掌握算法时间复杂度分析。二、实验要求用3种方法求解0-1背包问题(贪心算法、动态规划、分支限界法),获得精确最优解或近似最优解均可。通过一个规模较大的实例比较不同方法的求解速度,分析不同算法的时间复杂度,并分析是否能获得最优解。实验结果跟实验设置的参数(如:背包容量、物品的体积)关系很大,简要分析参数对结果的影响。三、实验原理1.动态规划解0-1背包原理:动态规划基本思想是将带求解的问题分解成若干子问题,先求解子问题,再结合这些子问题的解得到原问题的解。用动态规划算法解0-1背包原理为:设0-1背包问题的子问题
多解法求解0-1背包问题为了便于测试,选用acwing上的0-1背包问题作为测试平台:2.01背包问题-AcWing题库当然,在acwing上测试是看不到具体每个测试样例的规模的,在所有解法都介绍完毕后会专门使用自己生成的测试数据去测试每个解法的性能。目录解法一:动态规划思路代码运行结果复杂度分析解法二:回溯法思路代码运行结果复杂度分析解法三:分支限界法思路代码运行结果复杂度分析三种方法对比:适用性使用难度算法效率具体测试思考附件题目概述有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背
stm32esp8266ota系列文章:stm32esp8266ota-快速搭建web服务器之docker安装openrestystm32esp8266ota升级-tcp模拟httpstm32esp8266ota升级-hex合并-烧录-bin生成stm32esp8266ota升级-qtbin文件处理工具stm32esp8266ota升级-自建mqtt和文件服务器动态AB面方式stm32esp8266ota升级-自建mqtt和文件服务器全量升级stm32esp8266ota升级-qtbin文件处理工具本文主要介绍qt实现对bin文件每隔固定字节插入crc校验,进而用于后期ota升级。无有具体OT
'''01-MyStar满天星1.下载pygame模块 1.1打开运行===>cmd===>pipinstallpygame 1.2importpygame 1.3新建窗口2.绘制小星星 2.1第四区域paint函数绘制小星星 2.2第一区域init函数中设置100颗小星星的坐标值self.xxself.yy 2.3第四区域paint函数循环绘制100颗小星星 2.4第四区域paint函数不灵不灵效果 2.5第三区域action函数中将100颗小星星进行移动操作3.月亮 3.1第一区域init函数中设置月亮的坐标值 3.2第四区域paint函数中绘制月亮的图形图案将满天星窗
1.项目背景随着科技的进步,人工智能逐渐发展,人们也越来越依赖科技的力量。目前,科学技术发展十分迅速,其渗透到各行各业以及生活的方方面面,通过远程控制、预约控制、个性化设计、一键控制等功能进一步提高生活的舒适性、便利性、安全性。本系统利用物联网的便携性,实现了远程监测环境。利用传感器检测了温度温度、湿度、光线强度,还配备了温度报警。微信小程序端可以查看当前数据,也可以控制灯、保证环境的稳定。2.设计目标本项目实现基于ESP32对周围环境的温湿度、通过光敏电阻对周围光的采集,并通过ESP32的WIFI模块上传到ONENET物联网平台。项目总体的功能是可以实时采集数据,并且将数据上传到云平台上,可
简介CH9329是一款由WCH(NanjingQinHengElectronicsCo.Ltd.)生产的USB转串口芯片,可以方便地将USB接口转换为串口接口,它在键盘设计这块可以实现作为MCU和电脑设备的“中间人”,把串口信号转换为按键。引脚定义来自官网页面:串口转HID键盘鼠标芯片CH9329-南京沁恒微电子股份有限公司主要特性和规格支持USB2.0协议,全速传输,最大传输速率为12Mbps;内置16字节FIFO缓存,可以缓存接收和发送的数据;支持多种流控模式,包括软件流控、硬件流控和自动流控;支持自动唤醒功能,可以在需要时自动唤醒系统;支持多种波特率、数据位、停止位和校验位的配置;支持外
文章目录一、0.96IICOLED介绍二、安装库文件2.1、库屏幕控制相关API2.2、库绘制相关API2.3、文本相关API2.4、图像相关API三、显示字母四、显示汉字五、显示图片一、0.96IICOLED介绍OLED是一种利用多层有机薄膜结构产生电致发光的器件,它很容易制作,而且只需要低的驱动电压,这些主要的特征使得OLED在满足平面显示器的应用上显得非常突出。OLED显示屏比LCD更轻薄、亮度高、功耗低、响应快、清晰度高、柔性好、发光效率高,能满足消费者对显示技术的新需求。我们最常用的OLED0.96IIC128×64模块,如下所示:其中:0.96:指的是屏幕的显示尺寸0.96inch
看到一篇很不错的博文,分析一下代码,记录基于esp32cam视频流媒体的处理方法。项目资源:包含Arduinoesp32支持库,所以文件压缩包很大链接:https://pan.baidu.com/s/1nmW9xb8g2TuIy_dV_ibeEA提取码:khhe启动Webserver,处理客户端网页的三种http请求:在主任务ServerConnectionHandlerTask:mjpegCB()函数中注册esp32webserver要处理的三个网页服务。server.on(“/mjpeg/1”,HTTP_GET,handleJPGSstream);server.on(“/jpg”,HTTP
一、DockerKuangStudyDocker学习视频:狂神说Docker教程KuangStudyhttps://www.kuangstudy.com/courseDocker学习视频(狂神说):https://www.bilibili.com/video/BV1og4y1q7M4?p=1阿里云服务器:https://account.aliyun.com/Docker官网:https://www.docker.com/Docker官网文档:https://docs.docker.com/engine/install/centos/Docker运行参考:https://docs.docker.