esp32腾讯云(esp32程序)
本文目录一览:
- 1、esp32关闭没用外设
- 2、为什么都不推荐esp32
- 3、esp32如何接入鸿蒙系统
- 4、esp32通过按键调节电压增加
- 5、玩转 ESP32 + Arduino (六) 硬件定时器, IIC, SPI
esp32关闭没用外设
硬件准备
ESP32开发板一套
1、一分钟上云体验
打开“支付宝”扫描下图二维码
在案例详情中,点击“立即体验”
是不是感觉挺神奇的,手摸一摸就能在手机上显示摸了哪几个引脚。
只需要以下几步
2、物联网平台开发
整个过程包含以下4个步骤:
1、开通公共实例
2、创建产品(设备模型)
3、定义产品功能(物模型)
4、创建设备及获取三元组
2.1、开通公共实例
对于第一次使用物联网平台的读者,需要开通实例以使用物联网平台的功能。这里可以使用免费的公共实例进行开发。在物联网平台中,左上角选择“华东2-上海”,点击“公共实例”,即可开通。开通后点击“公共实例”,即可进入控制台进行产品创建。
2.2、创建产品(设备模型)
进入公共实例控制台,点击“创建产品”按钮,即可进入新建产品页面。
进入新建产品页面,设定“产品名称”,这里我们命名为“nodemcu32S”,读者也可以根据自己的喜好来命名。在“所属品类”中,选择“自定义品类”。
产品的节点类型选择“直连设备”,数据格式选择“ICA标准数据格式”,检验类型和认证方式选择默认设定即可。开发者可根据自己的需求在“产品描述”页面添加针对此产品的描述。
对于ESP32等搭载Wi-Fi的设备而言,联网方式选择“Wi-Fi”。
点击“确认”按钮,即可完成产品创建。
点击“前往定义物模型”
2.3、定义产品功能(物模型)
开发者可以使用准备好的物模型文件来进行快速导入。点击左上角“快速导入”,选择物模型文件并上传,就能够生成案例对应的物模型。
生成后的效果如下:
定义好物模型后,需要发布物模型上线,并发布产品,以使变更生效。
产品及其物模型创建完成后就可以创建这个产品的设备了。
2.4、创建设备及获取三元组
点击左侧栏中“设备”,在筛选框中选择需要添加的产品,点击“添加设备”,这里我们命名为“test_device”,开发者可以根据自己的喜好来命名。
开发者也可以选择“批量添加”,一次性添加多个设备,并声称随机的DeviceName。
生成的设备如下:
点击前往“产看”按钮,就可以看到此设备的详细信息了。
点击左上角的“查看”按钮,就能看到设备的三元组信息了。
三元组是物联网设备与云端关联的唯一标识符,在设备端连到云端的时候会使用三元组信息和云端进行鉴权,鉴权通过之后云端会认为设备已激活并上线。
3、设备端开发
在进行下一步之前请确保ESP32开发环境已经搭建完毕。详情请参考“ESP32快速开始”的说明。
3.1、创建解决方案
如下图所示,打开VSCode之后再新建一个基于helloword的python工程,设定好工程名称(“test_demo”)及工作区路径之后,硬件类型选择ESP32,点击立即创建,创建一个Python轻应用的解决方案。
将脚本压缩包解压后,复制该文件夹下的所有文件,覆盖"test_demo"工程目录下,main.py文件:
Python脚本的详细说明请参考脚本内嵌的文字注释。
修改路由器名称及密码
修改工程里main.py中wifiSsid和WifiPassword的值为读者实际要链接的路由器名称及密码(请注意名称和密码都需要放在""符号中间)。
# Wi-Fi SSID和Password设置
wifiSsid = "请填写您的路由器名称"
wifiPassword = "请填写您的路由器密码"
修改完成后get_wifi_status函数中的wlan.connect(wifiSsid,wifipassword)语句就会连接读者自己设定的路由器。
修改设备端三元组
# 物联网平台相关的key和serect定义
ProductKey = 'ProductKey'
DeviceName = 'DeviceName'
DeviceSecret = 'DeviceSecret'
点击“部署运行”,等待程序运行。
3.2、物联网平台端设备信息查看
再次前往物联网平台的设备信息页面,若设备运行正确,此时应该可以看到设备名右侧的状态由“未激活”变为“在线”。选中“实时刷新”,可以看到数据实时从设备上报到物联网平台,设备上云成功。
为什么都不推荐esp32
原因有以下几点。
1普及率也就是开发者人数问题,虽然arduino相关应用很多,但是如果说想开发一个相对复杂的产品来说这些都不适用,只能使用esp-idf官方提供的框架。使用esp-idf开发的人数相对来说是少数,开发者遇到的问题在网上很难找到答案。
2芯片性能较弱和资源较少。
3稳定性问题,esp32还很年轻,还需要时间去验证。
4开发难度和学习成本。esp-idf开发难度还是有的,学习成本也比较高。
esp32如何接入鸿蒙系统
有以下四步解析:
1.使用ESP32或S2;
2.可以同时对接华为鸿蒙系统和我们自己的云端,同时连接2个云;
3.采用MQTT通信;
4.项目完成提交全部代码。
扩展:鸿蒙系统(HarmonyOS)是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全,主要用于物联网,特点是低时延,甚至可到毫秒级乃至亚毫秒级。
鸿蒙OS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架。可用于大屏、PC、汽车等各种不同的设备上。还可以随时用在手机上,但暂时华为手机端依然优先使用安卓。
鸿蒙系统是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言。鸿蒙系统将从软件的底层技术来让更多的设备融为一体,让多个设备不仅可以连在一起,还可以实现协同,让用户在使用多个设备时,像使用一个设备时那样简单,从而为消费者带来更好的体验。
esp32通过按键调节电压增加
是。ESP32是乐鑫继ESP8266后推出的又一款集成WiFi功能的微控制器。esp32通过按键可以调节电压增加,ESP32拥有比ESP8266更加强大的性能,可以用来开发更加复杂的应用。该成品业内集成度高、性能稳定、功耗低的无线系统级芯片。
玩转 ESP32 + Arduino (六) 硬件定时器, IIC, SPI
ESP32 芯片包含两个硬件定时器组。每组有两个通用硬件定时器。它们都是基于 16 位预分频器和 64 位自动重载功能的向上/向下计数器的 64 位通用定时器。
hw_timer_t * timerBegin(uint8_t num, uint16_t divider, bool countUp){}
参数:
返回值:
返回一个计时器结构体指针 hw_timer_t * ,我们预定义一个指针接收他
void timerEnd(hw_timer_t *timer)
参数:
void timerAttachInterrupt(hw_timer_t timer, void ( fn)(void), bool edge){}
参数:
void timerDetachInterrupt(hw_timer_t *timer)
void timerAlarmWrite(hw_timer_t *timer, uint64_t alarm_value, bool autoreload){}
参数:
void timerAlarmEnable(hw_timer_t *timer){}
参数:
void timerAlarmDisable(hw_timer_t *timer)
bool timerAlarmEnabled(hw_timer_t *timer)
ESP32有两个I2C控制器(也称为端口),负责处理两条I2C总线上的通信。每个I2C控制器都可以作为主机或从机运行。引脚21 默认的SDA, 引脚22是默认的SCL
IIC需要引入自带库 Wire.h Wire继承steam类 steam类有的他都有
void requestFrom(uint16_t address, uint8_t size, bool sendStop)
请求完成后 主机可以用 Wire.available() 和 Wire.read() 等函数等待并获取从机的回答
参数:
void beginTransmission(int address)
随后, 主机可以使用 Wire.write(); 写数据并使用 Wire.endTransmission(); 结束传输
参数:
结束传输, 并释放IIC
返回值: uint8_t 类型
当作为主机时: 主机将要发送的数据加入发送队列;
当作为从机时: 从机发送的数据给主机;
参数:
返回值: byte类型
输入的字节数
返回接收到的字节数
返回值: byte类型
当作为主机时: 主机使用requestFrom()后 要使用此函数获取数据;
当作为从机时: 从机读取主机给的数据;
返回值: 读到的字节数据 byte
size_t readBytes(char *buffer, size_t length)
参数:
返回值: 数据长度
size_t readBytesUntil(char terminator, char *buffer, size_t length)
参数:
返回值: 数据长度
Wire.busy();
返回布尔值
继承自steam类, 个人感觉iic不会用到的
parseFloat
parseInt
findUntil
setTimeout
这些都是steam继承来的 大家灵活应用
从机有些函数和主机是一样的, 请看上一章节,本章节只有不一样的部分
Wire.begin(adress); //adress取值0~127
void onRequest(void (*)())
参数:
void onReceive(void (*)(int))
参数:
ESP32有四个SPI外设,分别为SPI0、SPI1、HSPI和VSPI。
SPI通讯流程如下:
SPI接口默认VSPI. 接口频率1 000 000, 数据默认采用MSBFIRST(低有效位优先), 时钟模式:SPI_MODE0(SCLK闲置为0, SCLK上升沿采样)
参数:
参数:
参数:
采用该函数,可以代替上面三个函数了.
参数:
结束SPI通信
参数:
返回值: 接收到的数据
发表评论
暂时没有评论,来抢沙发吧~