本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于 树莓派3B型 的涂鸦物联网云智能气象灯

发布时间:2021-10-27
分享到:

基于 树莓派3B型 的涂鸦物联网云智能气象灯

发布时间:2021-10-27
分享到:

本方案是一个智能家居设备来直观地向您显示/发出您所在城市的空气质量状态和天气预报的信号。好吧,天气总是让你猜测,但很高兴这样的设备可以更好地可视化天气或空气质量,这样你就会知道你是否需要口罩、雨伞、外套、雪铲、一些纸巾(用于高花粉)或出门时穿凉鞋和短裤。印度的一些地区,如德里,污染严重,容易出现极端气候,因为它受靠近喜马拉雅山和塔尔沙漠的影响很大,导致它经历了两种极端天气,气压变化很大。所以最好检查这个项目并为天气紧急情况做好准备。

使用的技术:
基于涂鸦智能物联网和云平台,可以简单快速地开发此类解决方案。本方案将介绍如何使用涂鸦云API和物联网平台快速完成一个智能气象灯原型。您不需要有任何 Arduino 编程经验或本教程的任何焊接经验,它纯粹是使用简单的 Python 语言。

涂鸦物联网和云是什么?
涂鸦是全球领先的物联网云平台,连接品牌、OEM、开发商和零售连锁店的智能需求。该平台为开发者提供一站式的物联网PaaS级解决方案,包含硬件开发工具、全球云服务、智慧商业平台开发,涂鸦提供从技术到营销渠道的全方位生态赋能,打造全球领先的物联网云平台。甚至您可以使用涂鸦云平台将硬件连接到云端,然后使用他们的 API 来控制和监控这些对象。

我们先搭建一下,先从涂鸦平台开始,然后跳过硬件。

第一步:涂鸦云和物联网平台搭建
i) 在涂鸦平台上创建一个帐户

ii) 点击左侧导航栏中的产品 > 开发 > 创建,你会看到一长串设备类别会出现(我们将选择环境检测器)

iii) 在此之后填写产品的详细信息并选择 Wifi 连接

这样做的主要原因是你有一个可以用涂鸦云 API 更新其值的应用程序(意味着这只是一个移动应用程序的虚拟设备,但会被云 API 控制,不要害怕,您无需购买任何此类传感器)

iv) 将所有这些标准 DP 添加到我们创建的设备中(请注意,您可以添加自己的自定义 DP 但 Cloud API 无法识别它,它仅适用于标准 DP)

v) 您可以使设备面板具有交互性和美观性,我们将修改默认的应用面板以满足我们的需要(此步骤完全可选/可以轻松完成)

vi) 接下来单击左侧导航栏中的Cloud > Development ,然后选择 TRIAL EDITION 选项:

vii) 在下一页选择试用版并点击立即购买。别担心,您不必添加信用卡,整个过程是完全免费的。

viii) 创建一个云开发项目

现在我们需要创建一个云项目。单击页面右侧的创建云项目。在对话框中,填写表格并点击创建。

对于行业选择智能家居,为发展方法选择自定义,并可用区域选择与您所在地区的服务器地址。

在授权 API 服务页面,您可以看到默认选择了一些 API 服务(在右侧),但我们还需要添加其他 API。我们正在寻找的是Device Status Notification 、Industry Project Client Service 、Weather Service和LBS API。选择它们并点击授权。事实上,您可以选择所有相关的以供将来进行自定义。之后,您将看到用于创建资产和用户的项目配置页面,请记住我们将使用相同的电子邮件和密码进行 Cloud SDK 和 API 身份验证,即使在移动应用程序上也是如此。

ix) 在 Cloud App 控制台中,转到设备 > 添加设备和我的产品,然后选择我们在前面步骤中制作的 IoT 设备,

在您安装的涂鸦设备管理应用程序上,您可以在您的资产中检查您的设备,并且将能够看到如前面步骤所示的移动应用程序面板。

第二步:涂鸦云设备控制SDK

硬件:我们将使用 Raspberry Pi 3B+,您也可以使用高于它的任何版本,对于 LED 阵列,我将使用 Matrix Creator Board,该板是我最喜欢的所有板,具有许多板载传感器和 35 RGBw发光二极管。

推荐 5V 3A Micro USB 电源,现在使用安装了最新版本Raspberry Pi OS 的MicroSD 卡。使用Etcher.io 刷写和烧录树莓操作系统,方便刷写。

刷入操作系统后,第一次尝试连接显示器,然后您可以通过VNC或SSH远程访问设备。

为了通过代码与Matrix设备接口,让我们安装Matrix Lite python3包

以下是该项目令人兴奋的部分,您编写一些简单的基于 Python 的代码并通过云连接到您的设备并控制并了解其状态,

我们还需要安装Tuya-iot-python-sdk包。打开一个新的终端窗口并运行以下命令:

脚本非常简单易懂,我们先做涂鸦授权

我们将需要我们的位置数据才能使用涂鸦天气 API,所以我们将首先获取我们的 IP 地址,然后使用涂鸦 LBS 服务 API 找出我们的坐标,

现在我们将使用天气 API 获取我们所在位置的天气和空气质量数据

根据结果​​,这里的天气条件编号,我们将更改设备颜色,全天候条件编号在 101 - 146 之间,从多云到大雪条件

# Matrix device python wrappers already have all colour defined which are used # here
def weatherColorStatus(condition_num):
    if condition_num == 120:
        led.set(color.SUNNY_120)
        return True
    if condition_num == 146:
        led.set(color.CLEAR_146)
        return True
    if condition_num == 139:
        led.set(color.LIGHT_RAIN_139)
        return True
    if condition_num == 132:
        led.set(color.OVERCAST_132)
        return True
    if condition_num == 141:
        led.set(color.MODERATE_RAIN_141)
        return True
    if condition_num == 101:
        led.set(color.HEAVY_RAIN_101)
        return True
    if condition_num == 129:
        led.set(color.PARTLY_CLOUDY_129)
        return True
    if condition_num == 140:
        led.set(color.HAZE_140)
        return True
    if condition_num == 121:
        led.set(color.FOG_121)
        return True
    if condition_num == 109:
        led.set(color.DUST_109)
        return True
    if condition_num == 103:
        led.set(color.SANDSTORM_103)
        return True
    if condition_num == 105:
        led.set(color.SNOW_105)
        return True
    else:
        led.set('black')
        return False

好了,当您在设备上运行脚本时,它应该会使用 Cloud API 自动获取数据并更新灯的状态。您现在也可以尝试组合空气质量数据 API,但我觉得如果我们分别运行两个 API 脚本会更有用,否则颜色会让人难以理解。

结果:

该方案中所用到的代码

如果您对此项目有任何想法、意见或问题,请在下方留言。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论