乐鑫Esp32学习之旅29 安信可Wi-Fi模组对接华为云物联网平台的指南。(附带源码)

Posted 半颗心脏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了乐鑫Esp32学习之旅29 安信可Wi-Fi模组对接华为云物联网平台的指南。(附带源码)相关的知识,希望对你有一定的参考价值。


  • 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

系列一:ESP32系列模组基础学习系列笔记

1、 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 “Hellow World”。
2、 巧用eclipes编辑器,官方教程在在Windows下搭建esp32开发环境,打印 “Hellow World”。
3、 认识基本esp32的GPIO接口,开始点亮您的第一盏 LED和中断回调实现按键功能 。
4、体会esp32的强大的定时器功能, 实现定时2s闪烁一盏LED灯。
5、接触实践esp32的pwm宽度脉冲功能, 实现呼吸效果闪烁一盏LED灯。
6、smartConfig和微信airKiss在esp32的实现,一键配网轻松快捷连接路由器。
7、利用GPIO中断做一个按键的短按和长按的回调事件,再也无须担心触发源。
8、esp32上实现本地 UDP 客户端和服务端角色,在局域网内实现通讯。
9、esp32上实现本地 TCP 客户端和服务端角色,可断线重连原路返回数据。
10、乐鑫esp32 SDK编程利用rmt驱动ws2812七彩灯,实现彩虹渐变效果。
11、入门 乐鑫esp-adf 音频框架开发,esp32造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。
12、开源一个微信公众号airkiss配网esp32以及局域网发现功能的工程,分享一个airkiss配网小工具。
13、esp32 内置 dns 服务器,无需外网访问域名返回指定网页。
14、esp32 sdk编程实现门户强制认证,连接esp32热点之后,自动强制弹出指定的登录界面。
15、认识本地离线语音唤醒识别框架 esp-skainet ,实现较低成本的硬件语音本地识别控制。
16、学习本地语音唤醒离线识别框架 esp-skainet ,如何修改唤醒词? 如何自定义命令词?如何做意图动作?
17、全网首发,乐鑫esp32 sdk直连京东微联·小京鱼 · IoT开放平台,实现叮咚音响语音智能控制。
18、入门京东微联·小京鱼的控制面板H5开发,读懂vue语法,做自己的控制页面。
19、重磅开源,如何在微信小程序上ble蓝牙配网esp32,blufi的那些事!
20、一篇好文,开发过程中编译esp32固件太大,无法正常启动?教你如何自定义分区表partitions.csv。
21、 esp32蓝牙配网blufi的高度封装,集成简单、使用简单、容易上手,提高开发效率!
22、讨论下程序员 “青春饭” 那些事,分享在esp32实现多种加密算法md5 |AES CBC-ECB| Sha1 | Sha256 等!
23、安信可 esp32-a1s 音频开发板移植最新 esp-adf 音频框架,小试牛刀如何实现在线文字转语音播放。
25、分享在 esp32 SDK实现冷暖光色温平滑调节的封装,轻松集成到您的项目去。
26、分享下如何在window下使用CMake编译,编译速度提高传统 make 编译一个档次,支持 ESP32 和 ESP32-C3。
27、windows10平台下自带的Linux安装 ESP8266/ESP32 环境,再无需额外安装虚拟机了。
28、熟悉自定义分区表 partition,拉取阿里云对象存储的单片机/图片等较大文件保存在特定的存储位置,并读取出来做完整性校验。
29、安信可Wi-Fi模组对接华为云物联网平台的指南。

系列二:ESP32-Camera 摄像头开发板系列笔记

1、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,实现MQTT远程拍照传输到私有服务器。
2、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,实现本地视频流监控。
3、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,拍照图片通过有线串口传到上位机PC端。

系列三:ESP32-C3 模组系列笔记

1、【蓝牙Mesh笔记 ①】ESP32-C3 模组上实现天猫精灵蓝牙 BLE Mesh AliGenie 接入,无需WiFi 连接也可以实现天猫精灵语音控制。

系列四:ESP32-S3 模组系列笔记

1、安信可 ESP32-S3 模组上驱动摄像头 OV2640,实现远程拍照并 HTTP 传输到阿里云对象存储OSS,并显示在微信小程序上。。

系列四:ESP32模组系列笔记 LVGL LittlevGL

1、【LittlevGL ESP32 学习笔记 ①】移植最新的 LVGL 到安信可ESP32\\C3模组,显示一个二维码。


文章目录

安信可Wi-Fi模组对接华为云物联网平台的指南

目录

0.介绍

安信可是物联网无线的设计专家,专注于设计简单灵活、易于制造和部署的解决方案。安信可研发和设计 IoT 业内集成度SoC、性能稳定、功耗低的无线系统级模组产品,因此具备强大的 Wi-Fi 和蓝牙功能,以及出色的射频性能。

华为云物联网平台(IoT 设备接入云服务)提供海量设备的接入和管理能力,可以将您的IoT设备联接到华为云,支撑设备数据采集上云和云端下发命令给设备进行远程控制,配合华为云其他产品,帮助您快速构筑物联网解决方案。

使用物联网平台构建一个完整的物联网解决方案主要包括3部分:物联网平台、业务应用和设备。

  • 物联网平台作为连接业务应用和设备的中间层,屏蔽了各种复杂的设备接口,实现设备的快速接入;同时提供强大的开放能力,支撑行业用户快速构建各种物联网业务应用。
  • 设备可以通过固网、2G/3G/4G/5G、NB-IoT、Wifi等多种网络接入物联网平台,并使用LWM2M/CoAP或MQTT协议将业务数据上报到平台,平台也可以将控制命令下发给设备。
  • 业务应用通过调用物联网平台提供的API,实现设备数据采集、命令下发、设备管理等业务场景。

1.目的

本文基于 linux 环境,介绍安信可Wi-Fi模组对接华为云物联网平台的具体流程,供读者参考。

安信可在售模组是否支持
ESP8266系列模组,包括ESP-12F/12S/12E/12L暂不支持,适配中…
ESP32系列模组,包括ESP32-S、ESP32-SU支持
ESP32S2系列模组,包括ESP-12K、ESP-12H支持
ESP32S3系列模组,包括ESP-S3-12K、ESP-S3-12F暂不支持,适配中…
ESP32C3系列模组,包括ESP-C3-32S、ESP-C3-12F支持

2.硬件准备

  • linux 环境
    用来编译 & 烧写 & 运行等操作的必须环境。

windows 用户可安装虚拟机,在虚拟机中安装 linux。

  • 设备
    前往安信可官方获取。

  • USB 线
    连接 PC 和 ESP 设备,用来烧写/下载程序,查看 log 等。

3.华为云平台准备

根据华为云物联网平台接入官方文档,在华为物联网平台创建产品,创建设备,同时自动产生 将在 6.2.3 节用到。

4.环境搭建

如果您熟悉 ESP 开发环境,可以很顺利理解下面步骤; 如果您不熟悉某个部分,比如编译,烧录,需要您结合官方的相关文档来理解。如您需阅读 ESP-IDF 编程指南文档等。

4.1 编译器环境搭建

  • ESP32/s2/c3 :根据官方链接工具链的设置,下载 toolchain

toolchain 设置参考 ESP-IDF 编程指南

4.2 烧录工具/下载工具获取

  • ESP32/s2/c3 平台:烧录工具位于 esp-idf./components/esptool_py/esptool/esptool.py

esptool 功能参考:

$ ./components/esptool_py/esptool/esptool.py --help

5.SDK 准备

  • esp-huawei SDK, 通过该 SDK 可实现使用 MQTT 协议,连接 ESP 设备到华为云物联网平台。
  • Espressif SDK

Espressif SDK 下载好后:
ESP-IDF: 请切换到 v4.3 分支: git checkout v4.3

6.编译 & 烧写 & 运行

6.1 编译

6.1.1 导出编译器

参考 工具链的设置

6.1.2 编译 demo 示例

idf.py set-target esp32/s2/c3
idf.py menuconfig

  • 配置烧写串口
  • 配置从华为物联网获取到的三元组。
  • 编译,打开安信可微信公众号进行无线配置入网,即微信airkiss配网协议。

2.生成最终 bin

idf.py build

6.2 擦除 & 编译烧写 & 下载固件 & 查看 log

将 USB 线连接好设备和 PC,确保烧写端口正确。

6.2.1 [可选] 擦除 flash

idf.py -p (PORT) erase_flash

注:无需每次擦除,擦除后需要重做 6.2.3。

6.2.2 烧录程序

idf.py -p (PORT) _flash

6.2.3 量产烧录三元组信息

  • 待完成说明。。

6.2.4 运行

make monitor

如将 ESP32 拨至运行状态,即可看到如下 log:
log 显示了 ESP32 基于 TLS 建立了与华为云的安全连接通路,接着通过 MQTT 协议订阅和发布消息,同时在控制台上,也能看到 ESP32 推送的 MQTT 消息。

I (798) wifi:enable tsf
I (808) wifi_init: rx ba win: 6
I (808) wifi_init: tcpip mbox: 32
I (808) wifi_init: udp mbox: 6
I (808) wifi_init: tcp mbox: 6
I (808) wifi_init: tcp tx win: 5744
I (808) wifi_init: tcp rx win: 5744
I (818) wifi_init: tcp mss: 1440
I (818) wifi_init: WiFi IRAM OP enabled
I (818) wifi_init: WiFi RX IRAM OP enabled
I (828) router: -- get ssid: aiot@xuhongv
I (828) router: -- get password: xuhong12345678
I (838) aithinker-debugLog::: Next connectting router.
I (838) wifi:new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (848) wifi:state: init -> auth (b0)
I (898) wifi:state: auth -> assoc (0)
I (938) wifi:state: assoc -> run (10)
I (958) wifi:connected with aiot@xuhongv, aid = 3, channel 1, BW20, bssid = 9c:9d:7e:40:e8:10
I (958) wifi:security: WPA2-PSK, phy: bgn, rssi: -21
I (968) wifi:pm start, type: 1

W (968) wifi:<ba-add>idx:0 (ifx:0, 9c:9d:7e:40:e8:10), tid:6, ssn:2, winSize:64
I (988) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (2088) esp_netif_handlers: sta ip: 192.168.31.228, mask: 255.255.255.0, gw: 192.168.31.1
I (2088) aithinker-debugLog::: WiFi Connected to ap
I (2088) aithinker-debugLog::: Free memory: 229384 bytes
I (2088) aithinker-debugLog::: MQTT xTaskCreate OK

I (2098) aithinker-debugLog::: port 8883
I (2098) aithinker-debugLog::: host  a1621cfafc.iot-mqtts.cn-north-4.myhuaweicloud.com
I (2108) aithinker-debugLog::: client_id aithinker_F4CFA25BB155_0_0_2022032704
I (2118) aithinker-debugLog::: username aithinker_F4CFA25BB155
I (2118) aithinker-debugLog::: password3e7bbb8fba3161685348d96434bb43fb450f39d765232ffbcd8ecb35df2be35b
I (2128) aithinker-debugLog::: Other event id:7
W (2148) wifi:<ba-add>idx:1 (ifx:0, 9c:9d:7e:40:e8:10), tid:0, ssn:0, winSize:64
I (3458) aithinker-debugLog::: MQTT_EVENT_CONNECTED
I (3458) aithinker-debugLog::: sent subscribe successful=$oc/devices/aithinker_F4CFA25BB195/sys/events/down
I (3468) aithinker-debugLog::: sent subscribe successful=$oc/devices/aithinker_F4CFA25BB195/sys/messages/dowm
I (3558) aithinker-debugLog::: MQTT_EVENT_SUBSCRIBED, msg_id=60971
I (3618) aithinker-debugLog::: MQTT_EVENT_SUBSCRIBED, msg_id=21864
I (3558) aithinker-debugLog::: MQTT_EVENT_SUBSCRIBED, msg_id=60971
I (3618) aithinker-debugLog::: MQTT_EVENT_SUBSCRIBED, msg_id=21864

源码免费获取:https://github.com/xuhongv/esp-huawei


另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!

  • 玩转无线物联网带你飞、免费加千人群讨论,群里众多国内ESP开发者,找到你一份归属,免费白嫖。
  • QQ讨论一群,点击加群:434878850
  • QQ讨论二群,点击加群:623325168
  • 个人微信公众号:徐宏blog , 不定时推送干货文章,不推送任何广告。
  • 个人邮箱:xuhongv@yeah.net 24小时在线,有发必回复!
  • esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
  • esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
  • 关注下面微信公众号二维码,干货多多,第一时间推送!

以上是关于乐鑫Esp32学习之旅29 安信可Wi-Fi模组对接华为云物联网平台的指南。(附带源码)的主要内容,如果未能解决你的问题,请参考以下文章

乐鑫Esp32学习之旅29 安信可Wi-Fi模组对接华为云物联网平台的指南。(附带源码)

乐鑫Esp32学习之旅29 安信可Wi-Fi模组对接华为云物联网平台的指南。(附带源码)

乐鑫Esp32学习之旅 安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,拍照图片通过有线串口传到上位机PC端。(附带设备端+PC端源码)

乐鑫Esp32学习之旅 安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,拍照图片通过有线串口传到上位机PC端。(附带设备端+PC端源码)

乐鑫Esp32学习之旅 安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,拍照图片通过有线串口传到上位机PC端。(附带设备端+PC端源码)

乐鑫Esp32学习之旅 乐鑫 ESP-S2/S3 模组的实现 USB 无线网卡上网,为你的台式机装上无线WiFI上网吧。(附带源码)