【点击上方「蓝字」关注我们,一起成为技术颜控!】

正文共:2020字11

预计阅读时间:6分钟

(为方便阅读,已标注重点)

ESP32简介

ESP-WROOM-32(ESP32)是乐鑫最新发布的新一代 WiFi & 蓝牙 双模双核无线通信芯片。芯片集成蓝牙4.2和WiFi HT40技术为一身,拥有高性能Tensilica LX6 双核处理器,支持超低功耗待机,是移动设备、可穿戴电子产品和物联网应用的最佳拍档。
相比于上一代的ESP8266,除了突破性地集成了低功耗蓝牙4.2 (BLE 4.2) 技术外,ESP32在性能和功能上也有了显著的提升,搭载了双核 32-bit MCU,一核处理高速连接、一核独立应用开发。双核主频高达 240 MHz,计算能力高达 650 DMIPS。并且芯片拥有更多的管脚资源。
ESP32芯片集成了丰富的硬件外设,包括电容式触摸传感器、霍尔传感器、低噪声传感放大器,SD卡接口、以太网接口、高速SDIO/SPI、UART、I2S 和I2C 等。

这次给大家分享一个我们国外社区的一位工程师把eByte的大功率E32 1瓦LoRa模块与ESP32连接到一起的教程,同样的方法也适用于Arduino 或ESP8266。


硬件组件

  • ESP32 Thing x1

  • Espressif ESP32S x1

  • DFRobot FireBeetle ESP32物联网微控制器(支持Wi-Fi和蓝牙)x1

  • 天线433MHz LCSC x1

  • E32 100mW模块LCSC x1

  • E32 1W模块LCSC x1

应用背景

大家好!欢迎来到CETech。本项目将把eByte的E32 LoRa模块(这是一种1瓦大功率变送器模块)连接到使用Arduino IDE的ESP32。上一篇教程介绍了E32的工作原理,这次我们设计了一个PCB用于把ESP32连接到E32。最后,我们会使用另一个LoRa分接模块建立起连接,从而对我们的电路板进行测试。现在就开始吧。

零件

eByte的LoRa模块可以从以下LCSC链接购买:

  • E321模块LCSC:

https://lcsc.com/product-detail/Wireless-Modules_E32-TTL-1W_C97351.html

  • E32 100mW模块LCSC:

https://lcsc.com/product-detail/Wireless-Modules_E32-TTL-100_C97350.html

  • 433MHz天线LCSC:

https://lcsc.com/product-detail/RF-Antenna_TX433-XPA100_C182814.html

  • DFRobot FireBeetle ESP32物联网微控制器(支持Wi-Fi和蓝牙)

    商城搜索ESP32

上一篇教程[可选]

我上周制作了一个相同模块的入门教程视频,建议您在开始本教程前先了解一下。

接线和电路


所有连接都已在PCB上完成。ESP32、OLED和E32分接板之间的连接只需要使用几根导线简单连接即可。E32分接板的内部连接略显复杂,因此我额外附上了一份电路图。


最重要的连接就是M1和M0引脚,必须把它们接到GND或VCC(不能空着不接),模块才能工作。后面我们会介绍如何使用M1和M0选择不同的工作模式。最后,我还在Rx和Tx引脚上添加了几个LED灯,这样当有UART数据传输时,这些LED灯就会点亮。


工作模式


改变M1和M0引脚上的电压,就可以选择不同的工作模式。上表列出了不同的工作模式。我们最关心的是模式0和模式3。在LoRa模块正常运行时,我会让模块处于模式0,而在配置时,则会让其处于模式3。对于本项目来说,我们把两个引脚都设为0(也就是模式0)。

我们的PCB板


我使用上述电路图设计制作了一个PCB板。PCB上有对应ESP32、E32和OLED显示模块的接头。除此之外,还有一些基本的元件。我在PCB上还把ESP32上额外的GPIO引脚分接了出去,以便于项目的扩展。我把这些元件都焊到了PCB上,接下来我们会对ESP32进行编程。

编程


  1. 下载GitHub库:

    https://github.com/akarsh98/ESP32-with-E32-LoRa-module

  2. 将下载的库解压。

  3. 在Arduino IDE中打开原始草图。

  4. 在菜单Tools > Board下选择您使用的电路板(我使用的是Firebeetle ESP32)。

  5. 在菜单Tools > Port下选择正确的通信端口。

  6. 点击上传按钮。

  7. 当提示上传完成时,您会看到OLED显示器开始工作。

最终测试


使用micro USB为ESP32 PCB供电。在LoRa链路的另一端,我使用了上篇教程中的分接模块 - 使用一个FTDI模块连接到电脑上,并将模块开关M0和M1都设为0。通过UART向连到电脑的模块发送数据,然后OLED就会显示通过LoRa接收到的数据,之后ESP32会发送回一条确认消息(在serial monitor上可以看到这条消息)。演示过程可参见我的视频。


原理图


代码

Gerber文件和RF软件的GitHub代码akarsh98[https://github.com/akarsh98]ESP32-with-E32-LoRa-module [https://github.com/akarsh98/ESP32-with-E32-LoRa-module]

作者:Akarsh Agarwal

更多关于ESP32\ESP8266的教程,请戳

  往期回顾  

【福利】Arduino系列引脚大全

1小时内做一个Otto机器人

拾色手电:颜色万千,只取一种

这款手势传感器,可以测试你的手速极限会咆哮的塑料来了!

快看!这才是真正的创造力!

有了它,爸爸再也不用担心我偷玩手机了!同样是毕业设计,你看看人家的!

一起学习!

arduino使用oled代码_【教程】在ESP32上使用E32433T LoRa模块相关推荐

  1. arduino使用oled代码_实用!Arduino平台最强大的“显卡”驱动:Adafruit GFX 图形库8000字详细使用指南...

    概述 Arduino的Adafruit_GFX库为我们所有的LCD和OLED显示屏提供了通用语法和图形功能集.这使得Arduino示例程序可以很容易地在不同类型的显示屏之间进行调整,并且任何新特性.性 ...

  2. arduino使用oled代码_如何做一个Arduino无线气象站

    今天我们来介绍如何利用DHT22传感器测量室外温度和湿度,并使用NRF24L01收发器模块将该数据无线发送到室内单元.在室内单元中,还有一个用于测量室内温度和湿度的DHT22传感器,以及一个DS323 ...

  3. arduino使用oled代码_用Arduino玩转掌控板(ESP32):蓝牙翻页笔(PPT 控制器)

    众所周知,掌控板在创客教育中用的非常广泛,它是一块基于 ESP32 的学习开发板.大家对掌控板编程,用的比较多的都是图形化编程的方式,比如 mPython.Mind+ 等.但是,既然掌控板是基于 ES ...

  4. arduino使用oled代码_【惊不?】Arduino改造古董卡西欧计算器为作弊神器

    一台朴实无华的计算器,卡西欧牌. 看起来和千万学子们所使用的计算器一样,没什么特别的,还带着一些陈旧的使用痕迹. 但如果你用磁铁碰一下: 咦,简直像打开了探险电影里的神秘机关,右上角的太阳能电池板部分 ...

  5. arduino使用oled代码_用 Arduino 制造一台 FM 调频收音机

    这是一个基于 Arduino 的开源的收音机项目,它具备一台标准收音机的全部功能,从控制部分到外壳都可以自己 DIY.在项目中,我们将介绍让 FM 收音机调谐器的 RDA5807 模块与 I2C 协议 ...

  6. arduino蓝牙通讯代码_在两块Arduino开发板之间实现蓝牙通信

    HC-05蓝牙模块是任何Arduino项目必不可少的蓝牙模块!很容易进行连接以及在Arduino IDE中编写代码.在大多数项目中,我们通常将HC05连接至Arduino,并使用它与其他智能设备(如手 ...

  7. 433模块 espeasy_带E32-433T LoRa模块的ESP32教程

    步骤1:零件 您可以在LCSC的以下链接上从eByte找到LoRa模块: E32 1W模块LCSC:https://bit.ly/2R4xxct E32 100mW模块LCSC:https://bit ...

  8. arduino蓝牙通讯代码_「Arduino」OLED屏使用教程,显示内容听谁的?我不管,听我的...

    玩转Arduino小伙伴肯定都接触过OLED屏吧,不管是在Arduino还是树莓派中都起到浓墨重彩的一笔,会写编程的同学也可以变换更多的花样. 材料清单: Arduino驱动板 x 1 OLED模块 ...

  9. arduino使用oled代码_Arduino提高篇06—温湿度OLED显示

    关注.星标公众号,不错过精彩内容 本篇结合温湿度传感器DHT11和OLED,将采集到的温湿度显示到OLED屏幕上. DHT11使用上篇介绍的「DHT sensor library」库,OLED使用U8 ...

最新文章

  1. java菱形乱码 编码_JAVA:编码与乱码问题
  2. flask urllib上传图片
  3. java 线程aba,JAVA中CAS-ABA的问题解决方案AtomicStampedReference
  4. 【斗医】【11】Web应用开发20天
  5. Hiv:SQuirrel连接hive配置
  6. 的使用go_使用 Go 开发 Prometheus Exporter
  7. 用css3实现的Android Logo
  8. luasql在Fedora20下的安装与使用示例
  9. python课设答辩ppt_如何制作优秀的毕业论文答辩PPT
  10. java mail(转贴)//从哪里找到忘记了,不过绝对不是自己写的
  11. 如何通过自定义属性设置PDMS模型颜色
  12. 游戏实时语音解决方案是怎么炼成的
  13. 苹果pencil有必要买吗?强烈推荐几款苹果平替笔
  14. cyclone小知识(三)——cyclone导入多种格式数据
  15. 浙江大学【面板数据分析与STATA应用】——第二讲长面板数据分析与机制识别方法
  16. 电荷耦合器件架构及工作原理
  17. not within a switch statement_【实用教程】Switch无法登录关联任天堂账号怎么办
  18. Python-docx 读写 Word 文档:读取正文、表格文本信息、段落格式、字体格式等
  19. 全局负载均衡GSLB
  20. Spring的原理分析

热门文章

  1. Linux(CentOS下)更改终端命令行颜色及网络配置
  2. 夕拾算法初级篇:5)1020. 月饼(贪心)
  3. cas1584803-67-7|花菁染料齐岳试剂
  4. 都是S赛,为什么EDG夺冠公认“含金量最高”?
  5. C++时间日期的处理ctime
  6. 手机直播源码,底部导航栏样式
  7. 公众号如何获得关注粉丝openid?
  8. 画论29 刘道醇《宋朝名画评》
  9. 卡特兰数(c++实现)
  10. apache dubbo 源码分析系列汇总