blynk python/micropython库
blynklib的Python项目详细描述
blynk python库
这个库提供了api,用于将支持micropython/python的物联网硬件连接到blynk云,并与blynk应用程序(ios和android)进行通信。您可以发送原始和处理的传感器数据,并远程控制任何连接到您的硬件(继电器,电机,伺服)从世界任何地方。
Blynk是最流行的物联网平台用于将硬件连接到云,设计应用程序来控制它们,并按比例管理部署的设备。
使用blynk库,您可以将400多个硬件型号(包括esp8266、esp32、nodemcu、all arduino、raspberry pi、particle、texas instruments等)连接到blynk云。 可找到受支持硬件的完整列表here。
使用blynk apps for ios和android应用程序,只需在智能手机上拖放小部件,就可以轻松地为所有项目构建图形界面。这纯粹是一种所见即所得的体验:不需要在ios或android上编写代码。
硬件可以通过互联网连接blynk cloud(开源服务器),使用板上的硬件连接,或使用各种屏蔽(以太网、wifi、gsm、lte等)。blynk cloud为blynk的每个用户提供免费的。
安装blynk python库
通过python pip安装
检查系统中的python可用性。
python --version
排除兼容性问题的首选版本是Python2.7.9(或更高版本)或Python3.4(或更高版本)
如果python不存在,您可以从here下载并安装它。
注意:要在“sandbox”中运行python,可以尝试virtualenv模块。检查this document如何操作。
如果您使用的是上述python的首选版本,那么默认情况下,pip将随python一起安装。
检查PIP可用性:
pip --version
安装Blynk库
sudo pip install blynklib
手动安装
检查系统中的python可用性。
python --version
排除兼容性问题的首选版本是Python2.7.9(或更高版本)或Python3.4(或更高版本) 如果python不存在,您可以从here下载并安装它。
注意:要在“sandbox”中运行python,可以尝试virtualenv模块。检查this document如何操作。
如果您使用的是上述python的首选版本,那么默认情况下,pip将随python一起安装。 检查PIP可用性:
pip --version
安装Blynk库
sudo pip install blynklib
库可以从git源本地安装:
git clone https://github.com/blynkkk/lib-python.git cd lib-python pip install --user -e . # sudo pip install -e . # if installation needed not for current but for all users
测试
您可以使用以下命令在cpython系统上运行单元测试:
python setup.py test
注意:micropython env的单元测试尚不可用。
micropython安装
一些硬件平台可以使用Micropython包。 这有助于在实际硬件之外对代码进行初步测试和调试。支撑平台 相关的安装文档可以在here找到。
功能
这个库支持python2、python3和micropython。
- 与公共或本地的通信Blynk Server。
- 在硬件和应用程序之间交换任何数据
- 经测试适用于:覆盆子皮(任何)、ESP32、ESP8266
可用操作列表:
- 订阅连接/断开连接事件
- 订阅virtual pins 的读/写事件
- Virtual Pin写入
- Virtual Pin同步
- 发送移动应用推送通知
- 发送电子邮件通知
- 发送Twitter通知
- 根据硬件输入更改blynk应用程序中的小部件gui参数
快速启动
- 如上所述安装blynk python库
- 安装Blynk应用程序: Google Play| App Store
- 使用您的电子邮件地址在Blynk应用程序中创建新帐户
- 在Blynk应用程序中创建新项目
- 您将获得验证令牌传递到您的电子邮件帐户。
- 将此身份验证令牌放在python脚本中,以在public或local上对设备进行身份验证
BLYNK_AUTH='<YourAuthToken>'#insert your Auth Token here
用法示例
importblynklibBLYNK_AUTH='<YourAuthToken>'#insert your Auth Token here# base lib initblynk=blynklib.Blynk(BLYNK_AUTH)# advanced options of lib init# from __future__ import print_function# blynk = blynklib.Blynk(BLYNK_AUTH, server='blynk-cloud.com', port=80, heartbeat=10, rcv_buffer=1024, log=print)# register handler for Virtual Pin V22 reading by Blynk App.# when a widget in Blynk App asks Virtual Pin data from server within given configurable interval (1,2,5,10 sec etc) # server automatically sends notification about read virtual pin event to hardware# this notification captured by current handler @blynk.handle_event('read V22')defread_virtual_pin_handler(pin):# your code goes here# ...# Example: get sensor value, perform calculations, etcsensor_data='<YourSensorData>'critilcal_data_value='<YourThresholdSensorValue>'# send value to Virtual Pin and store it in Blynk Cloud blynk.virtual_write(pin,sensor_data)# you can define if needed any other pin# example: blynk.virtual_write(24, sensor_data)# you can perform actions if value reaches a threshold (e.g. some critical value)ifsensor_data>=critilcal_data_valueblynk.set_property(pin,'color','#FF0000')# set red color for the widget UI element blynk.notify('Warning critical value')# send push notification to Blynk App blynk.email(<youremail@email.com>,'Email Subject','Email Body')# send email to specified address# main loop that starts program and handles registered eventswhileTrue:blynk.run()
其他示例
可以找到示例here全部检查它们以熟悉blynk api的主要功能。
核心业务:
- 01_write_virtual_pin.py:如何将blynk应用程序的传入数据读取到虚拟pin并在代码中使用它
- 02_read_virtual_pin.py:如何更新虚拟pin上的值
- 03_connect_disconnect.py:管理与blynk cloud的连接
- 04_email.py:如何从硬件发送电子邮件和推送通知
- 05_set_property_notify.py:如何更改一些小部件ui属性,如颜色、标签等
- 06_terminal_widget.py:通过终端小部件在硬件和应用程序之间进行通信)
- 07_tweet_and_logging.py:如何在twitter上发布和记录硬件中的事件
- 08_blynk_timer.py:如何使用Blynk Timer定期从硬件发送数据
- 09_sync_virtual_pin.py:如何同步虚拟管脚状态和属性
覆盆子皮(任何):
- 01_weather_station_pi3b.py连接dht22;bmp180传感器并将数据发送到blynk应用程序
ESP32
先读ESP32 guide。
- 01_touch_button.py将ttp223b触摸传感器连接到esp32并对触摸作出反应
- 02_terminal_cli.py通过终端小部件在esp32硬件和应用程序之间进行通信
- 03_temperature_humidity_dht22.py将dht22传感器连接到esp32并将数据发送到blynk应用程序
ESP8266
- 01_potentiometer.pyc将电位计连接到ESP8266并将电阻值发送到应用程序
内存大小限制
对于内存大小有限的硬件(例如esp8266),可以使用冻结模块或冻结字节码方法 将blynklib或任何其他库加载到硬件。
阅读this document以获取更多信息。
文档和其他有用链接
Full Blynk Documentation-关于blynk功能的完整指南
Community (Forum)-加入500000 blynk社区,提出问题并分享想法
Help Center-关于各种blynk方面的有用文章
Code Examples Browser-浏览示例以探索blynk的可能性
社交媒体:
其他平台的blynk库
- C++
- Node.js, Espruino, Browsers
- Python(作者volodymyr shymanskyy)
- Particle
- Lua, OpenWrt, NodeMCU
- OpenWrt packages
- MBED
- Node-RED
- LabVIEW
- C#
贡献
我们非常欢迎您的贡献:稳定性错误修复、新的硬件支持或任何其他改进。拜托。
许可证
此项目在麻省理工学院许可证(MIT)下发布。