一般用什么APP来通过WiFi控制arduino

一般用什么APP来通过WiFi控制arduino,第1张

项目需要的硬件如下:Arduino Uno Ethernet Shield LED灯 2个 电阻 2个 面包板(可选) 连接导线 路由器一个项目要的连接管脚如下:LED 1 --> pin 6 to ground LED 2 --> pin 7 to ground项目需要的软件如下:Eclipse IDE Arduino IDE 1xxLED 1 --> pin 6 to ground LED 2 --> pin 7 to ground项目需要的软件如下:Eclipse IDE Arduino IDE 1xxStep 1: 在 Arduino上编程如下:#include "etherShieldh"#include "ETHER_28J60h"int led2 = 7;int led1 = 6;static uint8_t mac[6] = {0xAA, 0xBB, 0xCC, 0xDD, 0xBB, 0xAA}; // this just needs to be unique for your network, // so unless you have more than one of these boards // connected, you should be fine with this value static uint8_t ip[4] = {192, 168, 0, 15}; // the IP address for your board Check your home hub // to find an IP address not in use and pick that // this or 100015 are likely formats for an address // that will workstatic uint16_t port = 80; // Use port 80 - the standard for >无线串口模块,BCM43217网卡模块
OTT盒子、DVB机顶盒可用到我司的WIFI模块产品有以下:
联发科(MTK)系列
USB网卡:
TML1505C-MT7601系列; TML3011A-MT7603系列;TML1507F-RT3070系列;
AP路由:
TMA1508B-MT7688系列;TMA3007A-MT7628系列。
瑞昱(Realtek)系列:
USB接口:
TML1510EU-RTL8188EUS系列; TML1511A-RTL8188ETV系列;
TML1515A-RTL8188FTV系列;
SDIO接口:
TML1516A-RTL8189ETV系列;TML1517A-RTL8189FTV系列;
TML1512A-RTL8189ES系列;
WIFI+BT蓝牙:
TML1509A-RTL8723BS系列;TML1509BU-RTL8723BU系列。

功能实现所需材料:

Arduino软件平台----提供平台

esp8266wifi模块----无线通信

手机----查看数据

摄像头-----收集数据

5V1A电压适配器 ------提供电压

连接模块wifi :当连接Arduino主板时,就已经可以收到wifi信号了,你的手机将会搜索到有wifi模块发出的wifi信号,连接模块的wifi信号。

如果你只能在本地控制一个智能设备,那么它并不能被称之为智能。那有什么用呢你需要的是远程控制设备的功能。而这正是远程配置发挥作用的地方。
远程配置能够让开发人员和用户触发行动,进而在任何地点控制他们的设备。设备状态解析通过网络(在本案例中为PubNub)传送的信号,并根据信号指令永久地改变装置的状态(如灯泡从关到开)。
A 远程配置的消息传递层
在本教程中,我们将展示如何在[基于Atmel的]Arduino联网设备上实现远程配置。在开发的过程中,我们遇到了两个问题。
1 网设备的状态(如在线/离线状态)
2 连接到云的设备的状态
通过使用Presence API,第一个问题迎刃而解,因此,我们将着重关注第二个问题。我们将采用存储和回放的方法,存储并检索用于家庭自动化解决方案的联网设备的状态。如此,我们就能够远程控制智能设备,实时发送信号。
JSON对象就是一个典型的示例,如下所示:
{"状态":[
{"通电":"真"},
{"咖啡量: 一半"},
{"温度":""}
]}
远程配置的整体流程
● 注册一个免费的PubNub账户。如此便可获得独特的发表/订阅键,用于激活PubNub。这些键位于开发人员控制台。
● 利用Arduino通过PubNub物联网网络发布消息,控制智能设备。
● 通过web浏览器,访问这些消息。
了解教程!
步骤一:连接PubNub
例如,控制冰箱的温度。如下参数可存储为设备的状态,如查看冰箱门的开启状态、温度、功耗,甚至还有冰箱的容积。
在Arduino IDE上运行,并查看步骤二中关于连接PubNub至Arduino的教程,获得更多详情。
步骤二:在Arduino中创建JSON对象
为在Arduino中创建json对象,我们需要使用JSONh库。创建上文所述的JSON对象可参照如下步骤:
aJsonObject msg = aJsoncreateObject();
aJsonaddStringToObject(msg, "姓名", "Arduino");
aJsonaddNumberToObject(msg, "外部温度", 34);
步骤三:向设备发送信号
除此之外,只需再利用Arduino IDE发布消息即可。要做到这一点,可参照如下代码:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
char pubkey[] = "demo";
char subkey[] = "demo";
char channel[] = "设备状态";

//setup
void setup()
{
Serialbegin(9600);
Serialprintln("串口设置");

while (!Ethernetbegin(mac)) {
Serialprintln("以太网设置错误");
delay(1000);
}
Serialprintln("以太网设置");

PubNubbegin(pubkey, subkey);
Serialprintln("PubNub 设置");
}
// establishing internet connection to the Arduino and publishing the state建立Arduino网络连接并发布状态
void loop()
{
Ethernetmaintain();
EthernetClient client;
client = PubNubpublish(channel, msg);
if (!client) {
Serialprintln("发布错误");
} else {
client->stop();
}
delay(5000);
}
另外,如果只能在web浏览器上查看设备状态怎么办在浏览器控制台中粘贴如下代码,并查看状态填写。
// 发布和订阅键初始化

var pubnub = PUBNUBinit({
publish_key: 'PUBLISH_KEY_HERE',
subscribe_key: 'SUBSCRIBE_KEY_HERE',
uuid: 'devices_state设备状态'
});

// 通过历史记录检索已经发布到该渠道的消息。

pubnubhistory({
channel: '历史记录_渠道',
callback: function(m){consolelog(JSONstringify(m))},
});
就是这样!还有一点:PubNub并不限制你发布或通过历史记录检索消息的数量。你可以利用多个Arduinos进行尝试,并远程查看其状态。
远程配置的用例数之不尽,从农业到运输和物流,再到家庭自动化。它使你能够在地球上的任何地方完全控制你的智能设备,功能异常强大。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/13455637.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-10
下一篇 2023-08-10

发表评论

登录后才能评论

评论列表(0条)

保存