新年到,HaaS Python + ESP32给您DIY送福啦,还有丰富的光效动画哦

Posted HaaS技术社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新年到,HaaS Python + ESP32给您DIY送福啦,还有丰富的光效动画哦相关的知识,希望对你有一定的参考价值。

又是一年春节到,为了感谢一直以来支持HaaS的开发者朋友们,ESP32 + HaaS Python为大家DIY送福啦!!!

除了送福,还有丰富的光效动画哦

那么,开发起来难不难呢?按照惯例,只需3步:

1、硬件连线、开发前先体验一把

1.1、硬件连线

只需准备如下硬件

  • ESP32开发板
  • 外置5V电源(可选)
  • WS2812点阵屏(分辨率16*16)
  • 杜邦线若干

其中,WS2812点阵屏跟ESP32之间的连如下:

 由于点阵屏需要的功率较大,ESP32上的5V供电很可能无法支撑正常点亮点阵屏,建议使用外置电源为点阵屏供电,同时要求外置电源与ESP32共地。可选用常见的“USB转TTL模块”,带了5V与3.3V供电,能满足我们大部分场景开发需求。其完整的接线方式为:

1.2、开发前先体验 

打开支付宝扫描以下小程序二维码

在完成上面硬件连线之后,就可以进行此案例的完整体验了哦。

2、物联网平台开发

整个过程包含以下4个步骤:

1、开通公共实例

2、创建产品(设备模型)

3、定义产品功能(物模型)

4、创建设备及获取三元组

2.1、开通公共实例

对于第一次使用物联网平台的读者,需要开通实例以使用物联网平台的功能。这里可以使用免费的公共实例进行开发。在物联网平台中,左上角选择“华东2-上海”,点击“公共实例”,即可开通。开通后点击“公共实例”,即可进入控制台进行产品创建。

2.2、创建产品(设备模型)

进入公共实例控制台,点击“创建产品”按钮,即可进入新建产品页面

进入新建产品页面,设定“产品名称”,这里我们命名为“RGB点阵屏”,读者也可以根据自己的喜好来命名。在“所属品类”中,选择“自定义品类”。

产品的节点类型选择“直连设备”,数据格式选择“ICA标准数据格式”,检验类型和认证方式选择默认设定即可。开发者可根据自己的需求在“产品描述”页面添加针对此产品的描述。

对于ESP32等搭载Wi-Fi的设备而言,联网方式选择“Wi-Fi”。

 点击“确认”按钮,即可完成产品创建。

点击“前往定义物模型”

2.3、定义产品功能(物模型)

开发者可以使用准备好的物模型文件来进行快速导入。点击左上角“快速导入”,选择物模型文件并上传,就能够生成案例对应的物模型。

 生成后的效果如下:

定义好物模型后,需要发布物模型上线,并发布产品,以使变更生效。

产品及其物模型创建完成后就可以创建这个产品的设备了。

2.4、创建设备及获取三元组

点击左侧栏中“设备”,在筛选框中选择需要添加的产品,点击“添加设备”,这里我们命名为“test_device”,开发者可以根据自己的喜好来命名。

开发者也可以选择“批量添加”,一次性添加多个设备,并声称随机的DeviceName。

生成的设备如下:

点击“查看”按钮,就能看到设备的三元组信息了。

三元组是物联网设备与云端关联的唯一标识符,在设备端连到云端的时候会使用三元组信息和云端进行鉴权,鉴权通过之后云端会认为设备已激活并上线。

3、设备端开发

在进行下一步之前请确保ESP32开发环境已经搭建完毕。详情请参考“ESP32快速开始”的说明。

3.1、创建解决方案

如下图所示,打开VSCode之后再新建一个基于helloword的python工程,设定好工程名称(“ws2812_matrix”)及工作区路径之后,硬件类型选择ESP32,点击立即创建,创建一个Python轻应用的解决方案。

脚本压缩包解压后,复制该文件夹下的所有文件,覆盖工程目录下,文件如下图所示:

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、物联网平台端设备信息查看

再次前往物联网平台的设备信息页面,若设备运行正确,此时应该可以看到设备名右侧的状态由“未激活”变为“在线”。选中“实时刷新”,可以看到数据实时从设备上报到物联网平台,设备上云成功。

3.3、在物联网平台上在线设备调试

点击左侧侧边栏,进入“监控运维-在线调试”,选择对应的产品和设备,更改设备属性并下发。

当看到点阵屏发生变化时,说明属性下发成功

 4、物联网应用开发

IoT Studio 提供了应用快速开发的能力,可以很方便地与物联网平台设备进行联动,本节将进行详细地介绍。

4.1、新建“普通项目”

打开IoT Studio官网,新建一个名为“RGB点阵屏遥控器”的空白项目,如下图所示

4.2、关联产品

为了使本应用能控制刚刚创建的设备,我们需要对此应用和设备进行关联。

在项目控制台,点击左侧的“产品”,选择“关联物联网平台产品”。此时可以看到我们创建的“RGB点阵屏”。点击选中,并勾选“关联产品时关联其下所有设备”,以便该项目可以访问到所有设备的信息。

4.3、创建移动应用

4.4、界面开发与交互配置

如上图所示,为每一个按钮配置交互行为,当点击特定按钮时,设置设备物模型标签为特定值。

4.5、预览及发布应用

点击右上角“预览”或“发布”,即可在手机上使用,可以随时随地地远程控制啦!

以上是关于新年到,HaaS Python + ESP32给您DIY送福啦,还有丰富的光效动画哦的主要内容,如果未能解决你的问题,请参考以下文章

工科生的信仰 ESP32 + HaaS Python 打造HaaS收音机

使用 ESP32 + HaaS Python 打造云端一体车牌识别系统

ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧

ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧

ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧

ESP32 + HaaS Python UI Lite 组件 打造倒计时面板