0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ESP8266上运行代码如何实现

科技绿洲 来源:机智云开发者 作者:机智云开发者 2022-04-07 15:35 次阅读

前言:随着esp8266物联网模块大量普及,各种“云”应接不暇,物联网进入家庭的速度明显提高。作为电子DIYER,意味着有了可以快速解决家庭实际需求的有力工具,以前的各种奇思妙想,都可以使用物联网技术用较短的时间内实现啦。这不,老婆大人看到我做的门灯控制器,就提出来让我把家里的热水器改装成带物联网遥控的,可以在下班前用手机打开热水器,回到家就能有热水用。

上一篇写的是硬件篇,包括总体方案设计、改装热水器、WIFI模块选型、三极管开关电路设计、整体组装等内容。

本篇与大家分享ESP8266上运行的代码是如何实现的。换句话说,就是使用ESP8266将硬件设备的数据,通过MQTT协议发送到机智云AIoT物联网平台,写入云端,再传递到数据上,使用者就能通过手机APP来远程控制硬件设备。

实现的步骤如下一、注册机智云账号

在机智云自助开发平台上注册自己的账号,以后自己设计的任何物联网设备都可以放在这个账号上面。

二、创建新的设备并生成源代码

首先创建一个新设备

poYBAGJOk92AK4RNAAFf6v416Qg632.png

然后添加数据点

poYBAGJOk-WALdlpAAG9ujDeDvQ889.png

数据点是light_onoff,这个名字可以是自己定义的其他字母。

pYYBAGJOk-6AfjU7AACMrCsANvI982.png

在基本信息里面就会看到这个数据点的基本信息,注意Secret要想看到完整的,还需要二次密码验证。

pYYBAGJOk_eADz7lAAFM96dMXf0169.png

选择MCU开发

pYYBAGJOlAGARcTcAADMxM1hbrI070.png

再选择SOC方案

pYYBAGJOlAuAAcl3AAFYfiZMKJo265.png

然后输入secret,生成代码包

pYYBAGJOlBWAb_giAADXp67djZg656.png

下载之后发现这个代码包跟乐鑫的结构差不多(这句话是说给用过乐鑫官方代码朋友听的)

poYBAGJOlCKACQWqAACy0pb3kpM558.png

三、编译ESP8266源代码

上一步生成的源代码是运行在ESP8266模块内部的,怎么编译和烧写呢?

下面这个文档有说明:

https://dwz.date/fpVy

poYBAGJOkseAYYowAABxAaQNcdU914.png

关于开发环境搭建的内容:

https://dwz.date/fpVz

pYYBAGJOktOAN8iYAACA5zHCfo0142.png

关于ESP8266平台文件说明:

pYYBAGJOkt2AXTmPAAJ8owHPURE093.png

跟前面学习编译的内容都差不多,也是跟乐鑫一样在D盘新建一个VM文件夹。

然后把所有的文件都放在这个文件夹。我将文件夹名字命名为SoC_ESP8266,这样短一些,方便输入。

首先让linux和windows共享文件夹

输入用户密码: “espressif”,回车确认。

pYYBAGJOkueAReRjAAFBYebTmsg583.png

这时能够在VM VirtualBOX虚拟机里面通过文件夹管理器看到已经共享成功了。

pYYBAGJOkvOAffXPAAG39xSJIz0037.png

本文所要实现的目的是手机APP控制这个模块,实现GPIO12的开关,也就是高低电平的转换。

上面的步骤生成的源代码是不能实现具体引脚的控制的,那么为了实现这个引脚的控制,就需要对代码进行修改。

修改的步骤是在VM文件夹下面,找到相应的.c或者.h文件,用记事本或者其他软件打开并进行编辑。

只修改了一点点。

在user_main.c中的keyinit函数中,添加了初始化GPIO12的代码。

pYYBAGJOkwuANXxMAAMTXATvrfU308.png

然后在gizwits_product.c中,添加了让小灯翻转的代码。

pYYBAGJOkxqAIJxrAAKhy_O2ejE911.png

没错,就是这么简单,就像是51单片机一样,对引脚初始化,然后在功能函数中让它变成高低电平。

四、编译源代码并烧写进入ESP8266

接下来开始对这个源代码进行编译。

下面进入app目录,下面这个界面是运行了VM VirtualBOX虚拟机里面的LX客户端。模拟的是linux操作系统

进入某个目录用的是cd命令。

pYYBAGJOkySASHKiAAJIXa3fEaY197.png

运行编译脚本:。/gen_misc.sh

编译速度很快

poYBAGJOk1eARrtzAAES4lGsdSg593.png

接下来开始烧写

机智云自动生成的代码中,有一张图片,这个图片说明了该烧写进入哪个地址

pYYBAGJOk2CAWdyIAAe7a1n3Y10258.png

下面开始烧写。

pYYBAGJOk2qAaQAaAAEWQVsg1m4955.png

为了方便初学者看懂,这里说一下硬件连接,ESP8266模块由上下两块组成,其中上面这个就是ESP8266功能板,下面这个其实是一个USB转串口的板子,芯片是CH340,只不过做成了和ESP8266功能板的尺寸一样了,其实它的功能是和买的那种USB转串口的模块是一样的。用一根micro USB数据线,也就是目前手机常用的充电/数据线就行了,注意,不是TYPE-C数据线。连接电脑之后,会自动安装驱动程序,当然,要确保电脑是联网状态。驱动安装成功之后,就会在设备管理器中显示当前串口是COM几,串口号记下来,在烧写的时候,选择这个串口号就行了。

点击电脑上的烧写软件START,然后按下板子上的FLASH按键不松手,然后按下RST按键,松手,再松开FLASH按键。一般情况下可以一次烧写成功,如果不成功,请再次点击烧写START,再次按照FLASH和RST按键步骤进行烧写。

烧写完之后,模块就能够使用了。

审核编辑:彭菁
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2910

    文章

    44778

    浏览量

    374708
  • 数据线
    +关注

    关注

    8

    文章

    283

    浏览量

    37761
  • 代码
    +关注

    关注

    30

    文章

    4803

    浏览量

    68752
收藏 人收藏

    相关推荐

    ESP8266系列模块选型

    ESP8266系列模块选型ESP8266 ESP-01 ESO-02
    发表于 01-05 17:34 37次下载

    使用esp8266实现STM32联网(最简单USART方法)

    到电脑的java程序 这一篇 esp8266与STM32连接,电脑通过STM32配置esp8266实现联网发送数据具体流程如下图 2= esp82
    发表于 11-22 11:51 1.3w次阅读

    ESP8266 控制开关

    ESP8266为服务端,当用户的访问设备与ESP8266在同一个Wi-Fi下时,可以通过ESP8266的IP地址来访问控制灯光开关的页面。使用方法:第一步、将下面的代码修改过Wi-F
    发表于 10-21 16:21 29次下载
    <b class='flag-5'>ESP8266</b> 控制开关

    ESP8266 Nodemcu学习心得②

    ESP8266 Nodemcu学习心得②一、库函数记录二、代码学习1、创建一个网络服务器一、库函数记录ESP8266WebServer esp8266_server(80);// 括号
    发表于 10-25 11:36 14次下载
    <b class='flag-5'>ESP8266</b> Nodemcu学习心得②

    ESP8266-NodeMCU

    ESP8266-NodeMCUESP8266-NodeMCU引脚功能1.1 可用引脚1.2 电压电流限制1.3 特殊引脚情况说明1.4 拉电阻/下拉电阻1.5 模拟输入1.6 串行端口1.7 I
    发表于 10-25 16:51 43次下载
    <b class='flag-5'>ESP8266</b>-NodeMCU

    ESP8266

    优点1.性能稳定ESP8266EX 的工作温度范围大,且能够保持稳定的性能,能适应各种操作环境。2.低功耗ESP8266EX 专为移动设备、可穿戴电子产品和物联网应用而设计,通过多项专有技术实现
    发表于 11-07 10:36 26次下载
    <b class='flag-5'>ESP8266</b>

    ESP8266(NodeMCU)建立最简单的网页

    ESP8266-NodeMCU只能实现一些基本的网络服务功能。  下面例程使用ESP8266建立最简单的网页,在串口输出相关的IP信息,通过浏览器访问地址查看网页。代码来源,太极创客:
    发表于 11-16 10:36 6次下载
    <b class='flag-5'>ESP8266</b>(NodeMCU)建立最简单的网页

    MacOSESP8266开发板刷microPython教程

    MacOSESP8266开发板刷microPython教程
    发表于 11-30 17:36 8次下载
    MacOS<b class='flag-5'>上</b><b class='flag-5'>ESP8266</b>开发板刷microPython教程

    解决esp8266 Mircopython OTA 远程升级方案

    一下esp8266运行的程序,然后过程中查找了许多的资料都没有看到Mircopython平台上如何OTA升级esp8266固件,于是自己胡乱做了一个用起来还不错的替代方案,给爱好者们提供一个小小的参考思路,直接进入正题。我是使用
    发表于 12-22 18:53 7次下载
    解决<b class='flag-5'>esp8266</b> Mircopython OTA 远程升级方案

    ESP8266使用教程之初识

    串口与MCU通信,内置 TCP/IP 协议栈,实现串口与 WiFi 之间的装换。​ 通过正点原子的 ATK-ESP8266,传统的串口设备只需要通过串口配置,就可以通过网络传输自己的数据。二.引...
    发表于 01-04 18:59 80次下载
    <b class='flag-5'>ESP8266</b>使用教程之初识

    stm32和esp8266的简单时钟

    电子发烧友网站提供《stm32和esp8266的简单时钟.zip》资料免费下载
    发表于 07-27 11:24 4次下载
    stm32和<b class='flag-5'>esp8266</b><b class='flag-5'>上</b>的简单时钟

    ESP8266硬件

    目前市面上有关ESP8266模组有很多的种类,但是都是使用的乐鑫公司开发的ESP8266的wifi模组,而且种类也很多。
    的头像 发表于 02-10 14:25 4844次阅读
    <b class='flag-5'>ESP8266</b>硬件

    ESP8266初次如何实现无线通信(基于电脑与ESP8266)

    一.需要的软件及硬件 1.软件 2.硬件 二.ESP8266的使用 .ESP8266的介绍 2.ESP8266进行初始AT指令的配置步骤 三.所用软件安装分享 ESP8266
    发表于 05-30 09:53 28次下载
    <b class='flag-5'>ESP8266</b>初次如何<b class='flag-5'>实现</b>无线通信(基于电脑与<b class='flag-5'>ESP8266</b>)

    ESP8266ESP32的WiFi Webradio

    电子发烧友网站提供《ESP8266ESP32的WiFi Webradio.zip》资料免费下载
    发表于 06-13 11:38 1次下载
    <b class='flag-5'>ESP8266</b>或<b class='flag-5'>ESP</b>32<b class='flag-5'>上</b>的WiFi Webradio

    教程:ESP8266接入机智云,成功实现代码移植

    本文主要以图文方式介绍了ESP8266接入机智云,生成MCU代码,并成功移植代码实现APP控制硬件设备的过程。操作步骤如下:1、将固件写入ESP8
    的头像 发表于 01-12 10:16 5300次阅读
    教程:<b class='flag-5'>ESP8266</b>接入机智云,成功<b class='flag-5'>实现代码</b>移植