利用APPInventor开发手机APP,实现OBLOQ-IOT与Arduino设备通信

国外网站链接:https://community.thunkable.com/t/paid-mqtt-tcp-ip-extension-update-9-10-2017/7168

通过Dfrobot的OBLOQ物联网设备的Easy Iot有微信小程序,控制物联网设备时需要填写数据来发送指令,不方便。写出自己的手机APP,通过云端远程控制物联网设备。通过APPInventor并利用MQTT扩展(下载: https://download.csdn.net/download/acktomas/11805584),可以实现物联网数据的交互。

1. 软硬件准备

2. App

2.1 组件设计

在这里插入图片描述

2.2 逻辑设计

在这里插入图片描述

说明:ipAdress是Easy Iot的网站地址,port中1883是MQTT协议默认端口号(HTTP协议默认端口号是3001,不要混淆)。userName和password是Easy Iot注册账号时生成的Iot_id和Iot_pwd。idDevice随便填写,但一定要是数字,不能是字符串。topic是在EasyIot添加的网络设备,EasyIot会自动生成ID。
在这里插入图片描述在这里插入图片描述

3. Arduino

3.1 设备连接

arduinoobloq
10(rx)tx
11(tx)rx

3.2 Arduino代码

3.2.1 obloq库:https://github.com/DFRobot/Obloq

  1. 关于obloq库的介绍:https://blog.csdn.net/acktomas/article/details/100070623#_1054
  2. 库中示例:https://blog.csdn.net/acktomas/article/details/100070623#62__1142

3.2.2 代码

#include "SoftwareSerial.h"
#include "Obloq.h"

SoftwareSerial softSerial(10, 11);
#define WIFIID "FAST_lib3000"
#define WIFIPWD "******"
#define IOTID "*****"
#define IOTPWD "*****"
#define IOTTopic "******"

Obloq oloq(&softSerial, WIFIID, WIFIPWD, IOTID, IOTPWD);

void msgHandle(const String &topic, const String &msg);

int number = 1;
long int prevTime = 0;
//long int currentTime=0;

void setup() {
  pinMode(13, OUTPUT); //设置引脚;;
  Serial.begin(115200);
  softSerial.begin(9600);
  oloq.setMsgHandle(msgHandle);
  oloq.subscribe(IOTTopic);
  randomSeed(analogRead(0));
}

void loop() {
  String pubStr = "{\"temp\":";
  oloq.update();
  if (millis() - prevTime > 5000) {
    pubStr += (number++);
    pubStr += ",\"hum\":";
    pubStr += (number++);
    pubStr += "}";
    oloq.publish(IOTTopic, pubStr);
    prevTime = millis();
  }
}
void msgHandle(const String &topic, const String &msg)
{
  if (topic == IOTTopic) {
    if (msg == "1") {
      digitalWrite(13, 1);
    }
    if (msg == "0") {
      digitalWrite(13, 0);
    }
  }
}

说明:

  1. 在程序中尽量不要用delay()函数,这样会影响物联网的检测,
  2. 程序发送JSON格式数据,方便App中获取数据并解析。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔚蓝慕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值