電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Python和JQWidgets控制Adafruit NeoPixels

使用Python和JQWidgets控制Adafruit NeoPixels

2022-11-10 | zip | 0.56 MB | 次下載 | 免費

資料介紹

描述

使用 Python 和 JQWidgets 控制 Neopixels

低功耗無線標準與低成本和超小型 LED 相結(jié)合,使智能照明解決方案成為物聯(lián)網(wǎng)家庭自動化?的催化劑。

在本教程中,我們將了解如何使用PythonJQWidgets通過移動設(shè)備控制 Adafruit NeoPixel環(huán)。特別是,我們將看到如何使用Zerynth Studio?在 Python 中對基于微控制器的板進行編程,以及如何使用?Zerynth App?運行基于 JQWidget 的 GUI。

為什么使用 Zerynth App 來遠程控制 Neopixels

如果您錯過了?如何使用 Zerynth 制作漂亮的 IoT 儀表板的教程,? Zerynth 應(yīng)用程序?是一個移動應(yīng)用程序,可以??為您的?IoT 項目快速制作圖形界面原型?。?通過 Zerynth 應(yīng)用程序,您可以使用?HTML 、? CSS?和?JavaScript運行漂亮的響應(yīng)式圖形用戶界面。無需 AndroidiOS 代碼!

特別是,Zerynth 應(yīng)用程序支持Zerynth 供電設(shè)備和您的移動設(shè)備之間的雙向通信通道。我們已經(jīng)了解了如何從 Zerynth 驅(qū)動的設(shè)備發(fā)送數(shù)據(jù)并將 Zerynth 應(yīng)用程序用作遠程顯示器。?您可以將本教程視為同一枚硬幣的另一面:我們將了解如何通過用作遙控器的 Zerynth 應(yīng)用程序控制您的設(shè)備。

開始吧!

所需材料

首先,你需要一塊板子。您可以選擇?Zerynth 支持的 32 位微控制器設(shè)備之一。我們選擇了Particle Photon ,這是一款非常流行的支持 Wi-Fi 的開發(fā)板,用于創(chuàng)建 IoT 項目。

您還需要一個Adafruit Neopixel 環(huán)(或條帶)和一個面包板

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

  • Zerynth Studio是我們強大的 IDE,用于支持物聯(lián)網(wǎng)的 Python 嵌入式編程。你可以?在這里下載

組裝

只需將 USB 供電的 Particle Photon 放在面包板上并將其連接到 Neopixel 環(huán),如下所示:

  • Neopixel +5V 至 Particle Photon 的 Vin 引腳
  • Neopixel GND 到 Particle Photon 的 GND 引腳
  • Neopixel“數(shù)據(jù)輸入”引腳到粒子光子的數(shù)字引腳

如果您想使用更多 Neopixels 或者您想以不同的方式為系統(tǒng)供電,請注意您可以在此處找到的信息:?基本連接、?最佳實踐、?為 NeoPixels 供電。

編程

安裝 Zerynth Studio?并?創(chuàng)建 Zerynth 用戶后,您?必須注冊并虛擬化開發(fā)板。查看Particle Photon 的 Zerynth 官方文檔以快速入門。

現(xiàn)在您可以開始用?Python對您的電路板進行編程了!

創(chuàng)建一個新項目?并編輯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)

當(dāng)然,您必須編輯您要連接板子的wifi網(wǎng)絡(luò)的SSID名稱和密碼。

此外,您必須創(chuàng)建一個“已連接設(shè)備”并將“zerynthapp”實例鏈接到它。然后您必須創(chuàng)建模板并將其鏈接到項目。請查看本教程的“創(chuàng)建和設(shè)置連接的設(shè)備”和“創(chuàng)建、上傳和設(shè)置模板”步驟以?了解更多詳細信息。

index.html文件應(yīng)如下所示

<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>

此時,您可以?將腳本上傳到您的設(shè)備。

最后,正如您在?這個非常簡短的教程中所讀到的,您只需打開 Zerynth 應(yīng)用程序,登錄并選擇特定設(shè)備即可查看您的 GUI。

Zerynth Stack 的一個獨特功能是 Web 2.0 技術(shù)與連接設(shè)備的集成。通過將設(shè)備鏈接到模板(可以像單個靜態(tài)網(wǎng)頁一樣簡單,也可以像響應(yīng)式網(wǎng)站一樣復(fù)雜),可以在 Zerynth 應(yīng)用程序或單擊眼睛圖標的臺式計算機上遠程監(jiān)控和控制設(shè)備如您在此處看到的,在設(shè)備名稱的右側(cè)。

?

為智能照明系統(tǒng)啟用固件無線 (FOTA) 更新

一旦你建立了你的智能照明系統(tǒng),你就不想拆卸所有東西來升級固件。

為滿足此規(guī)范,Zerynth在Zerynth Studio PRO版本中包含了“ Firmware Over-the-Air ”功能??,該功能還包括以下功能:

  • 可選擇的實時操作系統(tǒng)
  • 省電
  • 硬件驅(qū)動的安全固件以工業(yè)量在設(shè)備上燒錄
  • …以及更多

探索 ZERYNTH STUDIO PRO

通過Zerynth 學(xué)院

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  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元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  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十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費