blynk python/micropython库

blynklib的Python项目详细描述


blynk python库

这个库提供了api,用于将支持micropython/python的物联网硬件连接到blynk云,并与blynk应用程序(ios和android)进行通信。您可以发送原始和处理的传感器数据,并远程控制任何连接到您的硬件(继电器,电机,伺服)从世界任何地方。

GitHub versionGitHub downloadGitHub starsGitHub issuesBuild StatusLicense

如果你喜欢blynk-给它一颗星星,或者用叉子叉它并贡献! GitHub starsGitHub forks

Blynk Banner

Blynk是最流行的物联网平台用于将硬件连接到云,设计应用程序来控制它们,并按比例管理部署的设备。

  • 使用blynk库,您可以将400多个硬件型号(包括esp8266、esp32、nodemcu、all arduino、raspberry pi、particle、texas instruments等)连接到blynk云。 可找到受支持硬件的完整列表here

  • 使用blynk apps for iosandroid应用程序,只需在智能手机上拖放小部件,就可以轻松地为所有项目构建图形界面。这纯粹是一种所见即所得的体验:不需要在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
    

手动安装

库可以从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参数

快速启动

  1. 如上所述安装blynk python库
  2. 安装Blynk应用程序: Google Play| App Store
  • 使用您的电子邮件地址在Blynk应用程序中创建新帐户
  • 在Blynk应用程序中创建新项目
  • 您将获得验证令牌传递到您的电子邮件帐户。
  • 将此身份验证令牌放在python脚本中,以在publiclocal上对设备进行身份验证
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的主要功能。

核心业务:
覆盆子皮(任何):

先读Raspberry Pi guide

ESP32

先读ESP32 guide

ESP8266

先读ESP8266 guide

内存大小限制

对于内存大小有限的硬件(例如esp8266),可以使用冻结模块冻结字节码方法 将blynklib或任何其他库加载到硬件。

阅读this document以获取更多信息。

文档和其他有用链接

Full Blynk Documentation-关于blynk功能的完整指南

Community (Forum)-加入500000 blynk社区,提出问题并分享想法

Help Center-关于各种blynk方面的有用文章

Code Examples Browser-浏览示例以探索blynk的可能性

Official Website

社交媒体:

FacebookTwitterYoutube

InstagramLinkedIn

其他平台的blynk库

贡献

我们非常欢迎您的贡献:稳定性错误修复、新的硬件支持或任何其他改进。拜托。

许可证

此项目在麻省理工学院许可证(MIT)下发布。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
由于外键约束,java数据库插入失败   java在对失败的测试用例截图时出错,并且它没有附加到扩展报告中   java FragmentPagerAdapter总是从第一页开始   java内存泄漏,当我将数据从一个树存储库复制到另一个ext js 4.1时   java确保带有特定注释的字段是“私有的”   Java如何将UTC毫秒转换为UTC日期   开源Java:Solaris上的AWT   java为什么BufferedReader只读取第一行?   执行数据库查询时,java JTable不会刷新   java 7中的下划线和二进制文字。!!!??   java使用STaX将xml转换为另一个xml需要很多时间   hadoop如何使用JavaAPI从hbase中的表中选择特定列   使用JLabel的java拖放   用于“绘制”pdf文件的pdf生成Java库   java getResourceAsStream返回null?   java在目标帧中打开窗口   滚动对象时,java鼠标光标不会改变   java有人能解释二进制搜索树中的递归delete()并帮我转换它吗