From Chip to Cloud
Python物联网全栈开发实践 - 刘凯
Page 1
目录
1
3
5
前言
设备端开发与选型
Python网关开发
2
4
6
Python与IoT全栈开发
Python设备端开发
Python服务器端开发
2
01 前言
前言
Python开发经历:货架标签、医疗设备、农业大田、房屋短租
• 个人简历与技术栈演变:ASM/C/C++/Java, Perl/PHP/Python/JavaScript
•
• 精益创业与MVP:快速构建原型,根据反馈快速迭代,构建业务生态,迭代速度最重要
• 全栈开发与团队合作:减少编程语言,单一编程语言实现所有环节过于单薄
4
02 Python与IoT全栈开发
物联网端到端模型
6
物联网与互联网差异
• 开发环节:物联网增加了设备相关的设备域开发;
• 人机交互:没有标准显示组件,不支持现有UI组件,需要NUI、智能传感器
• 接入协议:设备能力受限,需要支持MQTT/CoAP/TCP/UDP套接字;
• 安全特性:设备能力受限,无法支持RSA2048算法TLS;
• 数据特点:物联网上传流入流量远远大于流出流量;
• 实时要求:物联网隐含实时要求,流入数据需要支持实时检索、处理、统计;
• 规模受限:物联网应用规模受限于设备接入数量,资金、库存、生产、销售压力更大;
• 沉没成本:物联网是重资产业务,互联网是轻资产业务;
• 生命周期:硬件设备是生命周期要远远长过互联网产品;
• 团队组成:硬件团队与互联网团队文化融合。
7
Python是物联网系统的胶水语言
Python有许多实现(Implementations),能够与多种语言进行交互,尤其适合系统整合
•
• CPython与C/C++:通用计算加速、DLL二次开发、设备驱动、桌面、Web、运维、脚本
•
•
•
• 嵌入式C/HDL:寄存器/晶体管级原型开发、固件、DSP、GPU、NLP、机器学习
•
Jython与Java/JVM:大数据,GUI、网关、移动APP
IronPython与C#:Windows应用、DLL二次开发、系统整合
JavaScript:前端、Web可视化、JS爬虫
From Chip to Cloud,完整产业链的全栈开发,通用语言的综合优势
8