电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>使用Python和JQWidgets控制Adafruit NeoPixels

使用Python和JQWidgets控制Adafruit NeoPixels

2022-11-10 | zip | 0.56 MB | 次下载 | 免费

资料介绍

描述

使用 Python 和 JQWidgets 控制 Neopixels

低功耗无线标准与低成本和超小型 LED 相结合,使智能照明解决方案成为物联网家庭自动化 的催化剂

在本教程中,我们将了解如何使用PythonJQWidgets通过移动设备控制 Adafruit NeoPixel环特别是,我们将看到如何使用Zerynth Studio 在 Python 中对基于微控制器的板进行编程,以及如何使用 Zerynth App 运行基于 JQWidget 的 GUI。

为什么使用 Zerynth App 来远程控制 Neopixels

如果您错过了 如何使用 Zerynth 制作漂亮的 IoT 仪表板的教程,  Zerynth 应用程序 是一个移动应用程序,可以  为您的 IoT 项目快速制作图形界面原型 。 通过 Zerynth 应用程序,您可以使用 HTML 、  CSS 和 JavaScript运行漂亮的响应式图形用户界面无需 AndroidiOS 代码!

特别是,Zerynth 应用程序支持Zerynth 供电设备和您的移动设备之间的双向通信通道。我们已经了解了如何从 Zerynth 驱动的设备发送数据并将 Zerynth 应用程序用作远程显示器。 您可以将本教程视为同一枚硬币的另一面:我们将了解如何通过用作遥控器的 Zerynth 应用程序控制您的设备。

开始吧!

所需材料

首先,你需要一块板子。您可以选择 Zerynth 支持的 32 位微控制器设备之一我们选择了Particle Photon ,这是一款非常流行的支持 Wi-Fi 的开发板,用于创建 IoT 项目。

您还需要一个Adafruit Neopixel 环(或条带)和一个面包板

最后但并非最不重要的一点是,您需要:

  • Zerynth Studio是我们强大的 IDE,用于支持物联网的 Python 嵌入式编程。你可以 在这里下载

组装

只需将 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 STUDIO PRO

通过Zerynth 学院

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费