Gemini 发表于 2017-2-24 15:08:10

只要20行代码,轻松实现物联网应用!

本帖最后由 Gemini 于 2017-2-24 15:31 编辑

导读:通过“Arduino代码自动生成工具”自动生成的库文件,短短20行代码,Arduino uno wifi 就可以迅速联网,实现使用手机APP进行广域网的远程控制。
一直以来Arduino 致力于让物联网开发变得更简单,在简化局域网无线控制实现方案后,也一直在为开发者寻找一个能够解决广域网远程控制的可行方案。用Arduino实现物联网的很多,今天给大家介绍一款非常轻松简单的物联网连接方案。开发者仅需关注逻辑程序即可非常方便地设计出自己的物联网产品。
本实验使用Arduino Uno Wifi 、机智云Arduino代码自动生成工具。

Arduino Uno Wi-Fi是一款带有集成式Wi-Fi模块的新型Arduino Uno板!该板基于ATmega328P,具有集成式ESP8266 Wi-Fi模块。它拥有14个数字输入/输出引脚(其中6个可用作PWM输出)、6个模拟输入、1个16 MHz陶瓷谐振器、1个USB连接、1个电源插座、1个ICSP头和1个复位按钮。它包含支持微控制所需的一切;只需通过USB电缆将其与计算机相连,或者利用AC-DC适配器或电池为其供电即可着手设计。
ESP8266 Wi-Fi模块是一款独立的SoC,具有集成式TCP/IP协议栈,让您能够访问Wi-Fi网络。Uno Wi-Fi的一个有用特性是支持OTA(空中)编程,适于传输Arduino sketch或Wi-Fi固件。

本文以Blink程序为例,只要把控制LED闪烁改成其他程序,就可以轻松控制或实现其他项目啦。下面我们来看一下具体的步骤吧!
工程创建
[*]使用浏览器登录工程创建页面,若未注册机智云账号请先进行注册
[*]点击 [创建新产品] , 然后选择分类并填写项目名称 ArduinoWiFiBlink,选择WiFi通讯方案



[*]点击保存后,进入 [开发向导]




[*]点击 [去添加数据点],并添加数据点blink



[*]点击,选择硬件平台ArduinoUNOWiFi,并点击[生成代码包]




[*]点击[下载]下载库文件,并重命名为Gizwits.zip



镜像更新

[*]下载机智云ESP8266镜像bin.zip,共享地址为http://pan.baidu.com/s/1qY0KgZa



[*]按照Arduino官方教程更改Arduino Uno WiFi的ESP8266镜像


KKETCH编写
[*]Gizwits库文件导入





[*]重新打开Arduino IDE并检验库是否成功导入




打开示例sketch – simpleTry并修改
<font face="微软雅黑" size="3">#include <Gizwits.h>                //库文件包含
#include <Wire.h>                //库文件包含
Gizwits myGizwits;                //对象**
bool varBlink = false;                //命令存储变量
unsigned long time=0;      //时间存储变量
bool ledStatus=0;                //L13状态变量
void setup() {
      myGizwits.begin();      //机智云相关程序初始化
      pinMode(7, INPUT_PULLUP);//绑定模式触发,低电平触发
      pinMode(13, OUTPUT);//受控LED
}
void loop() {
      if(LOW == digitalRead(7))
                myGizwits.setBindMode(0x02);//低电平触发Airlink绑定模式,用于手机APP与控制板绑定
if(myGizwits.hasBeenSet(EVENT_BLINK))
                myGizwits.read(EVENT_BLINK, &varBlink);//如果有新命令下达,则读取命令值
      if(varBlink)      
                if(millis() - time > 1000) {
                        ledStatus = !ledStatus;
                        digitalWrite(13, ledStatus);//如果varBlink为true,则每隔1秒改变L13状态
                        time = millis();
                }
      myGizwits.process();      //机智云云通讯处理
}</font>
[*]保存代码并写入Arduino Uno WiFi开发板




手机控制

[*]在上述共享地址或者机智云官网下载机智云手机APP并打开,可点击[跳过]





[*]将Arduino Uno WiFi重新上电,管脚D7接地1秒后断开以进入Airlink模式




[*]点击APP右上角按键,然后[添加设备],全部选择[下一步]



点击发现的新设备,就可以实现手机APP操作了







关于Arduino
Arduino Srl来自意大利,是全球领先的开源电路板提供商,旨在帮助众多专业及非专业开发者设计和制作不同种类的电子项目原型,通过Arduino可扩展的开放硬件及开源软件平台,为全世界数以百万计的开发者提供帮助,简单、快速的实现开发项目。


热爱生活 发表于 2017-2-24 15:45:57

谢谢分享 请问机智云ESP8266镜像是必须要更新的吗?
不需要更改app吗,直接使用官方的机智云就可以连接吗?连接时,不需要验证app的key什么的吗?

Gemini 发表于 2017-2-24 15:56:22

热爱生活 发表于 2017-2-24 15:45
谢谢分享 请问机智云ESP8266镜像是必须要更新的吗?
不需要更改app吗,直接使用官方的机智云就可以连接吗? ...

镜像更新是必须的,APP是直接用的DEMO APP不需要验证直接下载即可

热爱生活 发表于 2017-2-24 16:11:44

Gemini 发表于 2017-2-24 15:56
镜像更新是必须的,APP是直接用的DEMO APP不需要验证直接下载即可

我是新购买的板子 原来的微信宠物都可以使用了 现在新烧烤了一份代码到板子, simpletry.
我下一步如何连接板子?是直接用手机app连接吗?
烧烤之后 按KEY2不好使了 无法连接
是不是没有烧烤ESP镜像的问题呢??
请您指导一下 非常感谢!!周末愉快!

大山 发表于 2017-3-15 23:46:58

你好,请问下,我直接用你的代码,库也加进去了,为何代码编译不成功?谢谢

Gemini 发表于 2017-3-16 10:13:08

本帖最后由 Gemini 于 2017-3-16 10:17 编辑

大山 发表于 2017-3-15 23:46
你好,请问下,我直接用你的代码,库也加进去了,为何代码编译不成功?谢谢 ...
我这边没有发现类似的情况,你检查下库有没有导入完整吧,在库里面**定义

大山 发表于 2017-3-16 23:10:01

哈哈,自己的过失,早之前建的数据点没注意,现在可以上传了,
但是还是连不上手机,引脚7接地后拔掉,Arduino 没反应(理论上13引脚的灯是会闪烁表示进入airlink吧)。还有字体那两行代码我给删了(编译不了这个)

Gemini 发表于 2017-3-17 10:12:08

大山 发表于 2017-3-16 23:10
哈哈,自己的过失,早之前建的数据点没注意,现在可以上传了,
但是还是连不上手机,引脚7接地后拔掉,Ardu ...

你用的是机智云APP吗,如果用的开源框架的APP是需要填写参数才能绑定设备。

大山 发表于 2017-3-17 23:08:02

用的是机智云demo app,官方直接下载的

星星点灯 发表于 2017-3-31 16:56:52

大山 发表于 2017-3-15 23:46
你好,请问下,我直接用你的代码,库也加进去了,为何代码编译不成功?谢谢 ...

我也遇到了同样的错误,这是怎么回事啊

星星点灯 发表于 2017-3-31 17:37:32

大山 发表于 2017-3-16 23:10
哈哈,自己的过失,早之前建的数据点没注意,现在可以上传了,
但是还是连不上手机,引脚7接地后拔掉,Ardu ...

哦,也懂了

papapa 发表于 2017-4-25 14:59:46

如果是arduino UNO R3的板子和ESP8266的实验板子,怎么连接呢

peter58 发表于 2017-12-10 09:43:42

请问机智云库是通用的吗?只需要加载一次就可以了吗,还是不同的程序加相应自动生成的库呢?
页: [1]
查看完整版本: 只要20行代码,轻松实现物联网应用!