资料介绍
描述
使用 Python 和 JQWidgets 控制 Neopixels
低功耗无线标准与低成本和超小型 LED 相结合,使智能照明解决方案成为物联网和家庭自动化 的催化剂。
在本教程中,我们将了解如何使用Python和JQWidgets通过移动设备控制 Adafruit NeoPixel环。特别是,我们将看到如何使用Zerynth Studio 在 Python 中对基于微控制器的板进行编程,以及如何使用 Zerynth App 运行基于 JQWidget 的 GUI。
为什么使用 Zerynth App 来远程控制 Neopixels
如果您错过了 如何使用 Zerynth 制作漂亮的 IoT 仪表板的教程, Zerynth 应用程序 是一个移动应用程序,可以 为您的 IoT 项目快速制作图形界面原型 。 通过 Zerynth 应用程序,您可以使用 HTML 、 CSS 和 JavaScript运行漂亮的响应式图形用户界面。无需 Android 或 iOS 代码!
特别是,Zerynth 应用程序支持Zerynth 供电设备和您的移动设备之间的双向通信通道。我们已经了解了如何从 Zerynth 驱动的设备发送数据并将 Zerynth 应用程序用作远程显示器。 您可以将本教程视为同一枚硬币的另一面:我们将了解如何通过用作遥控器的 Zerynth 应用程序控制您的设备。
开始吧!
所需材料
首先,你需要一块板子。您可以选择 Zerynth 支持的 32 位微控制器设备之一。我们选择了Particle Photon ,这是一款非常流行的支持 Wi-Fi 的开发板,用于创建 IoT 项目。
您还需要一个Adafruit Neopixel 环(或条带)和一个面包板。
最后但并非最不重要的一点是,您需要:
- Zerynth 应用程序。你可以 在这里下载。
组装
只需将 USB 供电的 Particle Photon 放在面包板上并将其连接到 Neopixel 环,如下所示:
- Neopixel +5V 至 Particle Photon 的 Vin 引脚
- Neopixel GND 到 Particle Photon 的 GND 引脚
- Neopixel“数据输入”引脚到粒子光子的数字引脚
如果您想使用更多 Neopixels 或者您想以不同的方式为系统供电,请注意您可以在此处找到的信息: 基本连接、 最佳实践、 为 NeoPixels 供电。
编程
安装 Zerynth Studio 并 创建 Zerynth 用户后,您 必须注册并虚拟化开发板。查看Particle Photon 的 Zerynth 官方文档以快速入门。
现在您可以开始用 Python对您的电路板进行编程了!
创建一个新项目 并编辑main.py文件如下:
# Neopixel via Zerynth App
from wireless import wifi
# change the following line to use a different wifi driver
from broadcom.bcm43362 import bcm43362 as wifi_driver
from zerynthapp import zerynthapp
from adafruit.neopixel import ledstrips as neo
import streams
streams.serial()
num_leds = 16 # adjust this to match the number of LEDs on your strip
led_pin = A5 # this should match the data pin of the LED strip
leds = neo.LedStrip(led_pin, num_leds) # create a new Neopixel strip composed of LEDs and connected to pin led_pin
leds.clear()
r = 72
g = 108
b = 108
leds.setall(r, g, b)
sleep(1000)
print("STARTING...")
try:
# Device UID and TOKEN can be created in the ADM panel
zapp = zerynthapp.ZerynthApp("DEVICE UID", "DEVICE TOKEN")
# connect to the wifi network (Set your SSID and password below)
wifi_driver.auto_init()
for i in range(0,5):
try:
wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD")
break
except Exception as e:
print("Can't link",e)
else:
print("Impossible to link!")
while True:
sleep(1000)
# Start the Zerynth app instance!
# Remember to create a template (index.html),
# upload it to the Zerynth ADM and associate it with the connected device
zapp.run()
def set_color(rr, gg, bb):
global r, g, b
r = rr
g = gg
b = bb
leds.setall(r, g, b) # set the color of LEDs
# link "set_color" to the function set_color
zapp.on("set_color", set_color)
while True:
leds.on() # refresh the LEDs color
print('r = %i, g = %i, b = %i' % (r, g, b))
print("..")
sleep(50)
except Exception as e:
print(e)
当然,您必须编辑您要连接板子的wifi网络的SSID名称和密码。
此外,您必须创建一个“已连接设备”并将“zerynthapp”实例链接到它。然后您必须创建模板并将其链接到项目。请查看本教程的“创建和设置连接的设备”和“创建、上传和设置模板”步骤以 了解更多详细信息。
index.html文件应如下所示:
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Zerynthtitle>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous">script>
<script src="https://api.zerynth.com/zadm/latest/z.js">script>
<link rel="stylesheet" href="https://jqwidgets.com/public/jqwidgets/styles/jqx.base.css" type="text/css" />
<script src="https://jqwidgets.com/public/jqwidgets/jqx-all.js">script>
<script type="text/javascript" src="https://www.jqwidgets.com/public/jqwidgets/jqxcore.js">script>
head>
<body>
<div style="text-align:center">
<p id="status" style="background:#ddd;font-weight:bold">p>
<h1>Color Pickerh1>
div>
<div id="colorPicker" style="position: relative; margin: auto;">div>
<script>
$(document).ready(function() {
$("#colorPicker").jqxColorPicker({
width: 300,
height: 300,
colorMode: 'saturation'
});
$('#colorPicker').bind('colorchange', function (event)
{
var color = $("#colorPicker").jqxColorPicker('getColor');
var hex = color.hex;
var rgb = color.r + "," + color.g + "," + color.b;
Z.call('set_color', [color.r, color.g, color.b]);
});
// initialize the Z object
Z.init({
on_connected: function(){$("#status").html("CONNECTED")},
on_error: function(){$("#status").html("ERROR")},
on_disconnected: function(){$("#status").html("DISCONNECTED"); return true},
on_online: function(evt){$("#status").html("ONLINE");},
on_offline: function(evt){$("#status").html("OFFLINE");},
on_event: function(evt){
//display received event;
}
})
});
script>
body>
html>
此时,您可以 将脚本上传到您的设备。
最后,正如您在 这个非常简短的教程中所读到的,您只需打开 Zerynth 应用程序,登录并选择特定设备即可查看您的 GUI。
Zerynth Stack 的一个独特功能是 Web 2.0 技术与连接设备的集成。通过将设备链接到模板(可以像单个静态网页一样简单,也可以像响应式网站一样复杂),可以在 Zerynth 应用程序或单击眼睛图标的台式计算机上远程监控和控制设备如您在此处看到的,在设备名称的右侧。
为智能照明系统启用固件无线 (FOTA) 更新
一旦你建立了你的智能照明系统,你就不想拆卸所有东西来升级固件。
为满足此规范,Zerynth在Zerynth Studio PRO版本中包含了“ Firmware Over-the-Air ”功能 ,该功能还包括以下功能:
- 可选择的实时操作系统
- 省电
- 硬件驱动的安全固件以工业量在设备上烧录
- …以及更多
通过Zerynth 学院
- 用于将数据从Google表单自动发布到Adafruit IO的Python脚本
- 像DJ一样控制 NeoPixels
- Neopixels ATTiny85和电源尖峰电容器开源
- 《Python编程入门》.pdf 0次下载
- Python语言在AI、大数据方面的重要性 25次下载
- 机器学习必学的Python代码示例集 14次下载
- 带有Adafruit_IO的气象站监视器源码 9次下载
- Python3基础教程电子版下载 0次下载
- python的基础知识培训教程课件免费下载 73次下载
- Python的学习和使用经验说明 16次下载
- Python的基本知识和特点及功能详细说明 13次下载
- python基础教程之如何使用python进行环境搭建 32次下载
- 《21天学通Python》电子书籍下载-随书附带程序与ppt 0次下载
- 《Python开发技术详解》-随书附带程序 0次下载
- 《Raspberry Pi Python 编程入门 》-电子书籍.pdf 0次下载
- Python智能家居系统代码介绍 1418次阅读
- 如何使用Python和PinPong库控制Arduino 1033次阅读
- 详解Python条件语句 841次阅读
- 如何配置Python环境变量 2w次阅读
- 如何测试Python环境 5066次阅读
- 如何安装Python解释器 5407次阅读
- 如何搭建Python编程环境 5211次阅读
- Python的环境配置 803次阅读
- 一次学会使用Adafruit IO平台! 4491次阅读
- Python的Anaconda入门指南 2672次阅读
- 如何快速学习Python?学习Python有哪些坑? 3940次阅读
- python适合做什么开发_python未来发展怎么样 8305次阅读
- 介绍Python 3 的功能 让人轻松地从Python 2迁移到Python 3 4526次阅读
- python串口接收数据 4.5w次阅读
- python2与python3问题的分析 1063次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多