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

Posted HaaS技术社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工科生的信仰 ESP32 + HaaS Python 打造HaaS收音机相关的知识,希望对你有一定的参考价值。

HaaS收音机

简介

FM收音机作为上世纪的产物,一度是大家日常使用最多的工具之一,现在已经很少用到,主要还是用在汽车上。一台经典的收音机往往能勾起很多人的回忆。本案例教大家如何快速打造一台物联网FM收音机。

物联网FM收音机,可以将扫描到的电台信息以及信号强度同步到平台平台上,并且可以Web界面远程控制搜台,指定电台播放等操作。

准备

本案例打造需要如下硬件:

  • HaaSEDUK1一台
  • Tea5767F模块一个
  • 杜邦线若干
  • Type-C数据线一条

硬件连线图

硬件连线图如下图所示:

物联网平台开发

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

  1. 开通公共实例
  2. 创建产品(设备模型)
  3. 定义产品功能(物模型)
  4. 创建设备及获取三元组

开通公共实例

   对于第一次使用物联网平台的读者,需要开通实例以使用物联网平台的功能。这里可以使用免费的公共实例进行开发。

   在物联网平台中,左上角选择“华东2-上海”,点击“公共实例”,即可开通。开通后点击“公共实例”,即可进入控制台进行产品创建。

创建产品(设备模型)

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

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

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

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

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

   点击“前往定义物模型”。

定义产品功能(物模型)

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

   生成后的效果如下:

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

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

创建设备及获取三元组

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

   生成的设备如下。

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

点击前往“查看”按钮,就可以看到此设备的详细信息了。

   点击右上角的“查看”按钮,就能看到设备的三元组信息了。 三元组是物联网设备端和物联网云端设备相关联的唯一标识符,在设备端连接云端的时候会使用三元组信息和云端进行鉴权,鉴权通过之后云端会认为设备已激活并上线。

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

设备端开发

开发环境

   在进行下一步之前请确保HaaSEDUK1开发环境已经搭建完毕。详情请参考HaaS EDU K1开发环境的说明。

创建解决方案

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

下载设备端代码并解压,将解压后的所有脚本复制并覆盖刚刚创建的工程目录下的原有文件,之后对代码进行如下修改。

Python脚本的详细说明请参考脚本内嵌的文字版注释

  1. 填写Wi-Fi名称及密码

   在main.py中,填写可用的Wi-Fi名称及密码。

# wifi连接的的ssid和pwd定义
wifiSsid = "请填写您的路由器名称"
wifiPassword = "请填写您的路由器密码"
  1. 修改设备端三元组

   在main.py中,填写创建的设备三元组信息。关于设备三元组的获取,请参考"创建设备及获取三元组"中的步骤。

# 三元组信息
productKey     = "产品key"
deviceName     = "设备名称"
deviceSecret   = "设备密钥"

运行结果

在物联网平台上查看设备数据

   再次前往物联网平台的设备信息页面,若设备运行正确,此时应该可以看到设备名右侧的状态由“未激活”变为“在线”。

物联网应用开发

IoT Studio 提供了应用快速开发的能力,可以很方便地与物联网平台进行联动。本节的开发工作也将围绕 IoT Studio展开。

新建“普通项目”

打开IoT Studio官网,在项目管理中新建一个空白项目,如下图所示,将此项目命名为“HaaS收音机项目”,开发者也可以根据自己的喜好来命名。

关联产品

为了使本项目能够获取到目标设备的定位信息,我们首先需要将该项目和我们在前一节创建的产品“HaaS收音机”绑定。

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

创建“移动应用”

界面开发及交互配置

按下图所示依次将控件拖入界面中,可以根据自己需要添加所需要的控件。各组件的说明请参考IoT Studio组件说明

按下图所示,为每一个按钮配置交互行为,当点击特定按钮时,设置设备物模型标签为对应值。首先配置指定电台。

接下来配置搜台按钮的数据源。

静音按钮配置如下:

信息卡片配置如下:

预览及发布应用

点击右上角按钮预览或发布,即可在手机上使用应用,可以实现随时随地远程控制啦。

来这里发现更多有趣案例

HaaS开发框架HaaS积木方案,赋能生态开发者,让您快速找到自己需要的解决方案,硬件主板与外设,以及各种应用组件。https://haas.iot.aliyun.com/solution

以上是关于工科生的信仰 ESP32 + HaaS Python 打造HaaS收音机的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

毕设参考跌倒检测 ESP32+HaaS Python Motion API 快速打造上云的跌倒检测系统