×

使用Qubitro和RAKWireless快速部署Wi-Fi传感器

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2023-06-15

分享资料个

描述

起初,有 Qubitro 和 RAKWireless

RAKWireless 开始销售模块化硬件平台,允许任何人使用包含控制器和无线电的核心模块,并将它们与预制传感器或 I/O 模块配对,让您在几分钟内创建自定义设备。这与 Qubitro 搭配得很好,任何人都可以使用他们的设备,并在几分钟内开始将数据导出到云和应用程序。它们共同构成了一对强大的组合,可以在更短的时间内部署一个可以监控您的冰箱或商业运营的定制设备,从而缩短制作三明治的时间。

为了开始,您只需要一个 RAKWireless 基板、RAKWireless 传感器模块和一个 RAKWireless ESP32 内核,可以连接到运行 Arduino IDE 或 PlatformIO 的计算机。请注意,该示例是在考虑 PlatformIO 的情况下编写的,如果使用,将自动安装所有需要的库。

设置

要让计算机为只需要完成一次的项目做好准备,请下载 Arduino IDE 或 vscode,如果您使用的是 vscode,请确保从扩展选项卡安装 PlatformIO 插件。

选择 Arduino IDE 时,要添加对 RAK WisBlocks 的支持,只需将以下 URL 添加到板管理器 URL 列表中,然后在板管理器中搜索“RAK”将显示 ESP32 内核的板包,然后可以安装。https://raw.githubusercontent.com/RAKwireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless_index.json

如果使用 PlatformIO,请按照本指南添加 WisBlock 支持

要下载所有依赖项以运行此示例,PlatformIO 用户只需打开项目并首次点击编译按钮,但如果使用 Arduino IDE,则需要打开库管理器并安装以下库-

Adafruit BME680
SparkFun SHTC3 Humidity and Temperature Sensor
ClosedCube OPT3001
SparkFun LIS3DH Arduino
Arduino_LPS22HB
ArduinoJson
QubitroMqttClient

最后要做的就是取出基础 WisBlock 板,将 ESP32 核心插入底座并拧紧。在传感器插槽中添加您想要的任何传感器,该示例允许轻松测试 WisBlock 入门套件中使用的任何传感器,包括温度/湿度、气压、光、气体、环境和加速度计。

上传您的固件

克隆 WisBlocks 的 Qubitro 示例项目或直接从 GitHub 网站下载这将下载一个文件夹,其中包含不同的 Qubitro 制作的 WisBlock 示例,请注意,这些示例旨在让您使用硬件并开始使用,因此它们非常简单并且不是最低功耗。对于 ESP32 内核,我们将使用01-ESP32WiFi-Sensors示例,该示例应在您选择的 IDE 中打开。

git clone https://github.com/qubitro/wisblock-sensornode-example.git

请注意,如果使用 Arduino IDE,“main.cpp”文件必须重命名为“QubitroRAKESP32Example.ino”。

poYBAGNhzd6AZ62PAAF36fMHcII009.png
Qubitro 设备设置页面
 

唯一需要更新以使示例运行的文件是“main.h”,它允许通过取消注释预处理器定义来启用任何传感器,并且可以将 Wi-Fi 详细信息添加到 WIFI_SSID 和 WIFI_PASS 声明. 要使用 Qubitro 进行身份验证,请将新设备添加到项目的设备列表中,然后访问该设备的设置选项卡。在那里,您将找到要粘贴到 QUBITRO_DEVICE_ID 和 QUBITRO_DEVICE_TOKEN 主文件中的 ID 和令牌。可以在 main.h 文件中更改其他详细信息,例如您是否想为传感器供电(这对于气体监测之类的事情可能不理想),如果您想使用 TLS(默认情况下启用),以及数据频率。

// main.h configuration file for project
#ifndef MAIN_H
#define MAIN_H
#include <Arduino.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <QubitroMqttClient.h>
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <ArduinoJson.h>

#define WIFI_SSID "WIFI_SSID_HERE"
#define WIFI_PASS "WIFI_PASS_HERE"
#define QUBITRO_DEVICE_ID "PASTE_DEVICE_ID_HERE"
#define QUBITRO_DEVICE_TOKEN "PASTE_DEVICE_TOKEN_HERE"

// Comment out to disable a sensor
#define SHTC3_TEMP_HUM_SENSOR
#define LPS22_PRESSURE_SENSOR
//#define OPT3001_LIGHT_SENSOR
//#define LIS3DH_ACCEL_SENSOR
//#define BEM680_ENV_SENSOR
//#define UBLOX_GPS

#define VBAT_MV_PER_LSB 10
#define VBAT_DIVIDER_COMP 0
#define PIN_VBAT WB_A0
#define REAL_VBAT_MV_PER_LSB (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB)

// Comment out to disable powergating
#define POWERGATE_SENSORS

#define POLL_TIME 600000
#define USE_SSL 1
#define BUFFER_LEN 1024

bool populateSensorData(char *buffer);
void initSensors();
#endif

配置 main.h 文件后,将 Wisblock 内核上的 BOOT0 引脚短接到它旁边的接地引脚,ESP32 内核应该带有接头和跳线来执行此操作,但一对镊子也可以使用。当使用短接的跳线按下复位按钮时,ESP32 进入编程模式。请注意,您可以跳转并按下按钮,然后断开跳线,ESP32 将保持在编程模式,直到再次按下复位按钮。按下 IDE 中的上传代码按钮,完成后再次按下重置按钮,您应该能够打开串行控制台并看到设备连接到 Wi-Fi 并开始发布到 Qubitro。

 
 
 
poYBAGNhzeWASXD8AAKZDVi9lJo267.png
 
1 / 2
 

现在您的数据正在流入 Qubitro,您可以在设备页面中以表格形式查看原始数据,并使用易于使用的拖放界面创建自定义仪表板。

poYBAGNhzemAXOMMAAI4NbzcX34977.png
带有一台设备的 Qubitro 项目仪表板示例
 

就是这样!设置可能需要一点时间,但为连接的传感器可能会有所不同的新设备上传可能需要不到一分钟的时间!


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !