开发者学堂课程【嵌入式之 RFID 开发与应用2020版:Wifi-nodeMCU-esp8266 开发介绍 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/665/detail/11202
Wifi-nodeMCU-esp8266 开发介绍
内容介绍
一.Esp8266 特点
二.开发方式
上节课讲完开发平台即乐鑫的芯片,当然 wifi 的开发远不止一个平台高通,mtk 也出了很多。只是觉得乐鑫比较适合学习。接下来讲解该平台优势。
一.Esp8266 特点
内置了 IEE 制定的标准协议即美国电器与电子工程师协会制定的 802.11 b/g/n 有完整的协议栈。内置 Tensi1ica L106 超低功耗 32 位微型 MCU,主频支持 80MHz 和 160MHz,支持 RTOS;内置 10 bit 高精度 ADC;内置完整的 TCP/IP 协议栈;包括内置 TR 开关、balun、LNA、功率放大器和匹配网络的电路;内置 PLL、稳达器和电源管理组件,在 802.11b 模式下可以达到 20dBm 的输出功率;A-MPDU、A-MSDU 的聚合这两个主要讲的是网路层向上层提供的数据服务管理和纯服务管理;
WiFi 是 2.4GHz,支特 WPA/WPA2 两种安全模式;支持 AT 远程升级及云端 0TA 升级;而且还支持 STA/AP/STA+AP 三种主流的工作模式,这三种工作方式后面会一一讲解,AP 是纯热点,STA 是终端后端接入,STA+AP 是属于热点加后端;
支持智能配网 Smart Config 功能(包括 Android 和 i0S 设备);还支持 HSPI、UART、I2C、I2S、IR Remote Control(远程遥控)、PWM、GPIO;深度睡眠后最低保持电流为 10uA,关断后(即不给核心电路供电)电流小于 5uA;2ms 之内唤醒、连接并传递数据包实现通信;待机状态消耗功率小于 1.0mW(DTIM3);工作温度范围:-20℃-85℃。对于 8266 的功耗不去强调选择了 wifi 功耗肯定少不了,想要低功耗应使用蓝牙后 jdb 或者是 nblt 而不是 WiFi。
二、开发方式
对于开发方法,提供了很多开发方法。
1.基于 AT 指令,类似于 ablt 包括蓝牙也是一样,那种开发方式在这里不是特别适合,原因很简单: 8266 是一个 32 位处理器本身资源丰富,想要操纵资源需要复杂的逻辑但是 AT 指令所实现的逻辑指令有限,而且需要另外增加 MCU 成本即需要另接一个处理器;虽然操作简单但无形之中增加了成本。
2.基于官方 SDK 有带操作系统 FreeRTOS 和不带操作系统 NONOS 两种版本,对于初学者比较麻烦,代码较多参数数据结构复杂,而且基于 SDK 开发还要了解关于芯片的特性,很多人对硬件不是特别了解。对于刚入门不建议使用 SDK,SDK 开发成本高,产品成本低,而且运行效率高。
最后一种是本届课程推荐的方法,基于开源引擎,开源引擎是基于一些简单的语言例如 python,lora,js;使用这些开发语言是因为掌握起来比较简单,开发效率高容易查找资料,但是运行效率略低因为除了代码外还要执行引擎例如 lora 有 Lora的引擎,python 有 python 的引擎。所以本次课程选择基于开源引擎的方式并且基于 Lora开源引擎。
Lora 开源引擎即 Node MCU,好处首先 NodeMCU 是一个开源的物联网平台,提供很多根物联网相关的接口,无需自己编写;使用 Lua 脚本语言编程,同样支持 python 开源引擎, python 引擎比 lora 引擎复杂 一些而且效率略低。Lora 语言首先是使用 c 语言编写的这个语言的引擎才两万多行代码而 python 如果是使用 c语言编写有几十万行代码,所以 Lora 语言引擎比 python 引擎小了几十倍。使用Lora 第一语言简单第二语法也简单,二十几个关键字即可掌握 Lora 语言。基于eLua 开源项目,底层使用 ESP8266 sdk 0.9.5 版本;该平台包含众多开源项目,例如 lua-cjson,spiffs,NodeMCU;固件基于安信可 ESP-12 模组。
这是 esp8266 的介绍包括需要使用的平台介绍。