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

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

[复制链接]
木木&点点 发布时间:2019-4-2 18:01
本帖最后由 点点&木木 于 2019-4-12 09:14 编辑
6 M1 f& ~& M" a' A3 k/ n
+ h% Z+ p8 i: m3 Z. p# a
智能照明是物联网的催化剂。在本教程中,我们将了解如何使用Zerynth App通过移动设备控制NeoPixelLED。
) \! j% a' N) |2 X' ~* V

6 Y. B4 ~$ J! _7 e$ n' g) O1 e
1.jpg

: q  V& Y2 C- z7 G: B( e" B1 }7 q+ p3 D0 l& d2 s
0 `$ A5 p: H/ r- U# P
这个项目中使用的东西
硬件组件
Zerynth Shield    ×     1      
Arduino     ×      1      
STM32 Nucleo ST NUCLEO     ×         1      
粒子光子    ×     1      
UDOO DUAL       ×       1      
Adafruit NeoPixel ×       1

/ O5 Q. y& b( |8 `) c
低功耗无线模块与低成本,超小型LED,传感器和通信设备相结合,使智能照明成为物联网和家庭自动化的催化剂。
2 W- W8 E! b+ n
在本教程中,我们将了解如何使用Zerytnh应用程序通过移动设备控制NeoPixelLED灯条,该应用程序可实现颜色的选择和各种预配置动画的菜单的选择。
1 p, W. ?; R: F8 ?) q9 q5 n! i

1 @3 a3 Q3 s: z: Y/ A- S
第1步:所需材料
+ V# i4 i, J5 [5 e) ?

( u4 d3 j$ p) j- t4 c! _% R4 d
2.1.jpg
TOI盾和uC板

( s! o) [9 R9 l2 m/ \, o& m; C! i9 f" ^/ c1 u
+ Q+ K9 L# s4 u( f0 J8 O% U
2.2.jpg
WiFi盾
. b7 j* a# F" E! F: Q" ?: J8 b

# @, ~/ u1 t) z8 G- s
+ g5 h* i7 l; l3 ^" t8 F
2.3.jpg
5 B) N. \3 M. ?
$ l+ k5 C. r& i2 J' h% C
! D# g9 q# f9 K% P( g
2.4.jpg
Neopixel

- n( C) \6 {  \4 X" f* ~+ A0 d
  ]- e8 R. ^1 N- o
' X  J/ ^- Z( t) o- [8 H* `
2.5.jpg
玻璃灯
0 w0 \0 \$ g" Y. a. s# N
9 T3 r3 E$ ^0 ]8 m9 h; E+ N4 L  D$ W
+ p& x8 N! O! r/ @6 F3 ]8 C* Z- ]9 l
该项目需要的内容很少:

% H( x! }/ C2 z9 L1 ]  W
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印刷灯。

4 U( E# U) v: R  Z( O1 E! Y$ t+ ^0 l- J/ Q4 f* `% w

1 S  m5 k, p6 a( F& B9 E
第2步:组装
! [- S- ~9 y# z' K3 f7 D& R% u
3.jpg

. H$ B+ [5 {: t  Y+ F; V, q5 M
1 i" \& {* U: V' C( }1 T/ D8 p5 n( w9 z
     接下来,只需将wifi Shield和Zerynth Shield搭载到你的Arduino(或ST Nucleo或UDOO)上。只需LED将它背负在ZerynthShield上的专用连接器上。
将NeoPixel LED连接到ZerynthShield上的相关端口。最后将所有电路板和LED都放入灯泡中。

  p# G) w8 H4 m/ P, U/ \5 I( H% d& H( g5 x9 O! t, X; m3 D$ R* Q

$ F  ^4 P$ r/ G5 j. c1 E& b) h
第3步:编程

+ \/ P! m1 C0 r
4.jpg

* u2 r: \9 k% i' t) {7 g1 k/ k4 t: c; Q: E
使用Zerynth非常简单!
' P& w$ z9 f4 Q/ r2 \& E$ G; Y) y
连接并“虚拟化”您的电路板(已在此处解释 http://bit.ly/Hackster-VIPER-Theremin )
在Zerynth中创建一个新项目(已在此处解释  http://bit.ly/Hackster-IoT-Notes-Printer )。注意:您需要创建3(+1)个文件:main.py,animation.py,template.html(和project.md)
复制发布的代码
上传你电路板上的代码,你就完成了!
打开灯后,它将自动连接到预设网络。
. \- h2 h/ i7 U2 H1 B# m' ]
然后只需打开Zerynth应用程序,它将搜索连接到网络的Zerynth对象,选择感兴趣的对象,在本例中为“Zerytnh Lamp”,您可以与它进行交互!在这种情况下,Zerynth应用程序显示颜色选择器和用于选择各种预配置动画的菜单。
+ `$ r0 q5 X. R& g6 o6 W1 H
代码非常简单,有很多注释。
- X  o; r0 X5 e: \

# N" ?" h* f! C5 k
第4步:让物联网更加明亮!

5 j. a  G5 Z% ~; z' T7 ]1 x6 U! m% H/ v2 s+ }+ {# n8 J7 r$ a7 w
5.png
1 ?& I+ D! g2 ~: Z1 M

7 k& x+ @9 |  L3 d
7 D0 U9 H0 R; j2 W( S: v- g. B4 a* ]. ^. b9 y
Zerynth Shield提供一套传感器和执行器,包括用于触摸检测的传感器,红外LED,麦克风,光传感器和温度传感器。您可以从这个非常简单的示例代码开始,以开发您喜欢的东西。使用Zerynth Shield扩展灯泡的功能!

6 a* V- c% d& C1 ^; Q! C, b. k' H; R5 f3 {* X
: f2 K7 J' r. |& j& A  Z" H1 H
原理图

; L* Y6 P5 y% ?6 J7 e* i  a6 ^! M1 P! y4 O: Y" K3 |$ }) i$ Q+ p- q+ {
代码
' W& W; q1 L5 H5 Q- d3 N. l' R
################################################################################
# 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)

# q" F) W: y% D; ]- {( s8 a6 O7 x/ @6 I4 N& a0 x; p# C2 R

/ [4 S# f# \9 _- O9 d' q, T8 ^1 \
赞 收藏 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 手机版