日期: 2025-01-04 类型:智能硬件
ArduinoUnoWiFi 是 ArduinoOrg 推出的一款基于 ArduinoUno 的开发板,主芯片仍然采用与 ArduinoUno 相同的 ATMega328p,使得开发者能够像使用 Arduino Uno 一样使用它。ArduinoUnoWiFi 集成了乐鑫的esp8266芯片作为 WiFi 模块以提供无线联网功能,支持 OTA 程序无线下载功能,支持 REST 方式实现远程控制,支持 Web 方式轻松配置网络。WiFi 功能使得 Arduino UnoWiFi 可以轻轻松松实现无线控制,但是假如没有一款优秀的云服务器来提供固定 IP 访问和数据保存,也是没办法实现不在同一局域网中的远程控制的。Gizwits 为个人开发者带来了福音,在设备节点小于少数时,Gizwits 为开发者提供免费云服务器使用。另外为了简化开发难度,Gizwits 提供了数据上传分发的详细协议格式及 APP 范例。
代码自动生成:为降低开发者的开发门槛,缩短开发周期,降低开发资源投入,机智云推出了代码自动生成服务。云端会依照产品定义的数据点生成对应产品的设备端代码。
自动生成的代码实现了机智云通信协议的解析与封包、传感器数据与通信数据的转换逻辑,并封装成了简单的 API,且提供了多种平台的实例代码。当设备收到云端或 APP 端的数据后,程序会将数据转换成对应的事件并通知到应用层,开发者只需要在对应的事件处理逻辑中添加传感器的控制函数,就能够实现产品的开发。使用自动生成的代码开发产品,就不必再处理协议相关的部分了,开发的人能将节省出来的精力集中在产品的核心功能开发上。
利用“代码自动生成工具”自动生成,Arduino 平台 MCU 代码创建产品登录机智云开发者中心:必须要格外注意现在要使用新版本进入才能生成Arduino代码,如图
定义数据点(定好数据点才能在APP和开发板上有对应数据变量做沟通,需要按照数据特点进行定义,比如开关量、模拟量等):
当然也可以再一次进行选择更简单的数据,这里选择的球泡彩灯数据,直接生成12种类型数据;比如:
导入成功后,导入的库的目录在我的文档-Arduino-libraries 下;
l 注:这里需要先上传完 networkconfig.ino(配置网络示例),用机智云调试 APP 配置网络,配置成功后,再上传 simpleTry.ino(数据点示例)。这一段之前没搞明白,我来解释一下,ESP8266需要你的WIFI账号密码,上传完 networkconfig.ino(配置网络示例),再按照步骤调试 APP 配置网络,配置成功后,ESP8266保存了账号密码,Arduino就不再需要执行这段程序,再上传 simpleTry.ino(数据点示例),联网透传就能使用APP控制云端数据再传入路由器进入ARduino。这就是开发的关键步骤,当然也可以将2个工程合成一个工程,那就需要一步一步进行程序阅读与修改了。