7.wifi开发【智能家居:终】,实践总结:智能开关,智能采集温湿,智能灯。项目运行步骤与运行细节,技术归纳与提炼,项目扩展

本文主要是介绍7.wifi开发【智能家居:终】,实践总结:智能开关,智能采集温湿,智能灯。项目运行步骤与运行细节,技术归纳与提炼,项目扩展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一。项目运行步骤与运行细节

1.项目运行步骤(一定有其他的运行方式,我这里只提供一种我现在使用的编译方式)

(1)项目运行使用软件与技术:

1.Virtual linux

        使用这个虚拟机进行程序的编译

2.Makefile与shll

        使用Makefile:自动编译,有许多的文件需要编译,通过设置Makefile可以一下编译很多文件。

        使用shll脚本:编译选项,比如说编译速率选择,SPI通讯速率的选择,flash大小选择。

3.ESPFlash download

        使用此软件进行烧录。

4.SDK

        官方提供的RTOS的工程,我使用这个工程进一步开发。

       

5.GPIO,UART,STATION,AP

        使用SDK工程,去驱动GPIO,UART。还可以设置STATION/AP(wifi两种模式,以我的理解就是esp8266去入网/被入网,即esp8266作为路由器让别人入网/以esp8266作为客户去入其他人的网络。)

2.项目运行细节

(1)VirtualBox编译具体细节

<1>创建共享文件夹

./mount.sh

具体:看wifi的第一节。

(1)运行mount.sh,密码:espressif,开始共享文件连接,现在windows下的D盘VM会有同样的文件夹(Share)出现

<2>编译

1.进入工程--》进入项目

补充:项目是自建的项目

2.项目编译

./gen_misc.sh

运行:

依次输入y---》1----》2----》3----》4

        此处是选择编译方式,比如说使用use1.bin为生成目标,下一次运行使用user2.bin为生成目标,等到远程升级的使用user.bin,就可以直接从user1.bin切换到user2.bin。这样就在不暂停wifi的情况下升级程序(软件)。

(2)ESPFlash download

1.双击打开,选择自己使用的型号

2.做好配置:在第二节的烧写中有详细步骤

二。技术归纳与提炼

1.技术归纳

(1)Freertos实时操作系统(前面有专门学习)

1.任务创建与删除

2.任务延时与实现

3.临界段

4.任务挂起与恢复

(2)LWIP网络(前面有专门学习)

1.Socket API

2.udp客户端/服务器

3.tcp客户端/服务器

3.http客户端/服务器

(3)工程应用

1.smartconfig,AirKess简化设备连接到Wi-Fi网络的方法(wifi第四节实验)

2.SNTP:获取实时时间

3.upgrade远程升级固件

(4)驱动开发(暂时不会,以后是要专门研究一段时间,这里使用别人提供的API接口)

(5)WebServer

1.HTML

2.HTTP协议,GET,POST

3.JS网页交互

三。项目如何进行扩展

        需要对其他的内容进行了解,比如wifi的触摸插座开关,我们需要知道这个火线是如何工作的,然后添加wifi功能,即在现实实现过程中,也需要了解其他的知识。

这篇关于7.wifi开发【智能家居:终】,实践总结:智能开关,智能采集温湿,智能灯。项目运行步骤与运行细节,技术归纳与提炼,项目扩展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/469

相关文章

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/