常见问题
您的位置: 主页 > 常见问题 >

教室智能照明控制器智能照明控制系统厂家直销


发布时间:2020-05-24 03:16


  智能灯泡 》。这些灯泡具有高能效,并具有各种形状,大小和颜色,以适合您的空间。较小的灯泡可用于重点照明或照明,伟德体育而较大的灯泡则更强大,可照亮整个房间!

  在本指南中,您将把PyPortal变成一个能够选择和设置多个光源的智能照明控制器

  与流行的Phillips Hue等更复杂的智能照明系统不同,LIFX灯是设置非常简单。每盏灯都有自己的wifi无线的东西?我们从拆解后的照片中看不到)并连接到您的WiFi网络。

  最值得注意的是LIFX指示灯的亮点在于它们提供了完善的HTTP API,类似于Adafruit IO HTTP API。这意味着您可以使用PyPortal轻松地与它进行交互。

  如果您正在寻找一种方法来使用PyPortal交互式地控制房间的照明,请遵循!

  我们还为CircuitPython构建了一个LIFX帮助器模块,以便与这些指示灯非常容易。

  您可以快速更新代码,而无需在设备上编译和存储WiFi和API密钥。这意味着每当您将PyPortal移至另一个网络时,都无需编辑代码和重新上传-只需更新文件并进行设置即可。

  向PyPortal问好!使用触摸屏显示构建物联网项目的最简单方法!确保阅读PyPortal入门指南并浏览页面。它可以帮助您使用CircuitPython和一些演示代码进行设置!

  如果您不熟悉CircuitPython,请花点时间浏览以下指南以获取您已开始学习并加快速度:

  PyPortal,我们易于使用的物联网设备,可让您在数分钟内为“物联网”创建所有东西。制作自定义触摸屏界面。..

  借助PyPortal,您可以走到办公桌外-到达星星和更远的地方!该ADABOX具有易于使用的新型IoT设备,可让您自定义和创建。..

  要在CircuitPython中使用PyPortal的所有出色功能,必须首先安装许多库。本页涵盖了该过程。

  您可以将 lib 文件夹添加到您的 CIRCUITPY 驱动器中。这将确保您拥有所有驱动程序。但是这将占用8 MB磁盘上的一堆空间

  至少,我们推荐以下库,实际上我们比推荐的要多。基本上是必需的。因此,立即抓住它们并将它们安装到 CIRCUITPY/lib !

  adafruit_esp32spi -这是一个库,可通过ESP32进行互联网访问使用(您猜对了!)SPI传输。 Internet所需的任何东西都需要使用它

  adafruit_pyportal -这是我们友好的包装器库,可处理很多项目,显示图形和文本,从互联网上获取数据。

  adafruit_io -该库有助于将PyPortal连接到我们的免费数据记录和查看服务

  adafruit_bitmap_font -我们拥有精美的字体支持,并且易于制作新字体。该库读取并解析字体文件。

  一旦您安装了CircuitPython安装程序和库,我们就可以将您的电路板连接到Internet。请注意,目前不支持访问企业级安全的WiFi网络,仅支持需要SSID和密码的WiFi网络。

  我们希望人们在构建CircuitPython WiFi小部件时共享大量项目。我们要避免的是人们不小心共享了他们的密码或秘密令牌和API密钥。因此,我们设计了所有示例,以使用 CIRCUITPY 驱动器中的secrets.py文件来保存秘密/私有/自定义数据。这样,您就可以共享您的主项目,而不必担心意外共享私有内容。

  Inside是一个名为secrets的python字典,每个条目都有一行。每个条目都有一个条目名称(例如‘ssid’),然后是一个冒号以将其与条目键‘home ssid’分开,最后是一个逗号,

  至少您需要ssid和password用于您的本地WiFi设置。在创建项目时,您可能需要更多的令牌和密钥,只需一次添加一行即可。例如,请参见其他令牌,教室智能照明控制器例如用于访问github或hackaday API的令牌。其他非机密数据(例如您的时区)也可以在此处,仅因为其称为机密的信息并不意味着您不能在其中包含常规的自定义数据!

  有关正确的时区字符串,请查看http:timezones,请记住,如果未列出您的城市,请在同一时区中查找城市,例如,波士顿,纽约,费城,华盛顿特区和迈阿密都与纽约位于同一时间。

  当然,不要共享您的 secrets.py -将其保存在GitHub,Discord或其他项目共享站点之外。

  并更改MY_SSID_NAME和 MY_SSID_PASSWORD 设置为您的访问点名称和密码,并将其保留在‘’引号内。 (此示例不使用,但它也非常独立,因此,如果其他事情似乎不起作用,则可以始终重新加载该文件。您应该获得如下内容:

  告诉我们的requests库我们正在使用的套接字的类型(套接字类型随连接类型而变化-在此示例中,我们将使用adafruit_esp32spi_socket)。还将接口设置为

  连接到我们在此处定义的AP,然后打印出来本地IP地址,尝试进行域名查找并ping google.com以检查网络连接(请注意,有时ping失败或需要一段时间,这没什么大不了的)

  好的,现在我们进入真正有趣的部分。使用SAMD51或其他大容量RAM(超过32 KB)设备,我们可以做很多巧妙的事情。例如,我们可以像请求一样实现一个接口,这使得获取数据非常简单

  或者,如果数据使用结构化JSON,则可以获取json pre -解析为可以轻松查询或遍历的Python字典。 (同样,仅适用于nRF52840,M4和其他高RAM板)

  我们已经为Web接口编写了一个类似请求的库,名为Adafruit_CircuitPython_Requests。该库允许您发送HTTP/1.1请求,而无需“设计”它们,并提供了有用的方法来解析服务器的响应。

  尽管我们从服务器请求数据,但我们还是希望服务器回应。由于我们已经保存了服务器的requests.get(),因此可以将其读回。对我们来说幸运的是,请求将服务器的响应自动解码为人类可读的文本,您可以通过调用response将其读回。

  最后,我们将执行一些操作通过调用response进行清理。这样会关闭,删除和收集响应的数据。

  一些服务器使用文本响应,而某些服务器则使用由属性-值对组成的json格式的数据进行响应。/p》

  我们还可以获取和解析 json 数据。我们将发送HTTP Get到一个我们知道的URL,该URL返回一个json格式的响应(而不是文本数据)。

  response.close()方法中,将json格式的数据发布到服务器。

  要发送自定义HTTP, aders,将响应解析为原始字节,还是在CircuitPython代码中处理响应的http状态代码?

  这个最简单的示例可行,但有点挑剔-您需要不断检查WiFi状态,并具有许多循环来管理连接和断开连接。对于更高级的用途,我们建议使用WiFiManager对象。它将为您包装连接/状态/请求循环-如果WiFi掉线,则重新连接,如果ESP32进入不良状态,则重置ESP32,等等。

  这是一个更高级的示例,其中显示了WiFi管理器以及如何使用一些额外的标题发布数据:

  您会在这里注意到,我们使用secrets.py文件来管理我们的SSID信息。 wifimanager被赋予了ESP32对象,密码和一个用于指示状态的新像素。

  请注意,您需要在密码文件中添加一些其他信息,以便代码可以查询Adafruit IO API:

  您可以转到adafruit.io查看AIO密钥链接获取这两个值并将它们添加到secrets文件中,该文件现在看起来像这样:

  然后,我们可以有一个简单的循环,用于将数据发布到Adafruit IO,而无需处理连接或初始化硬件!

  在Adafruit.io上查看您的测试数据,每次Cir时,您都会看到该值增加cuitPython板向其发布数据!

  导航 到 LIFX帐户设置页上,命名访问令牌,并进行独特的设置,然后点击生成。

  然后,将此令牌复制到文件或安全的地方-当您离开此页面时,您将不能再次查看它。

  在继续之前,请确保您开发板的 lib 文件夹已复制了以下文件和文件夹 。

  如果尚未设置 CIRCUITPY 驱动器中的 secrets.py 文件并使用该文件连接到Internet,请按照本指南进行操作,并在成功连接到Internet后返回此页面。/p》

  在下面的嵌入式代码元素中,单击下载:Project Zip 链接,然后保存。压缩文件。

  使用代码之前,您需要将 code.py 文件修改为添加一个标签来指定您要控制的灯。

  LIFX使用称为选择器的标识符来识别与您的帐户关联的灯。通过选择器,您可以使用灯光的唯一标识符,位置(卧室,工作台,客厅)或照明组。为简单起见,本指南假定您将标签用作选择器。

  下一步,修改 code.py 中的lifx_lights变量,以包含来自应用程序的标签。

  例如,如果要添加一个名为 workbench 的新LIFX灯泡,则将代码 from

  有关使用LIFX灯光选择器的更多信息,请在此处查看有关此主题的API文档。

  从Mu编辑器中,单击“串行”按钮以打开REPL。您应该在加载界面时看到REPL显示代码的状态。

  通过点击要控制的灯光的名称来选择灯光。如果未选择任何灯光,则代码将默认为列表。

  点击/off按钮以切换所选灯的电源。请记住,LIFX灯会保存状态-如果您之前将灯设置为红色并关闭,则它会以相同的颜色打开。

  按钮在向LIFX API发出请求时会反转颜色。 请求完成后,按钮将变回其原始颜色。

  注意:我们在本指南中使用了颜色名称来设置不同的颜色。 LIFX HTTP远程控制API允许您超越基本颜色-您可以通过指定色相,饱和度,亮度,开尔文或十六进制值来设置灯泡的颜色。

  有关HTTP工作原理的更多信息,请查看我们的All Internet of有关此主题的内容指南。

  下一部分代码从 secrets.py 文件中获取信息,包括wifi配置和LIFX Access令牌。然后,它建立ESP32的SPI连接,保瓦智能照明控制系统厂家以与PyPortal一起使用。 wifi对象也在此处设置-稍后在代码中用于与LIFX API通信。

  秘密中的lifx_token条目是设置为新变量lifx_token,智能照明控制系统厂家直销并与之前创建的wifi对象一起传递到LIFX帮助器中。

  然后,代码设置了两个灯的列表(由其选择器标识) 。在此代码的后面,这些灯链接到按钮,以便该代码可以识别正在切换的灯。

  此外,还设置了默认的灯亮度100%,以及一个current_light变量。

  在代码可以创建按钮之前,它需要创建一个displayio组来容纳它们。在这里-代码选择一种字体,预加载了字形,并为BUTTON_WIDTH和BUTTON_HEIGHT设置按钮属性。

  首先,创建与按钮属性相对应的词典项目列表。 color_btn列表包含按钮的信息,例如按钮的名称,在显示器上的位置以及十六进制颜色值。 prop_btn列表包含按钮的名称,位置和文本标签。

  然后,按钮从列表中生成,并附加到button列表中。将所有按钮都添加到button列表后,它们将被一对一地附加到displayio button_group。

  主循环检查是否屏幕被触摸。家装智能照明控制系统如果是,它将搜索button列表中的哪个按钮被触摸。

  确定按钮后,将切换按钮的selected属性-反转按钮的颜色,直到操作已执行。这样,您正在创建视觉状态指示器。

  然后,代码根据其功能检查按钮的名称(它的作用)。如果按钮的名称是灯或房间,则将current_light切换为按钮的值。

  每当主循环中的代码向LIFX API发送数据以对灯执行操作时, ,它使用current_light变量选择灯光。

  如果按钮的名称与预定义的名称不对应,我们将使用按钮的名称作为传递给light_brightness的颜色来设置颜色。

  您不受button_colors列表中定义的颜色的限制-您可以调整/混合颜色并将这些值发送到LIFX灯,请查看其网站上的颜色文档。

  最后,代码将其selected属性设置为false,将其恢复为原始颜色以表示已执行操作。

  本指南仅刮擦了LIFX Light Remote HTTP API的表面。还有更多的端点,选项和效果可以使用。如果您有兴趣了解它的工作原理(更深层次),请查看帮助器库的存储库中的lifx.set_color文件。保持LIFX API网站在另一个选项卡中打开(作为参考)可能会有所帮助。

返回顶部