ShIoTiny:更新和通知



这篇文章是关于什么的


我们将继续介绍关于ShIoTiny的系列文章, 是一种基于ESP8266芯片的可视可编程控制器。

本文讨论自上一个ShIoTiny固件以来发生的变化:用户界面如何更改; 如何重新分配“腿”等不太重要,但同样值得期待的事情。

本文介绍了有关ShIoTiny固件开发领域中的事务状态的类似“情况说明书 ”的内容。 那些对我对本文的发展不感兴趣的人可以清楚地跳过本文。

那些不知道他们在说什么,但想要了解的人,可以阅读我以前关于ShIoTiny固件的文章或参考文档

ShIoTiny项目现场

ElDraw编辑器的在线版本与固件完全相同,以供参考。

链接到原理图,固件等-在ShIoTiny网站的文档部分。

以前的ShIoTiny文章和我的其他文章

介绍让老百姓放心


碰巧第四季度是一个永久的高峰。 因此,一些同志已经开始掩埋ShIoTiny项目并通过邮件给我写信,他们说:“嘿,作者,你在哪里?! 你为什么不写?! 我们在这里使用您的固件! 而且您还不是一篇新文章!”
当然,这是有礼貌的,但是从含义上来说是这样。 相反,有些人提出了建议和评论,这在捕获软件跳蚤方面大有帮助。 谢谢你们 不用自己做饭而是有志同道合的人总是很高兴。

朋友们! 我提醒您,我的项目是业余爱好,除此之外,我还有工作,妻子和孩子。 所以我求你:宽容! 作者写了他如何以及可以:)

我赶紧向大家保证:该项目尚未结束 ! 我从代码中抓了很多东西,此外,重做了项目站点(尽管我还没有完成它-我用内容填充了站点)。

从世界上大多数哲学教义的角度来看,没有永久的东西。 甚至我们的宇宙也在不断发展。 关于微控制器固件或项目网站,我们能说些什么?

ShIoTiny固件中的关键更改主要影响两件事:重新定义支脚和控制器状态页面的可能性。 我们将讨论它们。 至于该项目网站的新设计,我不会在这里碰到它:任何有好奇心的人都会过来,看着和批评。

重新定义ESP8266支


因此,支脚或它们是-GPIO 。 最初, ESP866微控制器的支路不打算重新定义。 它们被牢牢地钉在ESP-07板的输入和输出上(任何有兴趣的人-一切都在项目网站上)。

但是突然发现,我的固件没有任何更改,不仅在具有1MB闪存的ESP-07模块上,而且在ESP-01ESP-12甚至在ESP-8285上都可以使用

正确地提出了一个问题,其中一个需要5个输入和一个输出,其他6个输出而不需要输入,并且同时需要三个温度计。

愤愤不平的公众的来信浪潮几乎使我心中的残留物变得黯淡! 我的妻子已经准备好给我打电话给我一件带有死亡衬衫的命令...但是我原来是个强硬的人!
我咬着牙,喝了三公升的咖啡,收集了大脑的残余物,这些残余物是偶然没喝到学生体内的,并想出了如何通过重新定义腿部来实现这一技巧,从而使每个人都感觉良好。

我不会对内部程序厨房感到厌烦。 从用户的角度来看,一切看起来都非常简单:他将鼠标戳到与GPIO模块的任意分支相连的节点上,并从可能的分支中选择一条。 大致如下图所示。



N / A-表示未选中脚。
如果电路中的某个节点未选择N / A支路,则无法将该电路加载到设备中-ElDraw编辑器将不允许 。 但是,可以将这样的方案下载到磁盘上,以便“稍后”继续对其进行编辑。

一切都很简单,但有细微差别。

首先 ,我认为这非常方便,列表中仅显示未使用的支腿。 也就是说,两次选择一条腿是不可能的。

其次GPIO15支路保留用于AP按钮,不能用于其他目的。 对不起,但是没有办法...

第三GPIO16支路不能用作常规二进制输入( 输入节点)。

第四GPIO9GPIO10支脚只能在ESP-8285模块上使用。 在其他模块上,结果将是灾难性的-完全依赖和无限重启!

最后一点-选择GPIO9GPIO10支脚时某些模块的悬挂使我很难思考。 毕竟,如果腿的选择不正确,我不想每次都更改控制器! 我想出了一种经过修改的新方式进入配置模式。

进入配置模式的新方法


如果有人阅读了我以前的文章,他会记得ShIoTiny固件配置模式是ESP8266芯片成为开放访问点时的模式,并且重启后程序电路不会自动启动。 而且如果它没有启动,那么在选择任何GPIO引脚时它都不会挂起。

也就是说,在配置模式下,您可以将GPIO9GPIO10的问题分支 更改为其他分支 。 但麻烦的是,仅按住AP按钮约4秒钟,您才能进入配置模式! 在这段时间内,控制器将有时间开始执行“曲线”电路程序并冻结!

为解决此问题,重新启动控制器后,我提出了半秒的保护间隔。 如果在重新启动控制器后0.5秒钟内按了AP按钮,则控制器将立即以配置模式重新启动。 同时,在半秒的保护间隔内,程序方案不会启动。 这意味着它无法挂起。

缺点很明显-程序不会立即启动,而是半秒后启动。 优势更为可观-如果您选择“错误的分支”或电路程序由于其他原因而冻结,则始终可以进入配置模式并解决问题,而无需闪烁控制器。

实际上,一切看上去都比蒸熟的萝卜更简单:我们按下“ 重置”按钮,然后在不干扰的情况下释放此处的“ 重置”按钮,我们按下AP按钮。 立即大约半秒钟,蓝色STATUS LED点亮(如果您将其焊接到GPIO0 ,当然),控制器将在配置模式下重启。

如果程序电路正常工作,则可以始终以“旧”方式切换到配置模式-按住AP按钮约4秒钟(直到蓝色的STATUS LED亮起)。

ShIoTiny状态页面


根据用户的意愿连接支腿的能力已导致ShIoTiny固件的主要信息页的修订

经过深思熟虑,我得出的结论是,该页面应a)内容丰富,b)内容不宜过多。

下图显示了我所得到的。



主要信息页面上有两个部分: 信息 -常规信息和已使用的GPIO-有关I / O支脚使用的信息。 让我们更详细地考虑它们。

信息部分


名称:esp_8266_155da4-设备的唯一名称。 它是自动生成的,无法更改。

Ver:2019-10-22 22:54:51 +0700 6b5ee82 clean-固件版本(构建日期和提交标识符)。

MQTT:已连接到:192.168.1.2:21064, SSL-与MQTT服务器的连接。 如果正在使用安全连接,则显示服务器的IP地址或URL,服务器端口和SSL模式。 请记住,如果电路程序不包含用于MQTT的节点,则将永远无法建立连接!

WiFi:STA IP:192.168.1.134。 -WiFi ESP8266工作模式: STA-站, AP-接入点。 可以同时选择具有不同IP地址的两种模式。

现在:2019年10月30日星期三21:49:28 GMT + 0700-当前时间。 它显示只有“ 设置时间”节点设置的时间 ! 否则,将指示时间未同步且未设置。

GPIO使用部分


本节显示了程序图中使用的所有模块分支及其当前状态。

输出格式很明显: GPIO <leg number>(功能):状态
支路编号是数字,或者对于ADC ,数字是题字adc
功能: 输入 -二进制输入; 继电器 -二进制输出; ADC -ADC或传感器类型: DS182xDHTxx

字段“状态”-取决于腿的目的。
对于二进制输入和输出-0或1。
对于传感器-温度,湿度。
对于ADC-根据给定的公式重新计算其读数(请参见说明中有关使用ADC的说明)。

我认为,主页包含有关控制器操作的所有必要信息。

结论


实际上,这是当今固件中的所有主要更改。 除了这些创新之外,还修复了五个五个小错误。

照常-ShIoTiny网站上文档部分或此处的详细说明。

建议,愿望,批评, 金钱,礼物等-给我发送评论或电子邮件: shiotiny@yandex.ru

等待反馈和建议。

Source: https://habr.com/ru/post/zh-CN473832/


All Articles