【机智云gokit2.0开发板】+代码阅读报告
其他:机智云开发者账号
ArduinoUnoWiFi 是 ArduinoOrg 推出的一款基于 ArduinoUno 的开发板,主芯片仍然采用与 ArduinoUno 相同的 ATMega328p,使得开发者能够像使用 Arduino Uno 一样使用它。ArduinoUnoWiFi 集成了乐鑫的 esp8266 芯片作为 WiFi 模块以提供无线联网功能,支持 OTA 程序无线下载功能,支持 REST 方式实现远程控制,支持 Web 方式轻松配置网络。WiFi 功能使得 Arduino UnoWiFi 可以轻松实现无线控制,但是假如没有一款优秀的云服务器来提供固定 IP 访问和数据保存,也是无法实现不在同一局域网中的远程控制的。Gizwits 为个人开发者带来了福音,在设备节点小于一定数量时,Gizwits 为开发者提供免费云服务器使用。另外为了简化开发难度,Gizwits 提供了数据上传分发的详细协议格式及 APP 范例。
本文将介绍如何自动生成 ArduinoUno 平台的机智云接入库,将库导入 Arduino IDE,编译下载到 Arduino uno WiFi 上; 代码自动生成:为了降低开发者的开发门槛,缩短开发周期,降低开发资源投入,机智云推出了代码自动生成服务。云端会根据产品定义的数据点生成对应产品的设备端代码。
自动生成的代码实现了机智云通信协议的解析与封包、传感器数据与通信数据的转换逻辑,并封装成了简单的 API,且提供了多种平台的实例代码。当设备收到云端或 APP 端的数据后,程序会将数据转换成对应的事件并通知到应用层,开发者只需要在对应的事件处理逻辑中添加传感器的控制函数,就可以完成产品的开发。使用自动生成的代码开发产品,就不必再处理协议相关的部分了,开发者可以将节省出来的精力集中在产品的核心功能开发上。
创建应用产品:
定义数据点(定好数据点才能在APP和开发板上有对应数据变量进行沟通,需要按照数据特点进行定义,比如开关量、模拟量等): 当然也可以选择更简单的数据,这里选择的球泡彩灯数据,直接生成12种类型数据;比如:
然后进入下一步MCU代码生成:
在这个界面生成代码并且下载;在压缩包里有2个工程;
Arduino IDE 的下载和安装 Arduino IDE(Integrated Development Environment)即 Arduino 集成开发环境,只要在 IDE中编写程序代码,将程序上传到 Arduino 电路板后,程序便会告诉 Arduino 电路板要做些什么了。本文档使用 Arduino IDE 1.7.10 版本,以下为下载链接: http://pan.baidu.com/s/1c25QA8w 密码: ixkj 安装完成之后自动生成接入库导入 Arduino IDE;打开 Arduino IDE,点击项目-导入库-添加库。
导入成功后,导入的库的目录在我的文档-Arduino-libraries 下; 打开 GizwitsArduinoUnoWiFi 文件夹,examples 便是示例文件夹。
注:生成文件的介绍以及使用请查看文档《ArduinoUnoWiFiSDK 之 API 介绍》 将自动生成并编译好的代码上传到 ArduinoUnoWiFi自 动 生 成 完 的 代 码 的 examples 目 录 下 有 两 个 文 件 夹 , 文 件 夹 里 面 分 别 是networkconfig.ino(配置网络示例)和 simpleTry.ino(数据点示例)
l 注:这里需要先上传完 networkconfig.ino(配置网络示例),用机智云调试 APP 配置网络,配置成功后,再上传 simpleTry.ino(数据点示例)。这一段之前没搞明白,我来解释一下,ESP8266需要你的WIFI账号密码,上传完 networkconfig.ino(配置网络示例),再按照步骤调试 APP 配置网络,配置成功后,ESP8266保存了账号密码,Arduino就不再需要执行这段程序,再上传 simpleTry.ino(数据点示例),联网透传就能使用APP控制云端数据再传入路由器进入ARduino。这就是开发的关键步骤,当然也可以将2个工程合成一个工程,那就需要一步一步进行程序阅读与修改了。
阅读代码,注意是networkConfig工程
阅读代码,注意是simpleTry工程(这里数据点有可读可写的)
|