nb-iot_IoT项目:Arduino使用Parse.com的Temboo向Android发送推送通知

article/2025/7/10 2:50:12
nb-iot

nb-iot

这篇文章介绍了如何创建一个IoT项目,项目使用Arduino通过Temboo和Parse.com将推送消息发送到Android智能手机。 例如,我们将构建一个基于Arduino和Android的警报系统,这是一个有趣的物联网(IoT)示例,该项目的目的是使用连接到Arduino板上的红外传感器(PIR)来构建警报将消息推送到Android智能手机。 该项目融合了不同的技术和平台,我们使它们一起工作!

警报系统使用两个平台来简化项目:

  • 滕博
  • Parse.com

物联网项目概述

在深入研究该项目之前,描述这两个平台非常有用。

Temboo是一个平台,具有一组“连接器”,可用于与其他平台或服务提供商(例如eBay,Yahoo!Weather,Google等)交换数据。 Temboo有趣的部分是它与Arduino开发板,以便这些连接器可以在Arduino上导出。

Parse.com是我们在上一篇文章中使用的平台,用于发送android push消息。

物联网项目的主要概述如下所示:

rect4608

显而易见,构建物联网项目由多个部分组成。 第一部分是带有PIR传感器的Arduino板,用于检测运动。 Arduino运行一个Temboo代理,该代理将数据发送到Parse平台。 当Arduino数字输入之一变高时,将触发此代理。 Temboo平台用于创建代理,而无需编写过多的代码行。 借助Temboo choreo ,Arduino可以将JSON数据直接发送到Parse.com,后者再将推送消息发送到我们的智能手机。

Arduino素描

第一步是设置使用PIR传感器的Arduino草图并对其进行测试。 这一步非常简单,我们必须使用三根电线将传感器连接到Arduino板:电源,接地和信号。

传感器非常简单,检测到运动时输出就很高。 对于本示例,我们可以假设它连接在数字引脚8上

要检查我们的传感器是否正常工作,并以正确的方式将其连接到Arduino板,以便它检测到运动,请尝试将此代码加载到arduino中:

int stato = 0;void setup() {// put your setup code here, to run once:Serial.begin(9600);pinMode(8, INPUT);
}void loop() {// put your main code here, to run repeatedly:stato = digitalRead(8);Serial.println(stato);delay(500);}

现在运行代码,将手移到传感器的前面,看一眼串行监视器以检查其是否有效!

现在,Arduino组件已准备就绪!

Temboo choreo

下一步是设置将Arduino开发板连接到Parse.com的代理。 在这种情况下,我们需要一个以太网屏蔽将Arduino连接到互联网。 我用过Wiznet W5500 。 创建帐户后,就可以配置Temboo杂务了。 我们想将Arduino连接到Parse,所以我们检查Parse-> Push Notification 。 解析杂项需要一些信息,然后再使用:

  • 申请编号
  • RestAPI密钥

这两个参数用于将代理连接到Parse.com。 您可以在Parse.com中找到以下信息:

Schermata 2015-09-14 alle 21.36.51

您必须将所需的密钥复制到Temboo中:

openshift控制台

好,我们准备好了。 如果需要,您可以尝试从Temboo发送通知到Parse.com。

现在设置控制代理的触发器:

Schermata 2015-09-21 alle 22.03.45

最后, Temboo将创建可立即使用的Arduino代码!! 最后将代码复制并粘贴到您的Arduino IDE中。

Temboo生成的代码如下所示:

#include 
#include <dhcp.h>
#include <dns.h>
#include <ethernet.h>
#include <ethernetclient.h>
#include <temboo.h>
#include "TembooAccount.h" // Contains Temboo account informationbyte ethernetMACAddress[] = ETHERNET_SHIELD_MAC;
EthernetClient client;// The number of times to trigger the action if the condition is met
// We limit this so you won't use all of your Temboo calls while testing
int maxCalls = 10;// The number of times this Choreo has been run so far in this sketch
int calls = 0;int inputPin = 8;IPAddress ip(192, 168, 1, 130); // Arduino IP Addvoid setup() {Serial.begin(9600);// For debugging, wait until the serial console is connecteddelay(4000);while(!Serial);Ethernet.begin(ethernetMACAddress, ip) ;Serial.println("OK");delay(5000);// Initialize pinspinMode(inputPin, INPUT);Serial.println("Setup complete.\n");
}void loop() {int sensorValue = digitalRead(inputPin);Serial.println("Sensor: " + String(sensorValue));if (sensorValue == HIGH) {if (calls < maxCalls) {Serial.println("\nTriggered! Calling SendNotification Choreo...");runSendNotification(sensorValue);calls++;} else {Serial.println("\nTriggered! Skipping to save Temboo calls. Adjust maxCalls as required.");}}delay(250);
}void runSendNotification(int sensorValue) {TembooChoreo SendNotificationChoreo(client);// Set Temboo account credentialsSendNotificationChoreo.setAccountName(TEMBOO_ACCOUNT);SendNotificationChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);SendNotificationChoreo.setAppKey(TEMBOO_APP_KEY);// Set profile to use for executionSendNotificationChoreo.setProfile("ParseAccount");// Set Choreo inputsString NotificationValue = "{\"channel\": \"temboo\", \"type\": \"android\", \"data\": {\"message\": \"This is a test alert!\"}}";SendNotificationChoreo.addInput("Notification", NotificationValue);// Identify the Choreo to runSendNotificationChoreo.setChoreo("/Library/Parse/PushNotifications/SendNotification");// Run the Choreounsigned int returnCode = SendNotificationChoreo.run();// Read and print the error messagewhile (SendNotificationChoreo.available()) {char c = SendNotificationChoreo.read();Serial.print(c);}Serial.println();SendNotificationChoreo.close();
}

配置Parse.com频道并构建Android应用

Temboo要求我们使用“解析”通道发送通知。 然后,我们必须修改我们的Android应用程序以使用渠道来监听传入的通知。 如果您不知道如何编写处理推送消息的android应用程序,则可以阅读我以前的文章,其中介绍了如何通过Parse.com发送android推送消息。

以这种方式稍微修改ParseTutorialApplication.java

@Overridepublic void onCreate() {super.onCreate();System.out.println("Application");Parse.initialize(this, "sfFzOxotpsdOHWJE3nMmD0erLgFoecttKvC9CzIc", "nwbMEy7l4STpyNrABdrQxpEjdKIynSbuec56QbEz");ParseInstallation.getCurrentInstallation().saveInBackground();ParsePush.subscribeInBackground("temboo");}

其中temboo是通道。

我们准备好了!! 运行该应用程序并将您的手移到传感器附近, Arduino会向Android智能手机发送推送消息

最终结果如下所示:

设备-2015-09-21-222805

在本文的最后,您知道如何使用Arduino和Android构建IoT项目,以及如何通过Temboo和Parse.com集成这两个生态系统

翻译自: https://www.javacodegeeks.com/2015/09/iot-project-arduino-sends-push-notification-to-android-using-temboo-parse-com.html

nb-iot


http://chatgpt.dhexx.cn/article/oJuVrShM.shtml

相关文章

NBIOT连接阿里云控制台(MQTT连接阿里云控制台)

首先使用MQTT工具连接阿里云平台进行测试之后再使用NBIOT连接控制台&#xff0c;这里主要讲解MQTT连接阿里云的步骤 1、注册或登录阿里云账号 自行前往阿里云官网注册 2、进入物联网界面 首先点击阿里云旁边1位置的选项进入如下界面&#xff0c;找到物联网IOt里面的物联网平…

NB-IoT 接入 5G 核心网丨边缘计算阅读周

#边缘计算阅读周# 读书的人&#xff0c;有梦可做。 边缘计算社区联合6大出版社邀您一起阅读&#xff0c;一起做追梦人。 在近日结束的ITU-R WP5D#35会议上&#xff0c;3GPP技术正式被接受为ITU IMT-2020 5G技术标准。 此次通过的3GPP技术包含中国提交的3GPP NR NB-IoT RIT&am…

NB-IOT开发实战

一&#xff0c;初识NB-IOT 1,NB-IOT介绍 NB ----Narrow BandIOT —Internet of thingsNB-IOT —窄带物联网 2&#xff0c;物联网发展 广/深覆盖&#xff1a;比GPRS覆盖增强20dB 低功耗&#xff1a;基于AA电池&#xff0c;使用寿命可超过10年 低成本&#xff1a;…

SIM7020X NB-IOT HAT 通过MQTT连接EMQ物联网平台

序言&#xff1a; MQTT是基于二进制消息的发布/订阅编程模式的消息协议&#xff1b;由于规范很简单&#xff0c;非常适合需要低功耗和网络带宽有限的IoT场景&#xff0c;比如&#xff1a;智能家居、智慧城市和医疗医护&#xff1b;深受广大童鞋的青睐和喜爱。下面我们以SIM7020…

NB-IOT接入云平台

概述&#xff1a; 在云平台创建一个NB-IOT的项目&#xff0c;启动模块&#xff0c;让模块能够接入云平台&#xff0c;通过云平台上报光照数据&#xff0c;在云平台控制相关执行器。 一、在云平台添加项目 二、添加设备 三、设备上电云平台上传传感器数据 四、设备可以通过KEY2…

NB-iot网络的组成架构

大家好&#xff0c;今天小白给大家简单介绍一下NB-iot网络的组成架构&#xff0c;欢迎一起交流学习。NB-iot网络架构.终端:主要是通过空口连接到基站。终端侧主要包含行业终端与NB-IoT模块。行业终端包括:芯片、模组、传感器接口、终端等;NB-IoT模块包括无线传输接口、软SIM装置…

【物联网】三大厂家NB-IOT卡对比

联通 联通没有集团统一的NB-IoT云平台,客户使用联通NB卡&#xff0c;设备数据无需再经过运营商平台&#xff0c;可直接接入自家服务器 收费 按月收费&#xff0c;30M/月&#xff0c;资费约一年15元 移动 参考网址&#xff1a;https://blog.csdn.net/Sanjay_Wu/article/deta…

Wifi模块-ESP-01s

Wifi模块-ESP-01s 蓝牙&#xff0c;ESP-01s&#xff0c;Zigbee&#xff0c;NB-lot等通信模块都是基于AT指令的设计 什么是AT指令&#xff1f; AT指令集是从终端设备&#xff08;Terminal Equipment&#xff0c;TE)或数据终端设备&#xff08;Data Terminal Equipment&#xff…

MySQL数据库(四)底层NB-IoT数据流的数据库写入

底层NB-IoT数据流的数据库写入 本文主要针对本人在NB-IoT项目中有关数据库的开发和使用&#xff0c;进行一些粗浅的学习指导。欢迎大家在评论区批评指正&#xff0c;感谢&#xff01; 文章目录 前言一、建立工程1.package:model2.package:dao3.package:util4.package:main 二、…

NB-LoT 云平台对接及使用

1、NB-LoT网络架构 1.1 NB-LoT网络框架 NB核心网络中的MME 提供核心网管理器&#xff0c;SGW提供核心网数据管理器&#xff0c;PGW核心网数据转发器 SCEE,SCS/AS是运行商自己部署的管理平台&#xff0c;主要用于NB模组&#xff0c;NB网络的管理&#xff0c;还会提供一些API&a…

STM32之NB-IoT学习(一)——NB-IoT介绍

这篇先总结一下NB-IoT的基本知识&#xff0c;下一篇再涉及相关单片机程序代码。 目录 一. NB-IoT概念及特点 1.概念 2.特点 3.目前主要应用情况 二. NB-IOT部署方式 1.独立部署&#xff08;Stand alone operation&#xff09;简称ST 2.保护带部署&#xff08;Guard ban…

OFDM载波间隔_NBloT上行子载波

相比LTE的上行物理信道,NB-IoT的上行物理信道可谓简化了很多,因此一些流程机制也改变很多。由于不需要在上行信道中传输CSI或者SR,因此在上行信道结构设计中也不需要专门保留上行控制共享信道。NB-IoT上行信道包含两种物理信道,一个是窄带物理上行共享信道(NPUSCH),另外一…

Tiny OS+nblot,值得程序员体验吗?

在之前《国产物联网操作系统大阅兵》等文章中笔者都曾立过flag&#xff0c;要为读者分享一下国产物联网平台的实际使用体验。而且由于近日亲身听过一场《区块链数字货币发展前景》的讲座&#xff0c;可是主讲人却连Libra的测试链都没亲身搭建过完&#xff0c;这种只能坐而言不能…

Bigdog

YouTube上可以找到不少视频。 http://www.youtube.com/watch?vcHJJQ0zNNOM

DOG简析

Difference of Gaussian(DOG)是高斯函数的差分。我们已经知道可以通过将图像与高斯函数进行卷积得到一幅图像的低通滤波结果&#xff0c;即去噪过程&#xff0c;这里的Gaussian和高斯低通滤波器的高斯一样&#xff0c;是一个函数&#xff0c;即为正态分布函数。 那么differenc…

Boston Dog

和一个北航的学弟聊到了波士顿动力这个公司&#xff0c;突然想做一期这个公司的介绍。很多人可能怎么听过这个公司&#xff0c;给出一张“狗狗”的照片&#xff0c;大家可能就会很熟悉了。 在B站上应该有很多关于这个狗狗的视频&#xff1a; https://www.bilibili.com/video/B…

Linux Watchdog/看门狗

Watchdog timer&#xff08;看门狗定时器&#xff09;是一种电子计时器&#xff0c;其用于检测和恢复计算机故障。在正常操作期间&#xff0c;计算机定期重置看门狗定时器以防止它“超时”。如果由于硬件故障或程序错误&#xff0c;计算机无法重置看门狗&#xff0c;定时器将生…

Watchdog-最后的看门狗

Watchdog是什么 Watchdog是android framework中一个java类(在线源码), 也可以认为是一种系统检查和处理的机制。比如在Android系统中&#xff0c;SystemServer进程会对应用程序进行卡顿检测和处理&#xff08;即ANR检测等&#xff09;&#xff0c;那么谁来检测和处理SystemSer…