前言

其实在学习单片机的道路上我发现,所有单片机的功能都是基于通过内部程序控制对输出引脚进行配置实现的。这样说来,一切都可以看作是对“点灯”这一实践的延伸。我们常说“点灯”是学习单片机的第一步,那么这篇文章将从“物联网”这一概念作为连接单片机和互联网的第一次“点灯”。

一、硬件选择

这个实验无需额外配置硬件,只需要一块ESP32开发板。一般网上选购ESP开发板有30Pin(30个引脚)的还有38Pin(38个引脚)的,我们可以选择30Pin的那款。只要是开发板上芯片封装写着“ESP-WROOM-32”且是30Pin的款式(或者搜索ESP32 DEVKIT v1),通常这款都会带有两个LED显示,一个是电源信号灯(一般显示红色),一个是由GPIO2引脚/D2引脚控制的LED(一般显示蓝色)。而我们就是利用这个开发板自带的LED进行实验,因此无需再买其他硬件。(以下是参考图片)

二、软件配置

这次软件部分我们需要用到米思齐(电脑上)和点灯科技(手机)。

  1. 米思齐

关于米思齐的下载,可以在这个网站下载http://mixly.org/,下载教程可以参考http://t.csdn.cn/t2Lvu这篇文章。下载好之后,打开找到Arduino ESP32并点进去。

点进去后在右上角找到“设置”再找到“管理库”,点开之后可以看到这界面:

选择名字叫“点灯科技Blinker”的那一项,点击那项最前面的空白框:

然后在这个库管理器界面右上角点击这个标志即可完成配置:

完成配置关闭库管理器界面后可以在左侧看到有这么一栏即为配置成功:

  1. 点灯科技

关于点灯科技的信息,可以参照官方文档:https://diandeng.tech/doc/home

关于点灯科技的下载,可以通过手机的应用商城搜索“点灯blinker”,找到名字一模一样的应用下载即可,要是担心下载的应用不对,也可以用手机浏览器打开这个链接:https://diandeng.tech/home下载手机APP。

下载之后注册登陆,一般登陆后悔显示为空白界面,这时点击右上角的加号:

点进去后悔显示这个界面,选择“独立设备”并点击:

点击进去后下方选择网络接入:

选择点灯科技:

之后会等到一个密钥,这个密钥是接入设备的重要途径,可以先复制下来或者先不管,每个设备在创建后都会得到一个专属的密钥,这个密钥最好不要透露给其他人,防止设备被人占用或盗用。创建完新的设备之后返回主界面,点击刚刚创建的“新的设备”:

点进来可以看到这个界面,选择“载入示例”即可:

载入后就会显示这个画面:

这样我们就配置好点灯科技APP的部分了,可以开始编程了。

三、程序编写

  1. 编程前需知

1.1密钥

在之前的说明中,我们在创建新设备的时候有出现过密钥:

在推出这个界面后,我们可以在设备的按键界面再次找到密钥信息:

一般点进这个界面后密钥那一栏是隐藏的,可以点击密钥旁边的眼睛图标让他显示出来。

密钥作为识别设备的重要标准,在编程时往往需要输入对应的密钥码,这样通过点灯科技的服务器才能找到搭载密钥的设备。

1.2按键配置——键名

在这个界面,我们可以看到有多个按键和一个显示代码的文本框,每个按键需要通过键名识别收到和发送的按键指令,而想要设置按键的键名,可以在这个界面点击右上角的编辑按钮:

随之可以看到这个界面:

在这个界面可以添加自己想要的按键功能块,以及选择要做具体设置的按键。

在每个按键的左上角淡蓝色框内的的就是键名,不同的按键设置的键名不同,我们一般在编程时设置键名方便点灯科技的服务器接收和发送APP里设置好的同名的按键信息。

当我们点击进入一个按键的具体设置时,我们可以看到这些信息:

我们可以设置图标的形状或图样,也可以设置按键键名、颜色等等信息。在编程时,我们可以通过程序设置接收信号后返回给APP的信息,这些信息会改变按键的状态,一般包括按键的颜色、按键底下的文本内容、按键的状态、按键涉及的数值等等信息。

1.3按键配置——按键状态

按键一共有5种状态:打开(on)、关闭(off)、点按(tap)、长按开始(press)、长按结束(pressup)。打开和关闭是类似普通点灯开关,按下后会保持当前状态;点按相当于只是告诉程序执行过一次“按下”这个动作;长按开始和长按结束就好比饮料机,需要人对按键一直进行按下或松手的操作。一般我们用点按来计数,其余用来开关灯或其他功能。

  1. 程序编写技巧

如果你想自己DIY设计一个独属于自己的程序,但是不知道从何下手,可以点击点灯科技那部分中的“示例组合”:

在“示例组合”中,第一项有一个写着“示例程序:XXXX   打开”的选项:

将他拖出来,可以点击他的下拉菜单:

里面只要点击你想选择的功能,再点击“打开”,就会出现功能对应的图形化程序。然后根据自己的需要和配置设置好各个按键的键值和密钥,就可以下载到板子上进行实验了。

  1. 点灯程序

3.1连接网络

这个点灯程序,我们首先要让设备连接上网络,并通过密钥和APP里设置好的设备界面进行连接:

3.2设置按键

我们在设置按键的时候首先要考虑按键的键名,然后是按键所操控的单片机引脚,我们这块开发板的自备LED在GPIO2/D2引脚上,所以我们通过按键控制该引脚:

3.3设置第二个按键(扩展实验,可做可不做)

此处扩展一个可以用来计数和通过长按控制LED亮灭的按键,可以配合APP中计数界面的使用:

3.4点灯程序(简易版)

此版本为无第二个按键的版本:

3.5点灯程序(完整版)

此版本为包含第二个按键的版本:

用米思齐+点灯科技——ESP32点灯实验相关推荐

  1. 用米思齐mixly和APP INVENTOR 2通过MQTT控制灯亮和熄

    用米思齐mixly和APP INVENTOR 2通过MQTT控制灯亮和熄,如下图所示:

  2. 用米思齐(mixly)或者Arduino制作红外线遥控灯

    ----用米思齐(mixly)或者Arduino制作红外线遥控灯 一.先设置红外线遥控和LED灯的端口 二.在面包板上把LED灯的电路接好,注意要接电阻! 三.Arduino代码 #include & ...

  3. 点灯科技ESP32库——Arduino端程序开发入门笔记(一)

    点灯科技官方给了简单的介绍 点灯科技 (diandeng.tech) 你还可以在里面找到官方对应的arduino库,加入到编译器后,就可以利用官方的APP实现远程控制了,它还兼容多种语音助手.在这里你 ...

  4. 点灯科技ESP32库——Arduino端程序开发入门笔记(二)远程点灯

    在Arduino中官方给了相应的例程你可以在手机APP里自己绘制控件,就像这样 编辑好后,在代码中加入相应的控件名称,加入到setup函数中.我这里起的名字叫ledbot. 先建立对应类函数 Blin ...

  5. 用米思齐(Mixly)进行Arduino编程后上传失败问题记录与解决

    在本人利用米思齐进行Arduino编程后,在上传到板上时遇到了如下报错: 在查找相关资料以及排除故障后,发现是由于电脑连接着我的蓝牙耳机而导致米思齐(Mixly)识别串口出现错误.调整串口之后问题便得 ...

  6. 用米思齐控制arduino显示TM1637的数码管

    程序 前两位显示 24到0 后两位显示 0到60 #include <TM1637.h>String item;TM1637 tm1637(6,7);void setup(){tm1637 ...

  7. (含代码)ESP8266+舵机 制作wifi灯控开关(arduino,点灯科技,小爱同学/天猫精灵实现)

    目录 项目涉及的主代码 前言 一.环境搭建 二.开发步骤 1.注册点灯科技平台 2.在点灯科技平台注册设备,获取Secret Key 3.在Arduino IDE中编写代码,写入ESP8266 4.编 ...

  8. Mixly用点灯科技控制小爱同学小度小度天猫精灵Siri控制应用

    Mixly用点灯科技控制小爱同学小度小度天猫精灵Siri控制应用 Mixly用点灯科技Arduino编程控制小爱同学小度小度天猫精灵Siri控制应用 在Mixly中我们可以用图形化来给各种智能音箱编程 ...

  9. 点灯科技使用输入框实现信息远程查询

    Blinker 文章目录 Blinker 前言 一.点灯科技输入框 前言 最近做项目要使用到查询功能,写一个上位机进行查询很容易实现,但是需要USB转TTL,根本不能实现远程查询,通过物联网远程连接a ...

最新文章

  1. 微信小程序实现滑动tab切换和点击tab切换并显示相应的数据(附源代码)
  2. Velocity 入门(一)
  3. Hibernate的基本操作数据库,增加,修改,删除,查询
  4. C++(纯)虚函数重写时访问权限更改问题
  5. 《SQL Server 2008从入门到精通》--20180716
  6. pytorch模型初始化
  7. linux定时任务Crond之服务器同步时间05
  8. oracle数据库max使用,Oracle / PLSQL MAX函数
  9. 安装配置MySQL5.7详细教程
  10. php在线拍照裁切,基于cropper.js封装vue实现在线图片裁剪组件的功能
  11. TCPIP网络编程项目式教程(微课版)
  12. python houdini_Houdini Python基础一安装
  13. 做一个视频通话给自己用吧
  14. 在编译Android时,开机不锁屏
  15. css中translation,css3 translate属性
  16. 初识冯诺依曼体系结构
  17. 如何对优惠券进行测试
  18. linux面试题_全网最新、最全Linux面试题(2020版)!
  19. 坐标换与雅克比矩阵 Jacobian
  20. 【Flutter】如何完成一个透明沉浸式状态栏

热门文章

  1. 微博 - 如何修改微博昵称?
  2. Netcms oday 漏洞
  3. PHP计算两个日期相差的天数方法详解
  4. win7声卡驱动安装失败(不能安装)完美解决方法
  5. 2^29哪个数字没有出现?
  6. 1.0 Android平台概述
  7. [微信机器人_01]智能机器人-奇迹蛋
  8. 2011-11-06
  9. 设置软件以管理员权限开机自启动,MemReduct为例
  10. 1一1剖面图方向_新款汽车把套冬季方向盘套冬短毛绒通用型方向盘套保暖女可爱防滑1元优惠券券后价17.8元...