你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于Zerynth和STM32构建的物联网环境光

[复制链接]
木木&点点 发布时间:2019-4-2 18:01
本帖最后由 点点&木木 于 2019-4-12 09:14 编辑
- V6 ^4 z4 @/ h% y% p! ]4 P! @6 n7 Q- Z' z
智能照明是物联网的催化剂。在本教程中,我们将了解如何使用Zerynth App通过移动设备控制NeoPixelLED。

; N) D' M3 @( ~* ?/ y7 y" u# |5 s+ `9 C( P% f9 k. ~9 E: E
1.jpg
1 d, h# p4 V! Y0 O
& k: j3 N! ^5 f$ P( ^  ^4 \

( b% c9 F; V' a" D
这个项目中使用的东西
硬件组件
Zerynth Shield    ×     1      
Arduino     ×      1      
STM32 Nucleo ST NUCLEO     ×         1      
粒子光子    ×     1      
UDOO DUAL       ×       1      
Adafruit NeoPixel ×       1

/ p% J/ c( o/ q6 ^' V* ^
低功耗无线模块与低成本,超小型LED,传感器和通信设备相结合,使智能照明成为物联网和家庭自动化的催化剂。

6 q' t1 C* r' M% r7 U8 o1 q$ q
在本教程中,我们将了解如何使用Zerytnh应用程序通过移动设备控制NeoPixelLED灯条,该应用程序可实现颜色的选择和各种预配置动画的菜单的选择。
) a; z6 M# [' [6 R* w( }8 C
" k9 o, K- N6 |' y& T9 C0 {
第1步:所需材料
5 }4 n( X3 g% q- ?1 |
' c7 H" Y7 P" j! ^
2.1.jpg
TOI盾和uC板
# \& T9 I# N: X. I5 y! z/ z! |
) }& ^1 T4 c# e0 n6 Z" p
3 M7 d2 w( S$ s9 k* m$ r/ B, `7 O
2.2.jpg
WiFi盾

; q6 u4 x& O# V, [6 D
$ [) q  `# ~8 i' R
( m) f; Q, l1 L/ ^) n! m
2.3.jpg

7 Q7 U! G  a3 ^  M
* F; i5 d7 Q8 n1 O) G  J) I
& \( k$ Z' T) J9 o. j" s, \! W
2.4.jpg
Neopixel

0 W% A6 D! t1 S1 t. [& C4 C& p9 ]; _+ h
" m) Y% T2 M( l* c- }0 U7 _# o
2.5.jpg
玻璃灯

. f- S& Z6 d& v! ]" g
, H4 r" ?( C) a
1 Q1 K2 O* q) ]
该项目需要的内容很少:

3 f: K2 p4 B$ K, J! b* N. l. G7 ^# k
Zerynth Studio :一个基于多平台和浏览器的Python开发环境,其具有云同步和电路板管理功能。无论你使用哪种操作系统,Zerynth都会运行!只需下载Zerynth并安装它(http://www.zerynth.com/zerynth-studio/ )。
Zerynth App:用于智能对象和物联网系统的Zerynth移动界面。任何手机都将成为对象显示和遥控器。下载地址:http ://www.zerynth.com/zerynth-app/
Zerynth Shield (可在此处获取:https ://store.open-electronics.org/index.php?_route_ = Shield_ZERYNTH&search = toi )。随时可用的多传感器板,为您的日常生活物品增添智能功能。
Arduino DUE 或ST NucleoF401RE 或ParticlePhoton 。无论您使用哪种主板,Zerynth都能实现多板兼容的!您可以在此处找到所有支持的电路板详细信息:http ://www.zerynth.com/zerynth-studio/
如果你不使用粒子光子(内置WiFi模块),您需要将电路板连接到网络,如元素的WiFi盾的Adafruit的。您也可以使用任何其他适配器并安装无线芯片CC3000 Texas Instruments 来实现。(http://www.ti.com/product/cc3000 )。
来自Adafruit 的NeoPixel LED 条(或环)(可在此处获取http://www.adafruit.com/products/1426 )。一个玻璃或3D印刷灯。

& l1 f. z6 o( N! }$ F
4 M$ l* W% K1 y0 g( Y. d; z! f! C. D  l4 h2 E5 J$ A5 p1 s
第2步:组装
7 u  e) c8 }& y: o3 u5 u0 n& d
3.jpg

8 ]4 I% V7 a/ k3 ]( }% _; L; ]) p- K; y
. S$ P- S, W" a* v( K1 p8 \  m' p+ D0 S3 N' n& a1 I+ Z0 ^" K
     接下来,只需将wifi Shield和Zerynth Shield搭载到你的Arduino(或ST Nucleo或UDOO)上。只需LED将它背负在ZerynthShield上的专用连接器上。
将NeoPixel LED连接到ZerynthShield上的相关端口。最后将所有电路板和LED都放入灯泡中。

. C, a4 V1 L+ ~3 S- A' {* L
7 |& h) {9 `( @5 z/ Q3 A; j: X- A0 B; }5 _7 m& M# ^" A
第3步:编程

& Y1 w8 P* E; j+ z2 q( g
4.jpg
9 }6 V& u: c: Z
1 l2 J9 B; t$ z  C
使用Zerynth非常简单!
5 w0 k4 q: e% t; f' e, [) z3 n  a* w
连接并“虚拟化”您的电路板(已在此处解释 http://bit.ly/Hackster-VIPER-Theremin
在Zerynth中创建一个新项目(已在此处解释  http://bit.ly/Hackster-IoT-Notes-Printer )。注意:您需要创建3(+1)个文件:main.py,animation.py,template.html(和project.md)
复制发布的代码
上传你电路板上的代码,你就完成了!
打开灯后,它将自动连接到预设网络。

0 W9 R4 o- t( {1 F) ?4 m; _/ ]
然后只需打开Zerynth应用程序,它将搜索连接到网络的Zerynth对象,选择感兴趣的对象,在本例中为“Zerytnh Lamp”,您可以与它进行交互!在这种情况下,Zerynth应用程序显示颜色选择器和用于选择各种预配置动画的菜单。
2 O  }; D$ z; H! R7 r7 Z, k
代码非常简单,有很多注释。

% ~4 E* O8 S8 o. g, |9 D0 W( G% U! v( l! w+ Y+ o
第4步:让物联网更加明亮!
; ^+ x8 _, W  s1 M* i1 N0 y

/ I/ w6 k; T' c6 t* v9 }, V% ~
5.png
) U0 Q8 c0 g1 C. q; _1 Q$ |1 m* s5 K
# K* P6 P3 M) O
" m$ O7 o2 G+ }/ }

8 j) C3 k* E: L+ U. E) j* I
Zerynth Shield提供一套传感器和执行器,包括用于触摸检测的传感器,红外LED,麦克风,光传感器和温度传感器。您可以从这个非常简单的示例代码开始,以开发您喜欢的东西。使用Zerynth Shield扩展灯泡的功能!

. g, `  p. ~5 G1 Y
& R3 E' i! ~% n# B9 [# u
4 {, S# J3 E# z3 @# g' U
原理图
. Q( n' N9 `  m
3 ?0 f( `7 b; R$ ]
代码

7 V8 P' q1 ~2 O! m" p0 ?& t* G
################################################################################
# Zerynth Lamp
#
# Created by Zerynth Team 2015 CC
# Authors: G. Baldi, D. Mazzei
################################################################################
# import needed modules
import streams
from bcm43362 import bcm43362 as wifi_driver
from wireless import wifi
import animation
from toishield  import toishield
# and import the zerynthapp module
from zerynthapp import zerynthapp
streams.serial()
# connect to a wifi network
try:
   wifi_driver.auto_init()
    print("Establishing Link...")
   wifi.link("SSID",wifi.WIFI_WPA2,"password")
    print("Ok!")
      
except Exception as e:
    print(e)
# save the template.html in the board flashwith new_resource
new_resource("template.html")
#### ZerynthApp Setup
# :: Javascript to Python ::
# the following functions will be calledwhen buttons are pressed
def change_color(r, g, b):
   animation.setup_color(r, g, b)
def change_animation(n):
   animation.setup_anim(n)
def change_speed(n):
   animation.setup_anim_speed(n)
# configure the Zerynth app with a name, adescripton and the template url
vp = zerynthapp.ZerynthApp("Zerynth Lamp", "Try me!", "resource://template.html")
# everytime Javascript generates events thecorresponding functions are called
vp.on("change_color", change_color)
vp.on("change_animation", change_animation)
vp.on("change_speed", change_speed)
# run the ZerynthApp!
vp.run()
# since vp.run starts a new thread, you cando whatever else you want down here!
# let's control leds
animation.start(D6, 24)
6 t$ T) j! X6 P0 I) M1 S7 @# M, l
( ^* }  O7 |# N

' C, h  W+ A) ^4 Z0 s0 q
收藏 1 评论1 发布时间:2019-4-2 18:01

举报

1个回答
Kevin_G 回答时间:2019-4-3 10:17:31
点赞

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版