本帖最后由 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闪烁改成其他程序,就可以轻松控制或实现其他项目啦。下面我们来看一下具体的步骤吧!
工程创建
镜像更新
KKETCH编写
打开示例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>
复制代码
手机控制
点击发现的新设备,就可以实现手机APP操作了
关于Arduino
Arduino Srl来自意大利,是全球领先的开源电路板提供商,旨在帮助众多专业及非专业开发者设计和制作不同种类的电子项目原型,通过Arduino可扩展的开放硬件及开源软件平台,为全世界数以百万计的开发者提供帮助,简单、快速的实现开发项目。
|