ESP32-S3-SIM7670G-4G

来自Waveshare Wiki
跳转至: 导航搜索
ESP32-S3-A-SIM7670X-4G-HAT
{{{name2}}}
{{{name3}}}
功能简介
特性 无特性,不解释
主控 ESP32-S3R2
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 Type C UART GPIO

说明

产品简介

ESP32-S3-SIM7670G-4G(以下统称开发板) 是一款微雪 (Waveshare) 设计的多功能、高性能的微控制器开发板。其中板载了 SIM7670G 4G通讯模组、OV通用摄像头接口、TF卡槽、RGB炫彩灯、18650电池槽、测量电池电压IC、太阳能充电接口等外设,采用的 ESP32-S3R2 是集成了低功耗 Wi-Fi 和 BLE5.0 的系统级芯片(SoC),此外还具有外部 16MB Flash 和 2MB PSRAM。Soc内部的硬件加密加速器、RNG、HMAC 和数字签名 (Digital Signature) 模块,可以满足物联网的安全要求。采用的 SIM7670G 4G通讯模组提供移动网络,结合ESP32-S3R2可实现随身WIFI、物联网数传等功能 。多种低功耗工作状态满足在物联网 (IoT)、移动设备、户外监控、智能家居等应用场景的功耗需求。

产品特性

  • 搭载高性能 Xtensa® 32位LX7双核处理器,主频高达 240 MHz
  • 支持 2.4 GHz Wi-Fi (802.11 b/g/n) 和 Bluetooth® 5 (LE),板载天线
  • 内置 512KB 的 SRAM 和 384KB ROM,叠封 2MB PSRAM 和外接 16MB Flash

硬件说明

ESP32-S3-SIM7670G-4G-details-intro1.png
  • 板载贴片天线,使用0R短接可选外部天线,如图中⑲、⑳
  • 板载RGB炫彩灯珠,WS2812B驱动,如图中㉓
  • 板载Camera接口:使用24pin摄像头排线接口,如图中⑫

支持摄像头列表如下:


model max resolution color type Len Size
OV2640 1600 x 1200 color 1/4"
OV3660 2048 x 1536 color 1/5"
OV5640 2592 x 1944 color 1/4"
OV7670 640 x 480 color 1/6"
OV7725 640 x 480 color 1/4"
NT99141 1280 x 720 color 1/4"
GC032A 640 x 480 color 1/10"
GC0308 640 x 480 color 1/6.5"
GC2145 1600 x 1200 color 1/5"
BF3005 640 x 480 color 1/4"
BF20A6 640 x 480 color 1/10"
SC101IOT 1280 x 720 color 1/4.2"
SC030IOT 640 x 480 color 1/6.5"
SC031GS 640 x 480 color 1/6"
ESP32-S3-SIM7670G-4G-details-intro2.png
  • 板载TF-Card卡槽,支持文件、图片存储,如图中⑬
  • 板载太阳能充电接口,如图中⑱
    • 可以通过背面输入选贴不同电阻切换太阳能输入电压
    • 当太阳能处于充电中时,板载绿色LED会亮起,如图中㉖、㉘
  • 板载电路开关,当使用18650供电时可通过开关控制电路通断,如图中㉛
  • 板载 USB 转 UART 芯片和自动下载电路,接上 Type-C 线缆后即可烧写程序和固件,如图中⑦
  • 板载使用 ESP32-S3 USB连接 A/SIM7670X USB接口,使用TinyUSB协议可实现ppp拨号上网,作为随身WIFI功能
  • 板载 18650 电池接口,接入 3.7V 单节18650锂电池,注意锂电池接口正负极标志
    • 当电池反接时板载黄色LED会亮起警告,如图中㉕
  • 开发板预留GPIO可用于外部器件连接,可以灵活配置成 I2C、SPI等外设功能,详细功能请参考GPIO占用说明
  • 板载 GNSS IPEX1代接口,上电后使用相关指令即可开启GNSS定位功能,如图中㉑
  • 板载拨码开关,便于控制Camera、USB HUB电路、4G模组的上电,可以控制4G模组的USB电路切换,如图中㉚
  • 板载LED灯说明:
    • 板载电池防反接LED,当电池反接亮起黄灯,如图中㉕
    • 板载太阳能充电LED,当太阳能输入电压有效时亮起绿灯,如图中㉖
    • 板载电源指示灯,接入电源开机时亮起蓝灯,如图中㉔
    • 板载模组网络指示灯,当模组开启后亮起红灯,注册到网络后200ms频闪,如图中㉗

硬件连接

本开发板ESP32-S3 UART转USB与4G模组USB供用一个TYPE-C口,用户可通过开发板背面拨码开关的 USB 通道来选择4G模组的USB与ESP32-S3的USB接口连接或是TYPE-C接口连接。 本功能常用在ESP32-S3使用TinyUSB通信4G模组时拨号上网,作为随身WIFI、无线热点等应用

ESP32-S3-SIM7670G-4G-details-8.jpg

Esp32-s3-a-sim7670x 240124 05.png Esp32-s3-a-sim7670x 240124 04.png

太阳能充电说明

开发板背部太阳能输入选择电阻可以切换太阳能输入最大电压。默认使用0R电阻连接5V标识位置,支持5~6V电压输入的太阳能板。当使用更高电压输入的太阳能板时,应短接对应电压的焊点。

ESP32-S3-A7670E-4G-details-19.jpg

产品尺寸

ESP32-S3-SIM7670G-4G-details-size.jpg

开发环境配置

以下开发系统默认为Windows

ESP-IDF

  • 推荐使用VSC插件进行开发

使用VSCode插件开发

安装VSCode

  1. 打开VSCode官网的下载页面,选择对应系统和系统位数进行下载
    Esp32-vscod-01.jpg
  2. 运行安装包后,其余均可以默认安装,但这里为了后续的体验建议,建议在此处勾选框中的1、2、3项
    Esp32-vscod-02.jpg
    • 第一二项开启后,可以直接通过鼠标右键文件或者目录打开VSCode,可以提高后续的使用体验.
    • 第三项开启后,选择打开方式时,可以直接选择VSCode

安装Espressif IDF插件

  • 注:当前插件最新版本为V1.6.0,为体验一致,用户可以选择与我们一样的版本
  1. 打开VSCode,使用快捷键Shift+Ctrl+X,进入插件管理器
    Esp32-vscod-03.jpg
  2. 在搜索栏中,输入Espressif IDF,选择对应的插件点击 install即可
    Esp32-vscod-04.jpg
  3. 使用快捷键F1,输入
    esp-idf: configure esp-idf extension

    Esp32-vscod-05.jpg
  4. 选择express(此教程针对第一次安装的用户,故只讲述初次的通用安装教程)Esp32-vscod-06.jpg
  5. 打开后显示该界面
    Esp32-vscod-07.jpg
  6. 选择下载服务器,我们推荐国内用户使用Espressif作为你的下载服务器
    Esp32-vscod-08.jpg
  7. 选择想要现在的ESP-IDF版本,我们选择最新的V5.0.1(注意ESP-IDF从V4.4版本后才开始支持ESP32-S3)
    Esp32-vscod-09.jpg
  8. 下面两个分别为ESP-IDF容器安装地址和ESP-IDF所需的工具安装地址,
    Esp32-vscod-10.jpg
    • 注意:如果之前有安装过ESP-IDF,或者失败过的,请务必彻底删除文件或者创建全新的无中文路径
  9. 配置完成后,点击 install 进行下载
    Esp32-vscod-11.jpg
  10. 进入下载页面,其会自动安装对应工具与环境,稍等片刻即可
    Esp32-vscod-11.jpg
  11. 安装完成后,会进入以下界面,说明安装完成
    Esp32-vscod-13.jpg

使用官方例程

  • ESP官方为我们提供大量的例程,并且写详细的使用方法与效果,点击此处查看
创建例程
  1. 使用快捷键F1,输入
    esp-idf:show examples projects

    Esp32-vscod-14.jpg
  2. 选择你当前的IDF版本
    Esp32-vscod-15.jpg
  3. 以Hello world例程为例
    Esp32-vscod-16.jpg
  4. ①选择对应例程
  5. ②其readme会说明该例程适用于什么芯片(下文有介绍例程怎么使用与文件结构,这里略)
  6. ③点击创建例程
  7. 选择放置例程的路径,要求无例程同名文件夹
    Esp32-vscod-17.jpg
修改COM口
  1. 此处显示使用对应的COM口,点击可以修改对应COM口
    Esp32-vscod-18.jpg
  2. 我们的CH343的COM为COM5,所以我们选择COM5,请根据自己CH343对应COM口进行选择
    Esp32-vscod-19.jpg
  3. 选择使用的工程或者例程
    Esp32-vscod-20.jpg
  4. 然后我们的COM口就修改好了
修改驱动对象
  1. 此处显示的是使用的驱动对象,点击可以修改对应驱动对象
    Esp32-vscod-21.jpg
  2. 选择使用的工程或者例程
    Esp32-vscod-20.jpg
  3. 点击后需要稍等片刻
    Esp32-vscod-22.jpg
  4. 选择我们需要驱动的对象,也就是我们的主芯片为ESP32S3
    Esp32-vscod-23.jpg
  5. 选择openocd的路径,这里对我们没有影响,所以我们随便选择一个即可
    Esp32-vscod-24.jpg
其余状态栏简介

Esp32-vscod-25.jpg

  • ①SDK 配置编辑器,ESP-IDF很多功能与配置可以在其内修改
  • ②全部清理,清空所有编译文件,
  • ③编译
  • ④当前下载方式,默认为UART
  • ⑤烧录当前固件,请在编译后进行
  • ⑥打开串口监视器,用于查看串口信息
  • ⑦编译,烧录,打开串口监视器 一体按键(调试时最常用)
编译、烧录、串口监视
  1. 点击我们之前介绍的 编译,烧录,打开串口监视器按键
    Esp32-vscod-29.jpg
  2. 编译可能需要较长时间才能完成,尤其是在第一次编译时。
    Esp32-vscod-26.jpg
    • 在此过程中,ESP-IDF可能会占用大量CPU资源,因此可能会导致系统卡顿。
  3. 因为我们使用的是CH343为USB转串口芯片,并且板载自动下载电路,无需手动操作即可自动下载
    Esp32-vscod-27.jpg
  4. 下载成功后,自动进入串口监视器,可以看到芯片输出对应的信息并提示10S后重启
    Esp32-vscod-28.jpg



Arduino

  • 如果没用使用过arduino-esp32的基础建议仔细阅读官方文档,点击此处查看

安装Arduino IDE

  1. 打开官网软件下载页面,选择对应的系统和系统位数下载
    ESP32-S3-Pico-Ar-01.jpg
  2. 可以选择直接下载,也可以选择捐赠并下载
    ESP32-S3-Pico-Ar-02.jpg
  3. 运行安装程序,全部默认安装即可

在线安装arduino-esp32

  1. 打开首选项
    ESP32-S3-Pico-Ar-03.jpg
  2. 添加对应的板管理链接,点击该按键
    ESP32-S3-Pico-Ar-04.jpg
  3. 在第一个空白处,添加下文
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

    ESP32-S3-Pico-Ar-05.jpg
  4. 保存设置
  5. 打开板管理器并搜索输入ESP32
    ESP32-S3-Pico-Ar-06.jpg
  6. 等待下载
    ESP32-S3-Pico-Ar-07.jpg
  7. arduino-esp32下载完成
    ESP32-S3-Pico-Ar-08.jpg

离线安装arduino-esp32

  1. 离线包(提取码:1r4i)
    • 提取码:1r4i
  2. 将压缩包解压缩
    ESP32-S3-Pico-Ar-18.jpg
  3. 将解压文件放在对应用户的arduino器件包目录
    C:\Users\{用户名}\AppData\Local\Arduino15\packages\
    以用户名为waveshare为例
    C:\Users\waveshare\AppData\Local\Arduino15\packages\
  4. 关闭全部arduino窗口,确保arduino关闭
  5. 打开arduino,并打开板管理器,看到esp32-arduino已经安装即可
    ESP32-S3-Pico-Ar-19.jpg

使用Arduino例程

  1. 选择例程,这里我们选择获取芯片ID的例程
    ESP32-S3-Pico-Ar-09.jpg
  2. 选择我们的板子为 ESP32S3 Dev Moudule
    ESP32-S3-Pico-Ar-12.jpg
  3. 选择我们的端口号,这里我们选择CH343的COM5
    ESP32-S3-Pico-Ar-13.jpg
  4. 点击下载按键,此时会自动编译并下载
    ESP32-S3-Pico-Ar-14.jpg
  5. 下载完成
    ESP32-S3-Pico-Ar-15.jpg
  6. 打开串口监视器
    ESP32-S3-Pico-Ar-16.jpg
  7. 看到循环输出的芯片ID
    ESP32-S3-Pico-Ar-17.jpg

Cat-1模组指令集

HTTP

AT指令

指令说明

返回值

AT+HTTPINIT

开启HTTP service

OK

AT+HTTPPARA="URL",https://www.waveshare.cloud/api/sample-test/

连接远端server

OK

AT+HTTPDATA=5,1000

输入数据

DOWNLOAD <键入 hello OK

AT+HTTPACTION=0

开始HTTP请求,0:GET;1:POST;2:HEAD;3:DELETE;4:PUT

OK

+HTTPACTION: 0,200,54

AT+HTTPTERM

关闭HTTP service

OK

AT+HTTPPARA

设置HTTP参数

OK

AT+HTTPHEAD

读取HTTP响应头信息

OK

AT+HTTPREAD

读取HTTP响应信息

OK

ESP32-S3-A-SIM7670X-4G HAT 231123 03.png

MQTT

AT指令

指令说明

返回值

AT+CMQTTSTART

开启MQTT服务

OK

AT+CMQTTACCQ=0,"Waveshare-7670X",0

申请MQTT client

OK

AT+CMQTTCONNECT=0,"tcp://mqtt.easyiothings.com",20,1

发送 MQTT 请求,连接私有MQTT服务器(MQTTS)

OK

AT+CMQTTTOPIC=0,8

输入消息发布主题

>A7670Pub OK

AT+CMQTTPAYLOAD=0,9

输入发布的消息内容

OK >waveshare

AT+CMQTTPUB=0,0,60

发布消息

OK +CMQTTPUB: 0,0

AT+CMQTTSUB=0,8,1

订阅消息主题

>A7670Sub OK +CMQTTSUBTOPIC: 0,0

[10:03:39.665]收←◆ +CMQTTRXSTART: 0,8,15 +CMQTTRXTOPIC: 0,8 A7670Sub +CMQTTRXPAYLOAD: 0,15 {"data":"test"} +CMQTTRXEND: 0

AT+CMQTTSTOP

停止MQTT服务

OK

AT+CMQTTREL

释放客户端

OK

AT+CMQTTUNSUBTOPIC

释放订阅主题

OK

AT+CMQTTUNSUB

释放订阅

OK


ESP32-S3-A-SIM7670X-4G HAT 231123 04.png

GNSS

AT+CGNSSPWR=1 开启GNSS功能 +CGNSSPWR: READY!
AT+CGNSSTST=1 开启GNSS数据输出 OK

ESP32-S3-A-SIM7670X-4G HAT 231123 06.png

例程讲解

ESP32-S3应用

Camera

本例程是基于ESP32的CameraWebServer例程

Esp32-s3-a-sim7670x 240124 01.png
Esp32-s3-a-sim7670x 240124 02.png
  • 首先需要设置WIFI名和密码,切换默认硬件为ESP32S3
  • 请打开开发板背面拨码开关的 CAM 开关,并接入支持的摄像头
  • 确认CameraPins
#define PWDN_GPIO_NUM     -1
#define RESET_GPIO_NUM    -1
#define XCLK_GPIO_NUM     34
#define SIOD_GPIO_NUM     15
#define SIOC_GPIO_NUM     16
#define Y9_GPIO_NUM       14
#define Y8_GPIO_NUM       13
#define Y7_GPIO_NUM       12
#define Y6_GPIO_NUM       11
#define Y5_GPIO_NUM       10
#define Y4_GPIO_NUM       9
#define Y3_GPIO_NUM       8
#define Y2_GPIO_NUM       7
#define VSYNC_GPIO_NUM    36
#define HREF_GPIO_NUM     35
#define PCLK_GPIO_NUM     37
  • 烧录代码,打开终端访问提示的IP即可

企业微信截图 17000191104689.png

TF-Card

Esp32-s3-a-sim7670x 240124 03.jpg
  • 将TF-Card插入TF卡槽
  • 定义引脚
const int SDMMC_CLK = 5;
const int SDMMC_CMD = 4;
const int SDMMC_DATA = 6;
const int SD_CD_PIN = 46;
  • 烧写程序,打开终端显示文件内容

ESP32-S3-A-SIM7670X-4G-HAT 231115 01.png

RGB

本开发板使用一颗WS2812b炫彩灯珠,信号引脚为38

烧录示例代码后LED灯渐变

ESP32-S3-A-SIM7670X-4G-HAT 231115 02.gif

BAT

本开发板使用MAX17048作为电池电量测量IC

  • 首先确定I2C引脚

ESP32-S3-A-SIM7670X-4G-HAT 231115 03.png

  • 烧写代码更改阈值

ESP32-S3-A-SIM7670X-4G-HAT 231115 04.png

随身WIFI Demo应用

  • 本Demo应用使用TinyUSB协议栈与4G Cat-1模组通信,使用ppp拨号直接为ESP32-S3供网
  • 本Demo使用编译好的固件,请先下载Flash Tools下载工具
  • 打开Flash Tools工具,选择开发模式,选定该固件,地址为0x0,如图所示,插入SIM卡下载启动程序

ESP32-S3-A-SIM7670X-4G-HAT 231115 05.png

  • 将开发板背面拨码开关4G开启,USB关闭,重新上电开发板,等待炫彩LED显示红色,打开手机连接WIFI:ESP32-S3-A-SIM7670X-4G-HAT,密码:12345678即可上网

ESP32-S3-A-SIM7670X-4G-HAT 231115 09.jpg ESP32-S3-A-SIM7670X-4G-HAT 231115 08.jpg


Esp32-s3-a7670e-wifi-comaned.png

Waveshare Cloud应用

请下载示例程序,打开GNSS-With-WaveshareCloud示例代码

本应用通过ESP32-S3软串口与SIM7670G通信,通过发送AT指令开启GNSS并解析NMEA GNSS数据上传至Waveshare Cloud,通过Web View地图页面显示开发板的具体位置

这里使用Waveshare Cloud提供的地图服务来作演示: 1.通过设备|设备属性页面创建任意类型的设备,并获取MQTT连接数据

WaveshareCloud GPSTest.png

2.将参数填入GNSS-With-WaveshareCloud程序中。

GNSS with wavesharecloud.png

Gnss esp32-s3-a7670E-waveshareCLoud.jpg

FAQ

软件配置

ESP32-S3通过串口、USB都可以进行ppp拨号上网,本示例中通过TinyUSB协议,使用枚举USB的地址进行拨号上网


不同版本的库是基于不同版本的 ESP-IDF开发的,有较大差异,因此不兼容, 如果一定要使用别的版本库,原先程序可以正常运行的程序可能需要自行进行一些调整才可使用,不建议这样操作


本示例中的代码通过esp-idf进行编译烧录,使用Arudino IDE需要进行移植tinyUSB和ppp数据包处理等


我们不协助修改代码,请自行处理


  • 测速软件会尽可能拉满速度,这个时候模组和ESP32-S3之间的数据包传输拉满,造成卡顿,Cat-1模组,速度有限,只做测试使用
  • 如果客机需求带宽太大可能会出现崩溃,介时可以从源码自行修改代码做处理


目前开发板是通过软串口连接A/SIM7670X 4G模组的串口,通过AT指令打开GNSS功能后将模组收取到的卫星信号数据切换到模组的串口输出,此时发送AT指令给串口也可以通过,此时执行Publish指令可以将需要的数据上发,从平台监听的返回值要做好NMEA信号数据的过滤即可。


配套的摄像头不支持自动对焦

{{{3}}}
{{{4}}}

{{{5}}}


使用随身WiFi例程默认设置为空,如果模组不能自动识别SIM卡APN运营商则需要修改提供的源码,参考ESP32-S3-A-SIM7670X-4G-example目录下README.md

具体步骤如:

1、参照开发环境配置的ESP-IDF篇,安装ESP-IDF开发环境以及vscode编程工具。

2、使用vscode打开示例程序,进入menuconfig手动设置APN。

Set esp32-s3-a-sim7670x-4g-apn.png

3、向开发板烧录程序,断电重启开发板即可。

{{{3}}}
{{{4}}}

{{{5}}}


提供的所有示例例程所使用的库都是从Arduino IDE library中下载安装的。库文件在不断更新迭代,通常缺少库直接在Arduino IDE中下载安装即可。

{{{3}}}
{{{4}}}

{{{5}}}


配套的摄像头不支持自动对焦

{{{3}}}
{{{4}}}

{{{5}}}


  • 插上GPS天线到GNSS天线座子,并将接收器标签面朝下置于空旷的室外(注意阴雨天气测试不了),上电需要等待约1分钟才能接收到定位信号;
由于 GPS 室内搜星不稳定,请将模块或者天线放到阳台或窗户旁,或者直接在户外可视天空下进行实验.

Visible-sky.png


  • 这个没有现成的示例程序,请自行编程,二次开发实现
  • 模组只提供数据连接,ESP32采集摄像头是有一个视频流的,这个视频流暂时是用html显示,也就是直接显示到网页上
  • 如果把视频流数据通过模组映射出去就可以实现图传功能;理论是没问题的;需要搭建有公网IP的服务器等等,理论上关于4G图传是可以实现的,4G模组给ESP32-S3供网,将摄像头画面通过frp转发到公网的代理服务器,代理到公网服务器分配资源是可以做到远程摄像头功能
  • 其实这个性能是比较有限的,如果要稳定传输高清视频,建议用树莓派等linux主控+4/5G蜂窝模块方案



要实现热点功能:

0) X7670X 要注册到网络和成功拨号上网
1) 将开发板背面拨码开关4G开启,USB关闭,重新上电开发板
2)  正确下载对应的固件,切记不要混淆A7670 和 SIM7670 固件,记得勾选
3)  验证阶段请用能打电话的手机卡,建议从手机取下验证过的卡,物理网卡限制多,容易被封号,验证功能没问题后再用


  • 1)首次上电池(也就是安装电池后)需要接电源激活保护机制(这个机制是防止反接用的),电池充满电后 ,可以无需接电源
  • 2)此外也可以放电激活,typec 接口除了可以充电,也可以给外部设备供电,让模块对外部设备供电,达到放电目的,也可以激活


  • 将所有拨码开关打开

esp32-s3-7600-code.png

  • 参考上文步骤安装库后,可以用以下例程代码实现打电话,短信和定位等单个功能:
https://files.waveshare.com/wiki/ESP32-S3-A7670E-4G/code/Hard-serial-esp32-7670.zip

Esp-hard-demo.png

{{{5}}}


硬件功能

不同的应用场景,时间不一样,比方说持续拍照或视频,电流是1.8A(功耗是9W左右),这个电池是2600mAh 左右,那就是1.5h 左右
Esp32-7670-18650.jpg


每个拨码开关功能如下:
Esp32-dip.png

{{{5}}}


浅色是板载摄像头,TF卡等外设占用,如果不用对应的外设功能,可以通过排针引出去做其他功能:
Esp32-7670-io.png

{{{5}}}


技术支持


联系人:黄工
EMAIL:3005423122@qq.com
电话:0755-83040712
QQ:3005763927
微信:扫下方二维码添加
Hkx-wx.jpg

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证