创建一个使用物联网(IoT)的环境监测系统,并在网页上显示数据
扫描二维码
随时随地手机看文章
在这个项目中,RAK1906传感器被用来监测周围环境:温度、压力和湿度。传感器数据将通过LoRaWAN传输到b等云平台,并显示在使用Codeigniter框架创建的网页中,使用JavaScript和MySQL数据库进行数据存储和分析。
故事(分步指南)
步骤1:安装WisBlock组件
•安装和固定微控制器在主板上:
•将传感器安装并固定在主板上:
•连接LoRa天线:
步骤2:配置Arduino IDE
1. 使用USB-C线将模式连接到计算机。
2. 在Arduino IDE中,增加了对WisBlock的支持:
启用名为Build和Load的选项,以及名为Additional Panel Manager url的字段
3. 安装WisBlock tile的库:
4. 选择WisBlock RAK4631板:
步骤3:连接TTN
1. 登录TTN
2. 创建一个新的应用程序:
填写完所需的字段后,单击Create App完成设置。
3. 要添加新设备,请执行以下步骤。
4. 选择手动注册方式。
5. 按照以下步骤设置您的设备与TTN连接:
—在本例中,由三个文件组成:
○lora_handler.cpp:该文件管理LoRaWAN通信,包括认证密钥和网络设置等网络参数。
○main.h:该文件包含全局变量和程序中使用的函数声明。应用程序的核心库。
○RAK4631-DeepSleep-LoRaWan。Ino:采集传感器数据并通过网络传输的主文件。它还处理电源管理,包括传输之间的深度睡眠模式。
-验证后将代码上传到设备,在TTN控制台中进行检查,接收到HEX格式的“Hello”消息:
m_lora_app_data_buffer[buffSize++] = 'e';m_lora_app_data_buffer[buffSize++] = 'l';m_lora_app_data_buffer[buffSize++] = 'l';m_lora_app_data_buffer[buffSize++] = 'o';
4 .编写代码
连接RAK1906_Environment_BME690传感器,请遵循以下步骤:
1. 安装RAK1906传感器所需的SX126x-Arduino库:
2. 从一个传感器示例开始,检查Arduino IDE中的环境传感器。为此,您可以访问:
3. 编译加载完示例后,串口监视器显示数据:
在对传感器进行检查后,将合并TTN和传感器中数据传输的两个示例。为此,我们从Arduino IDE中的LoRaWAN示例开始,修改如下:
-打开RAK4631-DeepSleep-LoRaWan。包含环境传感器库的文件:
# include
# include
并具有以下功能:
void bme680_init()
void bme680_get()
在setup()函数中,通过调用bme680_init()函数对传感器进行初始化
修改loop()函数以从传感器读取数据:
-更新sendLoRaFrame函数如下:
在TTN应用程序中,您转到Payload Formatter到Uplink选项,在那里您选择Custom JavaScript Formatter。将编写一个函数来解码HEX格式的数据,如下所示:
测试并将代码上传到TTN应用程序后,应该可以成功接收到RAK1906传感器的值。
在云中收集的数据可以通过webhooks传输到外部应用程序,例如Ubidots。在本例中,我们选择了传输到自定义服务的选项。要做到这一点,应遵循以下步骤:
1. 在创建的TTN应用程序中选择Webhook,从可用模板中选择自定义Webhook。
2. 在一般设置中,输入从传感器接收到新数据时将调用的ID和url以及发送数据的格式。
3. 在“已启用事件类型”区域框中选择“上行消息”。
本文编译自hackster.io