查看: 599|回复: 6
收起左侧

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

[复制链接]

144

主题

170

帖子

298

积分

中级技术员

 楼主| 发表于 2017-2-24 15:32 | 显示全部楼层 |返回版面||阅读模式
本帖最后由 beam92 于 2017-3-1 15:33 编辑

导读:通过“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



  • 点击[MCU开发],选择硬件平台ArduinoUNOWiFi,并点击[生成代码包]




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




镜像更新


  • 按照Arduino官方教程更改Arduino Uno WiFi的ESP8266镜像



KKETCH编写
  • Gizwits库文件导入




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




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





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





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




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



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







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


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
      

524

主题

2万

帖子

8万

积分

版主

发表于 2017-2-25 10:37 | 显示全部楼层 |返回版面
无图无真相
昵称:灰小子 业务QQ:1358611172
欢迎进入TI MCU论坛      21ic TI技术交流1群:61549143(已满),  21ic TI技术交流2群:311421422
提供免费的21ic下载频道资料下载服务

144

主题

170

帖子

298

积分

中级技术员

 楼主| 发表于 2017-2-27 18:23 | 显示全部楼层 |返回版面

http://club.gizwits.com/thread-5035-1-1.html  不知为啥显示不出来,你到原贴看看
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
      

524

主题

2万

帖子

8万

积分

版主

发表于 2017-2-27 19:57 | 显示全部楼层 |返回版面
beam92 发表于 2017-2-27 18:23
http://club.gizwits.com/thread-5035-1-1.html  不知为啥显示不出来,你到原贴看看

不能直接复制图片,发帖的时候要上传一下才可以
昵称:灰小子 业务QQ:1358611172
欢迎进入TI MCU论坛      21ic TI技术交流1群:61549143(已满),  21ic TI技术交流2群:311421422
提供免费的21ic下载频道资料下载服务
     

2

主题

66

帖子

208

积分

中级技术员

发表于 2017-3-17 21:55 | 显示全部楼层 |返回版面
一直在玩onenet,有空玩玩机智云
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
     

14

主题

798

帖子

2409

积分

初级工程师

发表于 2017-5-2 10:05 | 显示全部楼层 |返回版面
专注于以太网  GPRS GSM CAN 485 继电器等工控模块
小店:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-6466605198.19.7OO7ja&id=522606430970
回头之人,永远无法见到真相
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

热门推荐上一条 /2 下一条

分享 快速回复 返回顶部 返回列表