【esp8266】史上最详细的Arduino uno R3接入机智云教程

2023-11-03

原文地址  http://club.gizwits.com/thread-6728-1-1.html

本文使用arduino UNO板卡和esp8266无线WIFI模块实现了通过手机APP远程监测单片机系统采集的数据和控制一个LED的亮灭,读者将体验到使用机智云智能硬件自助开发平台的MCU代码自动生成工具生成工程,简化开发的强大功能。


第一步  创建新产品

第二步  创建数据点

第三步  MCU开发-----独立MCU方案------选择arduino uno R3-------下载文件

第四步  将文件Gizwitss拷贝至arduino的libraries库文件里

第五步  打开两个例程------------将两例程结合生成最终代码

第六步  给esp8266下载固件(先下载固件下载软件)

第七步  按图连接arduino与esp8266(4线)

第八步  打开机智云APP搜索设备

            成功!

一、硬件准备
  名称
  
  数量
  
  Arduino UNO R3板卡
  
  1块
  
  正点原子ESP8266 WiFi模块
  
  1个
  
  10K电位器  
  
  1个
  
  轻触按键
  
  2个
  
  电阻510欧姆
  
  1个
  
  发光二极管
  
  1个
  
  杜邦线
  
  若干
  

接线图如下:
A0读取模拟电压输入;
Key1接到D6;
Key2接到D7;
LED接到D4;

 

实物图如下:

视频演示:


二、Arduino和机智云简介     

Arduino 是一个开发各类设备,让你比台式电脑更能充分感知和控制物理世界的生态系统。它是一个基于一系列单片机电路板的开源物理计算平台,一个编写用于Arduino和Genuino开发板的软件开发环境和一个拥有活跃开发者和用户社区。Arduino不仅仅是一个单片机、IDE(集成开发环境)或开源库。它本着让使用者快速上手的态度,将传统单片机开发中复杂的硬件设计、繁琐的寄存器配置和杂乱的硬件驱动全部简化,并使用C/C++作为编程语言,优雅地将C/C++的类、多态、继承和重载渗入到硬件开发中。本次使用的是型号为Arduino UNO R3的开发板。


技术规格如下表:
  
微处理器
  
     
  
工作电压
  
  
5V
  
  
输入电压(推荐)
  
  
7-12V
  
  
输入电压(限值)
  
  
6-20V
  
  
数字输入/输出引脚
  
  
14 路(其中6路可用于PWM输出)
  
  
PWM 数字I/ O引脚
  
  
6
  
  
模拟输入引脚
  
  
6
  
  
每路输入/输出引脚的直流电流
  
  
20 mA
  
  
3.3V 引脚的直流电流
  
  
50 mA
  
  
闪存存储器
  
  
32KB ,其中引导程序占用0.5KB
  
  
SRAM
  
  
2 KB (ATmega328P)
  
  
EEPROM
  
  
1 KB (ATmega328P)
  
  
时钟频率
  
  
16 MHz
  
  
  
  
68.6 mm
  
  
  
  
53.4 mm
  
  
  
  
25 g
  

Arduino开发环境搭建:
参考官方教程即可: https://www.arduino.cc/en/Guide/Windows?setlang=cn

         机智云 平台是致力于物联网、 智能硬件云服务 的开放平台。机智云专注于提供智能云服务及物联网的软硬件解决方案,帮助传统硬件厂商产品升级,快速实现硬件智能化。要实现硬件的智能化,除了硬件本身外,还需要实现:智能云平台、手机APP、联网模块,每一个领域都需要专业的团队来支撑。机智云提供完整的解决方案,让厂商或开发者只需要专注于自身产品硬件。以最小的成本和风险实现硬件智能化,获得产品最大的增值。
 

三、让设备具备联网能力     
  ESP8266无线WiFi模块是一个串口透传模块,我们把它连接到Arduino UNO R3板卡的串口即可,注意Tx、Rx要交叉连接。

 
上图是机智云智能硬件设备接入原理,为了实现和机智云服务器的交互, 必须先给无线WIFI模块烧录机智云开发的GAgent固件 ,烧写教程查看此帖:
http://club.gizwits.com/thread-3551-1-1.html
四、Let’s Go!
       准备工作做好后,我们就可以开始奇妙的开发之旅啦~
Step1:在机智云开发者中心创建一个产品,给它起个名字,选择WiFi方案,然后点击保存按钮,这样你的产品就在机智云那里“登记”了。
Step2:接着我们创建数据点,数据点即设备产品的功能的抽象,用于描述产品功能及其参数,本次我们需要实现监测Arduino板卡读取的模拟电压和控制LED的亮灭2个功能,因此要建立2个数据点。点击新建按钮;
Step3:首先建立控制LED亮灭的数据点,要在手机APP上远程控制LED的亮灭,可抽象为手机APP通过网络推送一个二进制量(只有0和1两个值)给设备端。
然后修改下显示名称,这个显示名称是显示在手机APP上的;
点击确定按钮,然后点击应用使更改生效;
Step4 同样的建立在手机APP上显示Arduino板卡采集的模拟电压值数据点。此功能可抽象为设备端通过网络推送一个数值量给手机APP。
点击确定保存更改;
点击应用使更改生效;
最后,我们得到如下2个数据点;
Step5:数据点建立好后,在MCU开发栏目,选择独立MCU方案,硬件平台为ArduinoUNOR3,点击生成代码包即可生成工程。
稍等几秒,很快就能生成完毕;
工程生成好后,我们下载它;
Step6 解压下载的工程,找到Gizwits文件夹,把它复制/移动到ArduinoIDE安装目录下的libraries文件夹下。例如我的是D:\Arduino\libraries
Step7:接下来找到工程目录下的examples文件夹,里面有2个文件夹 networkConfigsimpleTry,进去后有同名的Arduino文件,后缀名为.ino。
使用ArduinoIDE打开这2个文件:
simpleTry.ino是本次项目工程,里面有程序框架,以及告知了用户在哪里填充接入机智云的代码; networkConfig.ino是配置入网的例程,因为常见的智能硬件产品是没有键盘和显示屏的,因此需要一种技术来让它获取路由器的SSID和密码,首选是通过手机APP辅助。这里简单的介绍一下方法,通过一个按键来触发设备进入配网模式,然后手机APP把SSID和密码广播给设备,原理如下图:
这里需要说明的是,机智云开发的配网方案有2种,取名为AirLink和SoftAP,设备第一次联网是要进行配置的,以后它就记住了这个路由器的SSID和密码,无需配置,除非更改了SSID、密码等情况发生,就需要重新进行配网操作。
Step8 我们把 networkConfig.ino中的部分代码拷贝到本次项目的工程 simpleTry.ino中,注意凡是串口打印调试的都要注释掉,因为我们的Arduino UNO R3只有一个串口,要用来和WiFi模块通信。需要根据注释填充2个数据点代码,1是手机端控制LED亮灭,2是板卡采集模拟电压推送到手机APP, 具体的接口都给出了详细的注释,我们直接填充就可以啦~

如下图(下载高清大图查看效果更好哦~),左边为我们下载的工程文件 simpleTry.ino,右边为修改好后的,作为一个对比,蓝色方框为与配网有关的代码,是从 networkConfig.ino拷贝来的,红色方框为与远程点灯有关的代码,橙色方框为与推送模拟电压到手机APP有关代码。

举例:控制LED开关(bool型)

bool varR_LED_OnOff = 0;
if(myGizwits.hasBeenSet(EVENT_LED_ONOFF))
{
myGizwits.read(EVENT_LED_ONOFF,&varR_LED_OnOff);//Address for storing data
//判断动作是开/关,做灯相应处理
}

Step9:修改好后,编译并烧录代码到Arduino UNO板卡;
   若程序编译不过去,则使用低版本IDE或换台电脑。
Step10:下载机智云调试APP,调试步骤参考视频或者官网文档中心;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【esp8266】史上最详细的Arduino uno R3接入机智云教程 的相关文章

  • ESP8266常见问题

    转载于 ESP8266常见问题解答 http bbs eeworld com cn thread 506728 1 1 html 出处 电子工程世界 论坛 1 为什么ESP8266 TCP透传过程会丢包 因为没有设置硬件流控 如果需要避免丢
  • ESP8266连接STM32创建网络服务器

    如果您考虑未来的技术 那么您脑海中立即出现的两个名称是人工智能 AI 和物联网 IoT AI仍处于初始阶段 还有很多东西需要开发 但物联网正处于成长阶段 许多基于物联网的产品 已经在市场上销售 此外 市场上还有许多工具和硬件可以让您的产品与
  • ESP8266-01高阶——OTA下载

    ESP8266高阶 OTA下载 OTA简介 OTA怎么用 基本控制原理 烧录代码 高级用法 题外话 工程资料 OTA简介 什么是OTA下载 空中下载 OTA 是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术 之前做
  • esp8266b站粉丝显示器

    本文教程是转载 本文教程是转载 本文教程是转载 仅仅当做笔记使用 如有侵权会立即删除 原来视频网址 https www bilibili com video av55551802 t 194 以及他的github 使用ESP 01S模块和1
  • 基于STM32串口通信的ESP8266WiFi模块使用

    掌握esp8266的使用可以实现真正的万物物联 esp8266wifi通信对于MCU而言归结到底还是串口或spi通信 因此 掌握RS232通信协议 SPI通信协议以及esp8266的配置就可以基本搞定WiFi模块的使用 参考文章 1 ESP
  • 一、利用AT指令配置esp8266——esp8266WIFI模块初探&STM32串口通信再探

    文章目录 一 esp8266初探 1 esp8266简介 2 esp8266使用方式 什么是AT指令 通过何种方式发送AT指令 二 STM32串口通信再探 1 printf 函数与串口中断函数 2 例子 小试牛刀 3 例子 再进一步 三 局
  • ESP8266与网络服务器实时通讯

    目前 所有已呈现的通信都是基于请求响应方法的 其中一个实体正在发送请求 另一实体正在发送回响应 但是在某些情况下 您需要ESP8266模块与服务器之间的实时通信 而不仅仅是事务 实时通讯协议 ESP8266流数据 要从ESP8266流传输数
  • ESP8266 RTOS SDK 移植 u8g2 移植代码

    LED屏驱动ssd1306 屏幕128x64大小 1 移植代码核心 方法1 port c define SCL Pin GPIO SCL define SDA Pin GPIO SDA void delay us uint32 t time
  • 使用安信可IDE开发ESP8266时出现error: ld returned 1 exit status

    在 app Makefile中COMPONENTS eagle app v6 后面添加driver libdriver a 并在 app driver中添加Makefile文件 这里建议直接复制 examples IoT Demo文件夹并删
  • 嵌入式单片机基础篇(三十一)之Stm32F103与WiFi模块ESP8266 Station模式控制LED灯程序

    Stm32F103与WiFi模块ESP8266 Station模式控制LED灯程序 include stm32f10x h include string h include stdio h unsigned char UARTbuff 10
  • Arduino IDE 烧录 ESP8266教程

    Arduino IDE for ESP8266教程 原出处 http www windworkshop cn p 758 ESP8266是现在性价比不错的Wifi模块 用了一块ESP8266 01之后感觉还行 用在数据采集器上表现还是不错的
  • ESP8266-NodeMCU网络服务器(一)- 数字时钟制作

    文章目录 效果 所需环境 实现步骤 原理 HTML JS代码 上传文件到闪存系统 上传程序 效果 所需环境 ESP8266 NodeMCU 开发板 以下简称NodeMCU ESP8266库 Arduino IDE 代码编写工具 无线 热点
  • ESP32/ESP8266使用MicroPython控制DHT11/DHT22

    本教程介绍了如何使用MicroPython固件将DHT11或DHT22温度和湿度传感器与ESP32和ESP8266开发板一起使用 DHT模块 刷新MicroPython固件 要遵循本教程 您需要在ESP32或ESP8266板上安装Micro
  • 通过AT指令控制ESP8266

    目录 简介 1 串口无线 WIFI COM WIFI AP 1 1串口无线 WIFI AP 模式 TCP 服务器配置 1 2 串口无线 WIFI AP 模式 TCP 客户端配置 1 3 串口无线 WIFI AP 模式 UDP 配置 2 串口
  • 解决vscode找不到arduino esp8266头文件

    用Arduino IDE写ESP8266没有代码补全 不能跳转查看头文件 个人觉得这是最难受的 vscode装上Microsoft的arduino扩展后 有时候会找不到头文件 刚开始自己傻傻的一个个往includePath里面添加 后来在引
  • 基于STM32、OV2640及ESP8266的无线图传

    一 简介 本文利用STM32F407单片机 OV2640摄像机模块以及ESP8266 WIFI模块 并基于C 编写的TCP上位机服务 来实现图像的无线传输 本文受启发于博客 ESP8266 STM32F407 OV7670实现图片传输 在此
  • 玩转ESP8266-01——AT指令集

    该指令集是接上一个 链接 初识AT指令 全部是根据本人在使用esp8266过程中用过的指令 可能有不全 有错误 还请理解指正 一起学习 AT指令集 一 基础指令 1 测试指令 2 复位指令 重启 二 设置指令 1 设置波特率 2 设置工作模
  • 编译freeRTOS “error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token”错误解决

    今日编译ESP8266 RTOS SDK的时候有个头文件声明了extern 结构体 结果一旦加入这个头文件编译就各种报错 提示error expected asm or attribute before token 一通搜索之后并未解决我的
  • 从零开始的ESP8266探索(07)-使用Arduino for esp8266出现的问题小结

    文章目录 问题一 现象描述 原因分析 解决方法 问题二 现象描述 原因分析 解决方法 问题三 现象描述 原因分析 解决方法 实例应用 问题一 现象描述 使用 WiFi softAP 方法建立网络 有时候很难连接上 改用 WiFi begin
  • 使用 Arduino 库与 C++ 的 stringstream 链接错误

    我正在使用一个esp8266和 一起平台写一个简单的草图 include

随机推荐

  • 刷脸支付普及逐渐攀升产业生态逐渐形成

    刷脸让支付生态重返硬件年代 刷脸支付机具的生产 销售 铺设 维护涉及大量成本 客观存在压货风险大 后期服务难 地推成本高等问题 模式重而受益低 导致银行和大多数中小支付机构入局刷脸支付的意愿则整体薄弱得多 银联高调入局之际 2019 也是支
  • 《啊哈算法》学习——桶排序

    学习啊哈算法第一天 第一章第一节最快最简单的桶排序 问题描述 班级五名同学的分数排序 十分制 问题分析及思路 借助大小为10的一维数组 初始化为0 意味该分数没有人得 接下来处理分数 如有两个人得5分 即将a 5 2 记录下分数即出现次数后
  • Spring Validation 接口入参校验

    一 前言 JSR 是 Java Specification Requests 的缩写 含义为 JAVA 规范提案 JSR 303 Bean Validation 规范 正是一套基于 JavaBean 参数校验的标准 Hibernate Va
  • s3c2440移植ucGUI

    编译环境 ADS1 2 开发板 TQ2440 主要参考这篇文章 stm32 UCGUI 完美移植 ucGUI版本 3 90 ucGUI3 90下载地址 UCGUI最新3 90版源码 屏幕 联想VGA电脑屏幕 最大分辨率1024x768 1
  • vue如何编写自定义指令directive

    vue已经给我们内置了很多很好用的指令了 v mode v show 等等 但是有时候当这些指令不能满足我们需求的时候 我们还可以使用vue的自定义指令功能编写我们的指令 这是一个很强大的功能 需要说明的是 尽管自定义指令这个功能很强大 但
  • 3D MAX导出插件编写

    转 3D MAX导出插件编写 2011 6 9阅读1667 评论0 文章版权归博客园 BigCoder所有 转载请于明显位置标明原文作者及出处 以示尊重 原文出处 http www cnblogs com csyisong archive
  • 用GDB远程调试运行于QEMU的程序

    1 前言 限于作者能力水平 本文可能存在谬误 因此而给读者带来的损失 作者不做任何承诺 2 测试环境 本文使用 Ubuntu 16 04 4 LTS QEMU 环境进行调试 3 用 GDB 调试 QEMU 内程序 3 1 编写用来调试的程序
  • 国内使用reCaptcha验证码的完整教程

    国内使用reCaptcha验证码的完整教程
  • 查看系统端口占用

    第一步 win R打开 输入cmd进入命令窗口 第二步 输入netstat ano回车 找到对应的进程PID为14472 或者采用这个方法 用 netstat ntlp 查看监听端口 无3000 第三步 输入命令tasklist回车 找到对
  • C#Expression表达式树(lambda)的使用——Parameter、Property、Call、构建Select、构建Where

    1 定义参数 Parameter 访问属性 Property private static void Main string args 1 定义参数 Parameter 访问属性 Property 定义表达式树中的参数或变量 linq表达式
  • SSH密码暴力破解及防御实战

    前言 本文对目前流行的 SSH 密码暴力破解工具进行实战研究 分析和总结 对渗透攻击测试和安全防御具有一定的参考价值 首先介绍几款常用的ssh暴力破解工具 1 hydra 海德拉 指定用户破解 Examples hydra l user P
  • nn.moduleList 和Sequential由来、用法和实例 —— 写网络模型

    对于cnn前馈神经网络如果前馈一次写一个forward函数会有些麻烦 在此就有两种简化方式 ModuleList和Sequential 其中Sequential是一个特殊的module 它包含几个子Module 前向传播时会将输入一层接一层
  • Python爬虫从入门到精通:(36)CrawlSpider实现深度爬取_Python涛哥

    我们来看下CrawlSpider实现深度爬取 爬取阳光热线标题 状态 和详情页内容 https wz sun0769 com political index politicsNewest id 1 type 4 page 创建CrawlSp
  • 找工作必看,用Python爬取数据分析岗位信息并可视化分析

    导读 最近经常收到人事小姐姐和猎头小哥哥的面试邀请 想想最近也不是招聘旺季呀 但又想到许多小伙伴们有找工作这方面的需求 今天就来分享一篇简单的爬虫案例 旨在跟大家一起分析一下部分招聘市场 以 数据分析 为例 Tips 本次爬虫案例分析结果仅
  • 内网内Linux(cenOs)安装telnet

    1 执行 rm f var run yum pid 关闭yum 2 https blog csdn net My SweetXue article details 112021778 无法使用yum安装 首先下载安装文件 下载地址附上 链接
  • Docker夺命连环15问,你能坚持第几问?

    文章目录 前言 1 什么是Docker 2 Docker的应用场景有哪些 3 Docker的优点有哪些 4 Docker与虚拟机的区别是什么 5 Docker的三大核心是什么 6 如何快速安装Docker 7 如何修改Docker的存储位置
  • QT:sqlite创建并访问数据库

    本文代码在博文 https blog csdn net frieryumao article details 93871774 基础上实现创建数据库并实现数据库访问 知识点 1 读写锁防止多线程资源竞争 2 sqlite实现数据库创建 插入
  • 浏览器兼容性测试

    浏览器相关兼容性测试时的测试要点 测试Web页面在不同浏览器的界面是否一致 a 界面是否正常加载 b 界面的CSS样式是否显示完全 c 文字图片的统一性 d 排版是否整齐一致 e 数据是否正确 f 特效是否正常显示等 测试web页面在不同浏
  • 【网络教程】Iptables官方教程-学习笔记6-IPTABLES TARGETS

    一 IPTABLES TAGRETS 本章节介绍Iptables 的目标和跳转 targets and jumps 目标和跳转负责告诉规则如何处理与规则匹配部分完全匹配的包 ACCEPT 和 DROP 是一对基础目标 他们是首先处理的 在学
  • 【esp8266】史上最详细的Arduino uno R3接入机智云教程

    原文地址 http club gizwits com thread 6728 1 1 html 本文使用arduino UNO板卡和esp8266无线WIFI模块实现了通过手机APP远程监测单片机系统采集的数据和控制一个LED的亮灭 读者将