前言:本文详细介绍了小黑板接入机智云教程,通过一个手机APP远程控制LED亮灭的应用,完整的体验了机智云提供的一些列简单方便的开发工具,尤其是代码自动生成工具,懒人福音。

一、 esp8266简介

ESP8266 是上海乐鑫研发的高性能无线 SOC,旨在以最低成本提供最大实用性,为 WiFi 功能嵌入其他系统提供无限可能,被称为业界里程碑。通俗的讲就是高性能单片机+无线WiFi外设,特性如下:
ESP8266
低功耗、高集成度的 Wi-Fi 芯片
仅需 7 个**元器件
超宽工作温度范围:-40°C 至 +125°C
ESP8285 - ESP8266 内封 8 Mbit Flash
高度集成
ESP8266EX 是业内集成度最高的 Wi-Fi 芯片,最小封装尺寸仅为 5mm x 5mm。ESP8266EX 高度集成了天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块,仅需很少的**电路,可将所占 PCB 空间降到最低。
32 位 Tensilica MCU
ESP8266EX 内置 Tensilica L10632 位微型控制器 (MCU),具有超低功耗和 16 位 RSIC,时钟速度最高可达 160 MHz。支持实时操作系统 (RTOS),目前 Wi-Fi 协议栈只用了 20% 的 MIPS,其他均可用于用户编程和开发。
低功耗
ESP8266EX 专为移动设备、可穿戴电子产品和物联网应用而设计,通过多项专有技术实现了最低功耗。ESP8266EX 有三种运行模式:激活模式、睡眠模式和深度睡眠模式,能够延长电池寿命。
性能稳定
ESP8266EX 集成了更多的元器件,性能稳定,易于制造,工作温度范围达到 -40°C 到 +125°C。

二、小黑板简介

小黑板是安信可基于ESP8266研发的开发板,板载1颗三色RGBLED,光敏电阻,3.3V LDO电源模块,以及1个轻触按键,可在官网查看原理图,原理图如下:
各个引脚的功能如下:

一、 开发步骤

首先明确下目的:通过手机APP控制RGB LED的亮灭。进一步分析,除了LED的驱动,我们还需要辅助,就是如何配置输入路由器的SSID和密码问题,利用板载的一颗轻触开关进行触发和机智云手机APP可轻而易举的实现smartconfig。
利用机智云平台只需2步,1是底层LED驱动代码编写,2是利用代码自动生成工具生成工程框架,然后填充用户指令,比如开关灯。
准备工作:
第一步:了解机智云平台架构(可略过),戳我。
第二步:了解机智云Soc方案(可略过),戳我。
1.      首先在开发者中心创建产品:
2.      建立数据点(详解数据点):
数据点即设备产品的功能的抽象,用于描述产品功能及其参数。创建数据点后,设备与云端通讯的数据格式即可确定,设备、机智云可以相互识别设备与机智云互联互通的数据。
例如开关红灯的数据点:
2.1 显示名称:自定义功能点名称。
2.2 标识名:用于应用层传输,客户端或业务云开发时需要使用。命名规则遵循标准的开发语言变量名命名规范,支持英文字母、数字和下划线,以英文字母开头。
2.3 读写类型:
① 只读:表示该数据点非控制,数据只支持从设备上报。
② 可写:表示该数据点可控制。设备端可上报该数据点数据;云端/客户端可对该数据点数据做出下发控制。
③ 报警:表示该数据点非控制,数据只支持从设备上报,数据类型需为布尔值。
④ 故障:表示该数据点非控制,数据只支持从设备上报,数据类型需为布尔值。云端会对设备上报的该数据点做统计,可在“运行状态”查看。
2.4 数据类型:
① 布尔值:表示两个状态:0,或1。如开关状态等,建议使用布尔数据类型。例如gokit开发板的“宠物屋”,“开启/关闭红色灯”该数据点。
② 枚举类型:可定义一个有限的取值集合。当定义的某个功能(元器件)有固定的若干个值。例如GoKit开发板的“宠物屋”,“设定LED组合颜色”该数据点的枚举定义值:“自定义,黄色,紫色,粉色”。
③ 数值:填写数值范围,数值可为负数/小数,机智云自动将数值转换为正数。例如GoKit开发板的“宠物屋”,“设定电机转速”该数据点:电机有正反转、调速功能,数据点值可定义为:-5~5。
④ 扩展:填写数据长度,数据内容由用户自定义。对于上述功能点无法满足的复杂功能可采用。机智云不建议使用此类型数据,设备上报该数据点的数据,机智云无法识别。
1.5  备注:选填,用一段文本描述当前数据点的功能及定义方法,对字符格式不做限制。只用于提高数据点的易读性,如果需要团队协作开发,建议规范填写。
3.      选择SOC方案以生成工程:
然后点击生成按钮即可生成完毕;
点击下载即可,下载后把它改名为MiniE_Test,因为那个名字实在是太长了。在开发向导里,有很多十分实用的工具和教程。
4. 至此云端工作完毕,开始MCU端编程,下载生成的工程,目录如下:
详情如下:
生成的这个工程和官方的微信宠物屋源码框架是相似的,源码逻辑详解点我。
下面编写RGB LED驱动头文件,命名为hal_led.h,并把它放到\MiniE_Test\app\include\driver目录:
接下来编写对应的C文件,命名为hal_led.c,并把它放到\MiniE_Test\app\driver目录:
关于GPIO功能的定义在这个文件:
接下来修改按键,这个按键的作用是触发小E进入联网模式,配合手机APP获取路由器的SSID和密码。由于生成的工程包含的按键驱动是以机智云官方Gokit3 SOC版为模板的,我们小E的按键连接的管脚和Gokit是不一样的,因此需要修改。
\MiniE_Test\app\user里的user_main.c文件,包含了整个框架和按键定义,直接在这里修改即可:
如上对比图,去掉一个按键,并修改IO编号,然后修改按键的初始化和回调函数:
至此按键修改完毕。接下来在\MiniE_Test\app\user 里的user_main.c文件,即“主函数”里调用RGB LED初始化以完成外设初始化:
首先包含RGB LED驱动路径:
然后在void ICACHE_FLASH_ATTR user_init(void)函数调用RGB LED初始化:
User_main.c中还有一个userTimerFun定时回调函数,这里可依据数据点添加信息,例如本例增加了RGB LED故障上报,当然填充值为0,因为实际并没有去检测的LED的好坏,另外的2个参数是用于光照检测的,本期没有添加板载光明敏电阻的驱动,这里直接给了一个固定值,下期将给出相关教程。
最后一步是在\MiniE_Test\app\Gizwits里的gizwits_product.c文件中添加业务逻辑,本例就是MCU收到手机APP的对应指令后执行开或关灯动作。首先是包含驱动头文件:
然后找到如下函数:int8_t ICACHE_FLASH_ATTRgizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len),在里面如下位置添加对应代码:
至此代码编辑全部完成,后顾一下,是不是只是简单的编写了底层驱动和填充了用户业务逻辑代码,其它和云端交互的代码完全应用代码自动生成工具为我们搭建的框架即可。

二、 编译和烧录、测试

编译源码、烧录教程:点我,总结下就是使用乐鑫开发的工具,选择好固件,然后GPIO0管脚接地进入烧录模式,这里给个直观的接线图:
最后效果酱紫:

源码下载:

本帖隐藏的内容

 MiniE_Test.zip (5.07 MB, 下载次数: 937)

【esp8266】小黑板ESP8266无线wifi SoC方案连接机智云最详细图文教程相关推荐

  1. STM32使用ESP8266接入机智云点亮LED教程

    首先我们要访问机智云的官网,注册相应的开发者账号. 机智云开发者中心 点击立即注册后,登陆刚刚注册的账号,来到开发者中心,可以看到如下界面. 点击右侧的创建新产品,开始我们的demo创建. 产品分类, ...

  2. STM32+ESP8266(ESP-12F)物联网温度计-移植paho MQTT协议连接阿里云

    STM32+ESP8266(ESP-12F)物联网温度计-移植paho MQTT协议连接阿里云 目录 STM32+ESP8266(ESP-12F)物联网温度计-移植paho MQTT协议连接阿里云 一 ...

  3. esp8266连接机智云

    文章目录 一.机智云固件烧录 二.代码移植 三.连接机智云 四.附件 一.机智云固件烧录 硬件:正点原子的ESP8266 flash:32MB 模组:安可信 固件在附件的安信可ESP8266系列模组- ...

  4. IoT方案|机智云工业互联网解决方案

    [ 行业背景 ] 无线数据采集与传输是工业互联网数据通信中重要的采集方式和组网方式,所涉及到的工业领域应用非常广泛.例如在商业设备.工业现场等环境,存在许多有线无法到达的场景,利用DTU无线数据单元可 ...

  5. IoT方案|机智云智慧家电互联互通解决方案

    [ 行业背景 ] 过去10年,在移动互联网.云计算.物联网技术快速发展的推动下,产品智能化逐渐成为家电和消费电子类产品标配,在丰富产品功能性外,有效提升了用户使用的舒适度和便利,并随着场景化需求的增加 ...

  6. 【WiFi密码破解详细图文教程】ZOL仅此一份 详细介绍从CDlinux U盘启动到设置扫描破解

    From: http://softbbs.zol.com.cn/1/32_7991.html 每天都能看到有不少网友在回复论坛之前发布的一篇破解WiFi密码的帖子,并伴随各种疑问.今天流云就为大家准备 ...

  7. 【WiFi密码破解详细图文教程】ZOL仅此一份 详细介绍从CDlinux U盘启动到设置扫描破解-破解软件论坛-ZOL中关村在线...

    [WiFi密码破解详细图文教程]ZOL仅此一份 详细介绍从CDlinux U盘启动到设置扫描破解-破解软件论坛-ZOL中关村在线 好了,先说下提前要准备的东东吧: 1.U盘一枚,最小1G空间.需进行格 ...

  8. esp8266 阿里云 arduino_NUCLEO-G071RB通过WiFi与NB连接阿里云

    开箱体验 试用背景 去年年初,有新项目要让移动式容器设备的监控数据上云,选型时主要考虑三个系列STM32L0.STM32G0和STM8.最初有意向选用STM32L052RB,主要是为了满足低功耗需求. ...

  9. 复式、别墅、大户型无线wifi覆盖方案

    前言: 先说说什么叫[无线覆盖],简单的说就是你在家里任何角落都有无线wifi可用. 有些朋友不明白了,多买几个无线路由器不就行了.嗯,这样也行.但不是最佳实践,使用起来问题多多. 普通人都会想当然地 ...

最新文章

  1. 关于Oracle.ManagedDataAccess数据库表加字段后,必须重启的问题
  2. adobexd怎么录屏_请问如何使用Adobe XD制作应用动效?
  3. matlab定积分上界求解,定积分问题的数值求解及Matlab实现.pdf
  4. dpkg安装软件流程_ubuntu安装搜狗输入法linux版
  5. python pdf-有没有好一点的读取 PDF 的 Python 包?
  6. python 输出log_Python常用模块logging——日志输出
  7. python修改excel后打印_python 处理excel并打印excel
  8. 关于navicat提权的方法
  9. 两段关于统计日期的sql语句
  10. java 随机数种子_Java--随机数和随机数种子(转)
  11. silverlight 跨域socket
  12. TCP/IP和HTTP的不同之处
  13. 自己动手写个小框架之三
  14. “安全宝”,云安全服务
  15. STM32G070用HAL库与AT24C08通讯
  16. bcnf分解算法_BCNF的保持无损连接的分解
  17. 显卡更新显示计算机无法识别,显卡驱动更新不了怎么办 显卡驱动更新不了解决方法...
  18. 杭州地铁行业十四五发展可行性及投资机遇研究报告2022版
  19. 校园•计量抄表信职学院
  20. Apache Log4j使用实例

热门文章

  1. 哈佛案例 计算机,MBA:哈佛商学院经典案例全集.Image.Marked.pdf
  2. [转]海尔集团CEO张瑞敏演讲《人不成熟的几大特征》
  3. 艾永亮:分析儿童智能手表市场,为什么品牌只有小天才和其他?
  4. OA行政办公管理系统需求说明书的概写
  5. vue 在 html标签上 做三元运算
  6. 当当网抄底优惠,2021年数据人都在啃的这些好书囤慢无货
  7. 什么是DTO 什么是KYC
  8. 急诊预检分诊管理系统的设计与实现
  9. vip结尾的域名到期查询,多久会被删除?
  10. 大数据ui设计师_为什么设计师应该使用真实数据