本文首发于 just4funhtml
一直以来想本身打造一款物联网产品。python
围绕这个话题写过一些文章:git
以前在一辆树莓派可编程小车的问题讨论过,构建一个demo是容易的。但构建一个用户开箱可用的物联网产品,周期却会很长,涉及的技术链条也很是长: 后端、客户端、设备,而技术链条上的每一环上,又有许多特定的困难在等候着。github
近年来开发者生态正在改善。编程
如嵌入式领域的设计顾问JAY CARLSON所言:后端
In 2017, we saw several new MCUs hit the market, as well as general trends continuing in the industry: the migration to open-source, cross-platform development environments and toolchains; new code-generator tools that integrate seamlessly (or not so seamlessly…) into IDEs; and, most notably, the continued invasion of ARM Cortex-M0+ parts into the 8-bit space.api
如JAY CARLSON所观察到的,开源已经深深地影响了硬件领域,极大改善了这个领域的开发者生态。安全
由于有了大量拥抱开源的组织和我的,他们贡献了大量开源项目和文档(咱们在物联网相关开源项目整理作了梳理)。今天,咱们再涉足这个领域,要比前人轻松不少。app
这篇笔记记录了我用blynk构建一个项目的过程。less
为了演示的清晰,就不把树莓派和控制的设备加入进来,一来许多开发者桌面上没有树莓派,二来也增长了无谓的复杂度。本文侧重记录完整的过程,方便后来者实践时,卡壳的时候找到方向。
blynk是很是优秀的开放平台。
咱们在物联网相关开源项目整理提到过它。
Blynk是一个与硬件无关的物联网平台,具备可定制的移动应用程序、私有云、规则引擎和设备管理分析仪表盘。
在blynk平台中,经过可视化拖拽,你就能建立一个可发布到Google play或App Store的应用。blynk开源了若干项目,开源地址在 github.com/blynkkk
,若是担忧本身的数据安全,能够自行搭建server。blynk默认支持400多款硬件,其中不少是开源硬件,全部的硬件驱动,blynk都开源出来了!
blynk几乎一条龙服务,帮助你构建本身的物联网产品。
咱们来试试在五分钟里构建一个物联网产品!
个人本地环境是:
固然你能够在任何平台下作实验,只要有Python就行。
pip3 install blynklib
在官方的教程中(Build your first IoT app in five minutes),能够选择的硬件很是多, 超过了400款,详情见: Supported Hardware
为了方便,咱们使用模拟引脚(能够理解为一种软件模拟),不使用真实的硬件,但若是你身边有树莓派或者micropython兼容版(ESP32/ESP8266),你也熟悉它们,固然也可使用。原理是并没什么区别。
咱们在本地运行官方的demo: 01_write_virtual_pin.py
import blynklib
BLYNK_AUTH = 'YourAuthToken'
# initialize Blynk
blynk = blynklib.Blynk(BLYNK_AUTH)
WRITE_EVENT_PRINT_MSG = "[WRITE_VIRTUAL_PIN_EVENT] Pin: V{} Value: '{}'"
# register handler for virtual pin V4 write event
@blynk.handle_event('write V4')
def write_virtual_pin_handler(pin, value):
print(WRITE_EVENT_PRINT_MSG.format(pin, value))
###########################################################
# infinite loop that waits for event
###########################################################
while True:
blynk.run()
复制代码
为了让上边代码可用,须要为BLYNK_AUTH
设置好你的Auth Token
,Auth Token怎么获得呢? 答案是经过建立客户端应用获得。咱们在稍后会介绍怎么作。
随便选一个blynk兼容的板子,加载blynk提供的驱动库,使用起来就像blynklib
同样便捷。能够看出通讯工做都由blynklib
抽象掉了,咱们只需使用一致的API编程接口便可。blynk的开放性让咱们不要担忧被平台绑架。除了驱动库是开源的,blynk后端也是开源的,若是你关心数据安全,彻底能够部署本身的后端。
为了获得Auth Token
,咱们要建立本身的客户端应用。
在blynk中建立客户端应用极为简单, 拖拽便可!
在App Store/Google Play里下载Blynk
, 完成注册后,建立项目
建立完项目后,你就能看到Auth Token
点击E-Mail
,你就会收到一封email,其中带有Auth Token
将Auth Token
贴到前头的python程序中,运行它便可!当程序运行自来以后(实际上等同于硬件在线),点击应用里的硬件图标,能够看到它处于在线状态
在手机界面中,拖出你须要的控件,在咱们的例子中,拖出Slider
控件,进入控件设置页面,选择虚拟引脚
,将其设为V4。
拖动控件,
成功控制了模拟引脚!
继续添加更多的功能,当作完本身的App,你可能想替换上本身的LOGO、产品名、发布到App Store/Google Play,通通没有问题!
参考:
使用Blynk构建一个产品的流程十分清晰简易。
Blynk能让你在彻底免费状态下,快速验证原型,快速让用户体验到完整的产品,以后待你付诸商业实践,Blynk也提供了敏捷的自助方案。
物联网产品的整个生命周期里: 原型制做、demo展现、交付产品、规模增加(从1到100w),Blynk都能提供很是棒支持,加上它的开放生态,无疑对开发者极具吸引力。