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

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装